nav - finish nav expanded dynamic columns

This commit is contained in:
isUnknown 2024-08-27 14:28:25 +02:00
parent 049f11e011
commit 220a6f4ada
6 changed files with 49 additions and 26 deletions

View file

@ -2,8 +2,6 @@
.expanded-nav, .expanded-nav,
.main-nav { .main-nav {
padding: 1rem;
padding-right: var(--space-m);
} }
/* Expanded nav */ /* Expanded nav */
@ -12,20 +10,27 @@
position: fixed; position: fixed;
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
top: -20rem; top: -32rem;
z-index: 2; z-index: 2;
background-color: var(--color-brown-light); background-color: var(--color-brown-light);
display: grid; display: grid;
grid-template-columns: 1fr 4fr 1fr; grid-template-columns: 2fr 8fr 1fr;
transition: top 0.5s var(--curve-quick-slow); transition: top 0.5s var(--curve-quick-slow);
padding: 2rem var(--space-m) 2rem 1rem;
border-bottom: var(--border);
} }
.expanded-nav.open { .expanded-nav.open {
top: 0rem; top: 0rem;
} }
.expanded-nav__logo-link {
height: fit-content;
}
.expanded-nav__columns { .expanded-nav__columns {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
row-gap: 6rem;
} }
.expanded-nav .close-btn { .expanded-nav .close-btn {
@ -68,6 +73,8 @@
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
border-bottom: var(--border); border-bottom: var(--border);
padding: 1rem;
padding-right: var(--space-m);
} }
.main-nav__right { .main-nav__right {

23
assets/js/functions.js Normal file
View file

@ -0,0 +1,23 @@
let handleClick;
function expandNav(nodes) {
nodes.expandedNav.classList.add("open");
nodes.burgerBtn.setAttribute("aria-expanded", true);
nodes.closeNavBtn.setAttribute("aria-expanded", true);
handleClick = () => closeNav(nodes);
nodes.main.addEventListener("click", handleClick);
}
function closeNav(nodes) {
console.log("close nav");
nodes.expandedNav.classList.remove("open");
nodes.burgerBtn.setAttribute("aria-expanded", false);
nodes.closeNavBtn.setAttribute("aria-expanded", false);
nodes.main.removeEventListener("click", handleClick);
}
export { expandNav, closeNav };

View file

@ -1,24 +1,15 @@
import { expandNav, closeNav } from "./functions.js";
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
// Functions
function expandNav() {
expandedNav.classList.add("open");
burgerBtn.setAttribute("aria-expanded", true);
closeNavBtn.setAttribute("aria-expanded", true);
}
function closeNav() {
expandedNav.classList.remove("open");
burgerBtn.setAttribute("aria-expanded", false);
closeNavBtn.setAttribute("aria-expanded", false);
}
// Variables // Variables
const burgerBtn = document.querySelector(".burger-btn"); const nodes = {
const closeNavBtn = document.querySelector(".expanded-nav .close-btn"); burgerBtn: document.querySelector(".burger-btn"),
const expandedNav = document.querySelector(".expanded-nav"); closeNavBtn: document.querySelector(".expanded-nav .close-btn"),
expandedNav: document.querySelector(".expanded-nav"),
main: document.querySelector("main"),
};
// Listeners // Listeners
burgerBtn.addEventListener("click", expandNav); nodes.burgerBtn.addEventListener("click", () => expandNav(nodes));
closeNavBtn.addEventListener("click", closeNav); nodes.closeNavBtn.addEventListener("click", () => closeNav(nodes));
}); });

View file

@ -1,3 +1,4 @@
</main>
<footer class="main-footer"> <footer class="main-footer">
<h1 class="logo"> <h1 class="logo">
<span>Nouveau</span> <span>Nouveau</span>

View file

@ -15,7 +15,7 @@
<script src="https://cdn.jsdelivr.net/npm/dayjs@1/locale/fr.js"></script> <script src="https://cdn.jsdelivr.net/npm/dayjs@1/locale/fr.js"></script>
<?= js('/assets/js/calendar.js') ?> <?= js('/assets/js/calendar.js') ?>
<?php endif ?> <?php endif ?>
<?= js('/assets/js/script.js', 'defer') ?> <script src="<?= url('assets/js/script.js') ?>" type="module" defer></script>
<?php if ($page->color()->exists()): ?> <?php if ($page->color()->exists()): ?>
<style> <style>
:root { :root {
@ -29,3 +29,4 @@
<?php snippet('header-banner') ?> <?php snippet('header-banner') ?>
<?php endif ?> <?php endif ?>
<?php snippet('nav') ?> <?php snippet('nav') ?>
<main>

View file

@ -1,7 +1,7 @@
<header class="main-header"> <header class="main-header">
<div class="main-header__infos-banner"></div> <div class="main-header__infos-banner"></div>
<a href="/" title="Aller à l'accueil">
<nav class="main-nav main-nav--small"> <nav class="main-nav main-nav--small">
<a href="/" title="Aller à l'accueil">
<h1 class="logo"> <h1 class="logo">
<span> <span>
N<span class="logo__detail">ouveau</span> N<span class="logo__detail">ouveau</span>
@ -34,7 +34,7 @@
</nav> </nav>
</header> </header>
<nav class="expanded-nav"> <nav class="expanded-nav">
<a href="/" title="Aller à l'accueil"> <a class="expanded-nav__logo-link" href="/" title="Aller à l'accueil">
<h1 class="logo"> <h1 class="logo">
<span> <span>
N<span class="logo__detail">ouveau</span> N<span class="logo__detail">ouveau</span>