diff --git a/src/header.pug b/src/header.pug index 2c2ec9864e07ce12df24ef33ac96fb0a6bc3f8c3..3e47e558c5d96dbd830d3f38ffeed07206e4c786 100644 --- a/src/header.pug +++ b/src/header.pug @@ -24,6 +24,9 @@ details#user-controls #user-controls__panel include page-user-panel.pug +.mobile-menu-icon + button.icon-menu + button(role='log in' onclick="document.querySelector('sib-auth').login();") Login sib-auth diff --git a/src/styles/abstracts/_mixins.scss b/src/styles/abstracts/_mixins.scss index 741219e31331057b1547a2dc770bf07e939f4aae..3ff49c71aba1d32c7d47059435d5e1728f1a51c7 100644 --- a/src/styles/abstracts/_mixins.scss +++ b/src/styles/abstracts/_mixins.scss @@ -1,4 +1,58 @@ @mixin window-style-modal($background: $color-0-0-100, $shadow: hsla(212, 7%, 55%, 0.19)) { box-shadow: 0 0 8px 0 $shadow; background-color: $background; -} \ No newline at end of file +} + +@mixin breakpoint($min: 0, $max: 0) { + $type: type-of($min); + + @if $type==string { + @if $min==xs { + @media (max-width: 768px) { + @content; + } + } + + @else if $min==sm { + @media (max-width: 1024px) { + @content; + } + } + + @else if $min==md { + @media (max-width: 1200px) { + @content; + } + } + + @else if $min==lg { + @media (min-width: 1201px) { + @content; + } + } + + @else { + @warn "Beware ! Breakpoints mixin supports xs, sm, md, lg"; + } + } + + @else if $type==number { + $query: "all" !default; + + @if $min !=0 and $max !=0 { + $query: "(min-width: #{$min}) and (max-width: #{$max})"; + } + + @else if $min !=0 and $max==0 { + $query: "(min-width: #{$min})"; + } + + @else if $min==0 and $max !=0 { + $query: "(max-width: #{$max});" + } + + @media #{$query} { + @content; + } + } +} diff --git a/src/styles/base/header.scss b/src/styles/base/header.scss index 51cc2afd24f3c6492a833b6187ce138364cb0d7d..6d1e7b52b6bef2789581e2f1be8e350011042a67 100644 --- a/src/styles/base/header.scss +++ b/src/styles/base/header.scss @@ -168,6 +168,10 @@ &::before { margin-left: 1.5rem; } + + @include breakpoint(sm) { + display: none; + } } } } @@ -236,5 +240,13 @@ } } } + + .mobile-menu-icon { + display: none; + + @include breakpoint(sm) { + display: block; + } + } } diff --git a/src/styles/base/menu-left.scss b/src/styles/base/menu-left.scss index 35a6246601d0456b14d464f4d914b9d589c5f20a..f889e740568ab3d4bc509fd7c1e66a5dda4fc64f 100644 --- a/src/styles/base/menu-left.scss +++ b/src/styles/base/menu-left.scss @@ -188,4 +188,21 @@ background-color: $color-213-13-86; } } + + &.mobile-opened { + @include breakpoint(sm) { + bottom: 0; + min-width: 80%; + position: fixed; + right: 0; + top: 0; + z-index: 1; + } + } + + &.mobile-closed { + @include breakpoint(sm) { + display: none; + } + } }