diff --git a/header.php b/header.php index c5f6373..e6f6812 100644 --- a/header.php +++ b/header.php @@ -36,10 +36,14 @@
+ + + + - -
diff --git a/resources/css/app.css b/resources/css/app.css index 95cd162..b620950 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -53,6 +53,7 @@ @import './layout/section.css'; @import './layout/menu-renovateur.css'; @import './layout/menu-homegrade.css'; +@import './layout/menu-mobile-brand.css'; @import './layout/containers.css'; /* ###### EDITOR ##### */ diff --git a/resources/css/layout/menu-mobile-brand.css b/resources/css/layout/menu-mobile-brand.css new file mode 100644 index 0000000..95749e1 --- /dev/null +++ b/resources/css/layout/menu-mobile-brand.css @@ -0,0 +1,88 @@ +.menu-mobile-brand { + @apply py-4 + px-4 + lg:hidden + xl:px-8 + relative + flex + flex-wrap + items-center + justify-between + shadowed + lg:justify-center + xl:container + xl:mx-auto; + + &__interaction_toggles { + @apply order-2 lg:order-3 flex items-center justify-start gap-2 md:gap-4 xl:ml-auto; + } + + &__mobile-menu-toggle { + @apply lg:hidden flex items-center gap-4 px-4 md:px-8; + .toggle-icon { + /* transform: translate(0, 7px); */ + @apply w-6 h-4 relative opacity-80; + &__bar { + @apply bg-black w-full absolute; + + height: 3px; + } + &__bar--top { + top: 0; + transition: all 0.3s ease-in-out; + } + &__bar--middle { + top: 50%; + transform: translateY(-50%); + } + &__bar--bottom { + bottom: 0; + transition: all 0.3s ease-in-out; + } + } + + /* &:after { + @apply block w-8 h-8; + content: url('../resources/images/menu.svg'); + } */ + } + &__mobile-menu-toggle[aria-expanded='true'] { + .toggle-icon { + @apply relative; + &__bar--top { + top: 50%; + transform: translateY(-50%) rotate(45deg); + } + &__bar--middle { + opacity: 0; + } + &__bar--bottom { + top: 50%; + transform: translateY(-50%) rotate(-45deg); + } + } + } + + &__search-module-toggle { + @apply h-fit; + } +} + +header#main-header { + @apply flex-col; +} + +.menu-renovateur__interaction_toggles, +.menu-renovateur .website_logo { + @apply hidden; + @screen lg { + display: revert; + } +} + +@media screen and (max-width: 1024px) { + .menu-renovateur:not([opened]) { + @apply h-0 opacity-0; + transition: all 0.3s ease-in-out; + } +} diff --git a/resources/js/menus.js b/resources/js/menus.js index 34070bb..8d579c4 100644 --- a/resources/js/menus.js +++ b/resources/js/menus.js @@ -217,6 +217,8 @@ export default function menuInit() { HANDLE MOBILE -----------------------------------------------------------*/ const renovateurNavListContainer = header.querySelector('.menu-renovateur__navlist-container'); + const menuRenovateur = header.querySelector('.menu-renovateur'); + const menuMobileBrand = header.querySelector('.menu-mobile-brand'); const HomegradeNavListContainer = header.querySelector('.menu-homegrade'); function isMobileNavOpened() { return ( @@ -228,6 +230,7 @@ export default function menuInit() { function openMenu(menuContainer) { // Change Toggle expanded mobileMenuToggle.setAttribute('aria-expanded', 'true'); + menuMobileBrand.setAttribute('aria-expanded', 'true'); // Change Text button const textContent = mobileMenuToggle.querySelector('span.text-content'); @@ -239,6 +242,10 @@ export default function menuInit() { renovateurNavListContainer.removeAttribute('aria-hidden', ''); renovateurNavListContainer.setAttribute('opening', ''); + menuRenovateur.removeAttribute('closed', ''); + menuRenovateur.setAttribute('opened', ''); + menuRenovateur.removeAttribute('aria-hidden', ''); + renovateurNavListContainer.addEventListener( 'animationend', () => { @@ -248,6 +255,13 @@ export default function menuInit() { ); } + function openMobileBrand() { + if (!menuMobileBrand) return; + menuMobileBrand.removeAttribute('closed', ''); + menuMobileBrand.setAttribute('opened', ''); + menuMobileBrand.removeAttribute('aria-hidden', ''); + } + function openHomegrade() { HomegradeNavListContainer.removeAttribute('closed', ''); HomegradeNavListContainer.setAttribute('opened', ''); @@ -265,6 +279,7 @@ export default function menuInit() { openRenovateur(); openHomegrade(); + openMobileBrand(); } function closeMenu(menuContainer) { // Change Toggle expanded @@ -280,6 +295,10 @@ export default function menuInit() { renovateurNavListContainer.setAttribute('aria-hidden', ''); renovateurNavListContainer.setAttribute('closing', ''); + menuRenovateur.removeAttribute('opened'); + menuRenovateur.setAttribute('aria-hidden', ''); + menuRenovateur.setAttribute('closing', ''); + renovateurNavListContainer.addEventListener( 'animationend', () => { diff --git a/template-components/header/mobile-brand.php b/template-components/header/mobile-brand.php new file mode 100644 index 0000000..4333096 --- /dev/null +++ b/template-components/header/mobile-brand.php @@ -0,0 +1,38 @@ + + + \ No newline at end of file