fonc: màj Lato + continue la page Contact

This commit is contained in:
gcch 2024-10-23 17:19:20 +02:00
commit 8f805c90eb
61 changed files with 511 additions and 243 deletions

View file

@ -1 +0,0 @@
/var/www/html/web/app/plugins/query-monitor/wp-content/db.php

View file

@ -1,73 +1,19 @@
@charset "UTF-8";
@font-face {
font-family: Lato;
font-weight: 100;
font-weight: 100 900;
font-style: normal;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100.ttf") format("truetype");
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable.ttf") format("truetype");
unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-036F, U+0374-0375, U+037A-037E, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03CE, U+03D0-0486, U+0488-0513, U+0E3F, U+102D, U+102F, U+1031, U+1D00-1DCA, U+1DFE-1E9B, U+1E9E, U+1EA0-1EF9, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+2000-2010, U+2012-2022, U+2026, U+202F-2030, U+2032-2034, U+2039-203A, U+203C-203E, U+2044, U+205E-205F, U+2070-2071, U+2074-208E, U+2090-2094, U+2099, U+20A0-20B5, U+20B8-20BA, U+20DD, U+2105, U+2113, U+2116-2117, U+2120, U+2122, U+2126, U+212E, U+2132, U+214D-214E, U+2153-215F, U+2183-2184, U+2190-2199, U+21A8, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E-221F, U+2229, U+222B, U+2248, U+2260-2261, U+2264-2265, U+2302, U+2310, U+2320-2321, U+2460-2473, U+24EA-24F4, U+24FF-2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+25A1, U+25AA-25AB, U+25CA-25CC, U+25CF, U+25E6, U+2600, U+263C, U+2669, U+2776-277F, U+2C60-2C6C, U+2C74-2C77, U+2E17, U+A717-A71A, U+A720-A721, U+F8FF, U+FB00-FB04, U+FB06, U+FE20-FE23, U+FEFF;
}
@font-face {
font-family: Lato;
font-weight: 100;
font-weight: 100 900;
font-style: italic;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100italic.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 300;
font-style: normal;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 300;
font-style: italic;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300italic.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-regular.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-regular.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-italic.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 700;
font-style: italic;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700italic.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 900;
font-style: normal;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900.ttf") format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 900;
font-style: italic;
font-display: swap;
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900italic.ttf") format("truetype");
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic.ttf") format("truetype");
unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-036F, U+0374-0375, U+037A-037E, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03CE, U+03D0-0486, U+0488-0513, U+0E3F, U+102D, U+102F, U+1031, U+1D00-1DCA, U+1DFE-1E9B, U+1E9E, U+1EA0-1EF9, U+1F00-1F15, U+1F18-1F1D, U+1F20-1F45, U+1F48-1F4D, U+1F50-1F57, U+1F59, U+1F5B, U+1F5D, U+1F5F-1F7D, U+1F80-1FB4, U+1FB6-1FC4, U+1FC6-1FD3, U+1FD6-1FDB, U+1FDD-1FEF, U+1FF2-1FF4, U+1FF6-1FFE, U+2000-2010, U+2012-2022, U+2026, U+202F-2030, U+2032-2034, U+2039-203A, U+203C-203E, U+2044, U+205E-205F, U+2070-2071, U+2074-208E, U+2090-2094, U+2099, U+20A0-20B5, U+20B8-20BA, U+20DD, U+2105, U+2113, U+2116-2117, U+2120, U+2122, U+2126, U+212E, U+2132, U+214D-214E, U+2153-215F, U+2183-2184, U+2190-2199, U+21A8, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E-221F, U+2229, U+222B, U+2248, U+2260-2261, U+2264-2265, U+2302, U+2310, U+2320-2321, U+2460-2473, U+24EA-24F4, U+24FF-2500, U+2502, U+250C, U+2510, U+2514, U+2518, U+25A1, U+25AA-25AB, U+25CA-25CC, U+25CF, U+25E6, U+2600, U+263C, U+2669, U+2776-277F, U+2C60-2C6C, U+2C74-2C77, U+2E17, U+A717-A71A, U+A720-A721, U+F8FF, U+FB00-FB04, U+FB06, U+FE20-FE23, U+FEFF;
}
@font-face {
font-family: Myriad;
@ -306,7 +252,7 @@ img {
background: var(--couleur-jaune); /* 3 */
}
/* *
/*
* 1. Change la « bordure » de base.
* 2. Ajoute un contour, qui sera colorisé au focus.
* 3. Anime le changement de couleur des texte, bordure et contour.
@ -322,9 +268,9 @@ a {
transition: 0.2s color, 0.2s font-weight, 0.2s background, 0.2s outline-color, 0.2s border-color, 0.2s text-decoration-color; /* 3 */
text-decoration-skip: edges; /* 1 */
/* Change les couleurs de l'arrière-plan et du contour pour marquer le focus. */
/* *
* Lien ressemblant visuellement à un bouton.
*/
/* Lien ressemblant visuellement à un bouton. */
/* Lien ressemblant à... un lien. */
/* Styles pour les liens par défaut */
}
a:focus, a:focus-visible {
outline-color: var(--lien-contour-couleur-focus);
@ -352,6 +298,19 @@ a.lien-bouton:active {
background: var(--lien-bouton-arriere-plan-couleur-survol);
}
}
a.lien-lien {
text-decoration: underline;
}
a.lien-lien:active {
text-decoration-color: var(--couleur-jaune);
background: var(--couleur-jaune);
}
@media (hover: hover) {
a.lien-lien:hover {
text-decoration-color: var(--couleur-jaune);
background: var(--couleur-jaune);
}
}
@media (hover: hover) {
a:not([class]):hover {
text-decoration-color: var(--couleur-noir);
@ -391,7 +350,7 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
}
#menu-mobile {
--menu-mobile-hauteur: calc(100vh - var(--en-tete-hauteur));
--menu-mobile-hauteur: calc(100svh - var(--en-tete-hauteur));
position: fixed;
z-index: 997;
inset: var(--en-tete-hauteur) 0 0 0;
@ -494,6 +453,10 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
#en-tete .logo picture, #en-tete .logo img {
background: transparent;
}
#en-tete .logo button {
display: block;
align-content: center;
}
#en-tete .menu-navigation {
display: grid;
grid-template-columns: 1fr auto 1fr;
@ -652,9 +615,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
/* Positions */
--colonne-gauche-position-haut: var(--menu-categories-produits-hauteur);
/* Dimensions */
--colonne-gauche-photo-hauteur: calc(100vh - var(--menu-categories-produits-hauteur));
--colonne-gauche-photo-hauteur: calc(100svh - var(--menu-categories-produits-hauteur));
--colonne-droite-photo-hauteur-minimale: calc(
100vh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur)
100svh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur)
);
/* Marges */
--section-marges-externes-bloc-fin: 1rem;
@ -755,7 +718,7 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
.grille-produits__aucun-produit {
grid-column: span 3;
align-content: center;
min-height: calc(100vh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
text-align: center;
}
.grille-produits__aucun-produit p + p {

File diff suppressed because one or more lines are too long

View file

@ -342,7 +342,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
}
#menu-mobile {
--menu-mobile-hauteur: calc(100vh - var(--en-tete-hauteur));
--menu-mobile-hauteur: calc(100svh - var(--en-tete-hauteur));
z-index: 997;
inset: var(--en-tete-hauteur) 0 0 0;
overscroll-behavior: none;
@ -455,6 +455,11 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
background: none;
}
#en-tete .logo button {
align-content: center;
display: block;
}
#en-tete .menu-navigation {
text-align: center;
text-transform: lowercase;
@ -586,8 +591,8 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
.photos-produit {
--colonne-gauche-position-haut: var(--menu-categories-produits-hauteur);
--colonne-gauche-photo-hauteur: calc(100vh - var(--menu-categories-produits-hauteur));
--colonne-droite-photo-hauteur-minimale: calc(100vh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur));
--colonne-gauche-photo-hauteur: calc(100svh - var(--menu-categories-produits-hauteur));
--colonne-droite-photo-hauteur-minimale: calc(100svh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur));
--section-marges-externes-bloc-fin: 1rem;
flex-flow: wrap;
max-width: 100%;
@ -687,7 +692,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
}
.grille-produits__aucun-produit {
min-height: calc(100vh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
text-align: center;
grid-column: span 3;
align-content: center;

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
#page-accueil {
/* Dimensions */
--hauteur-conteneur: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
--hauteur-conteneur: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
/* Marges */
--page-marges-bloc-debut: var(--en-tete-hauteur);
overflow: hidden;

View file

@ -1,5 +1,5 @@
#page-accueil {
--hauteur-conteneur: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
--hauteur-conteneur: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
--page-marges-bloc-debut: var(--en-tete-hauteur);
min-height: var(--hauteur-conteneur);
max-height: var(--hauteur-conteneur);

View file

@ -1 +1 @@
{"version":3,"mappings":"AAAA;;;;;;;;;;;AAYA;;;;;;;;AAOA;;;;;;;AAMA;;;;;;;;;AAQA;;;;;AAIA","sources":["web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.css"],"sourcesContent":["#page-accueil {\n /* Dimensions */\n --hauteur-conteneur: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));\n /* Marges */\n --page-marges-bloc-debut: var(--en-tete-hauteur);\n overflow: hidden;\n display: flex;\n flex-flow: column nowrap;\n min-height: var(--hauteur-conteneur);\n max-height: var(--hauteur-conteneur);\n margin-top: var(--page-marges-bloc-debut);\n}\n#page-accueil .storytelling {\n scrollbar-width: none;\n overflow-y: scroll;\n place-items: center;\n min-height: inherit;\n max-height: inherit;\n}\n#page-accueil .storytelling__conteneur {\n display: flex;\n flex-flow: column nowrap;\n min-height: calc(var(--hauteur-conteneur) * 10);\n padding: 0 var(--espace-xl);\n}\n#page-accueil .storytelling__image {\n position: sticky;\n top: 0;\n align-content: center;\n width: 100%;\n min-height: var(--hauteur-conteneur);\n max-height: var(--hauteur-conteneur);\n}\n#page-accueil .storytelling__image[data-cache] {\n visibility: hidden;\n opacity: 0;\n}\n#page-accueil .storytelling__image img {\n scale: 0.9;\n max-height: inherit;\n margin: auto;\n object-fit: contain;\n background: transparent;\n}\n\n/*# sourceMappingURL=page-accueil.css.map */\n"],"names":[]}
{"version":3,"mappings":"AAAA;;;;;;;;;;;AAYA;;;;;;;;AAOA;;;;;;;AAMA;;;;;;;;;AAQA;;;;;AAIA","sources":["web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.css"],"sourcesContent":["#page-accueil {\n /* Dimensions */\n --hauteur-conteneur: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));\n /* Marges */\n --page-marges-bloc-debut: var(--en-tete-hauteur);\n overflow: hidden;\n display: flex;\n flex-flow: column nowrap;\n min-height: var(--hauteur-conteneur);\n max-height: var(--hauteur-conteneur);\n margin-top: var(--page-marges-bloc-debut);\n}\n#page-accueil .storytelling {\n scrollbar-width: none;\n overflow-y: scroll;\n place-items: center;\n min-height: inherit;\n max-height: inherit;\n}\n#page-accueil .storytelling__conteneur {\n display: flex;\n flex-flow: column nowrap;\n min-height: calc(var(--hauteur-conteneur) * 10);\n padding: 0 var(--espace-xl);\n}\n#page-accueil .storytelling__image {\n position: sticky;\n top: 0;\n align-content: center;\n width: 100%;\n min-height: var(--hauteur-conteneur);\n max-height: var(--hauteur-conteneur);\n}\n#page-accueil .storytelling__image[data-cache] {\n visibility: hidden;\n opacity: 0;\n}\n#page-accueil .storytelling__image img {\n scale: 0.9;\n max-height: inherit;\n margin: auto;\n object-fit: contain;\n background: transparent;\n}\n\n/*# sourceMappingURL=page-accueil.css.map */\n"],"names":[]}

View file

@ -1,7 +1,7 @@
#page-contact {
/* Dimensions */
--page-hauteur-minimale: calc(
100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px
100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px
);
/* Marges */
--page-marges-bloc-debut: var(--en-tete-hauteur);
@ -36,17 +36,15 @@
letter-spacing: var(--espacement-inter-lettres-etendu-l);
}
#page-contact .contenu__textuel {
display: flex;
flex: 1;
align-content: center;
flex-flow: column nowrap;
place-content: center;
max-width: 34rem;
height: 100%;
padding: 0 var(--espace-xl);
text-wrap: pretty;
}
#page-contact .contenu__textuel a {
font-style: italic;
text-decoration: underline;
}
#page-contact .contenu__textuel p + p {
margin-top: var(--espace-m);
}

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../src/sass/pages/page-contact.scss"],"names":[],"mappings":"AAEA;AACE;EACA;AAAA;AAAA;AAIA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAKN;EACE;IACE;IACA","file":"page-contact.css"}
{"version":3,"sourceRoot":"","sources":["../../../src/sass/pages/page-contact.scss"],"names":[],"mappings":"AAEA;AACE;EACA;AAAA;AAAA;AAIA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;IACE;IACA","file":"page-contact.css"}

View file

@ -1,5 +1,5 @@
#page-contact {
--page-hauteur-minimale: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px);
--page-hauteur-minimale: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px);
--page-marges-bloc-debut: var(--en-tete-hauteur);
margin-top: var(--page-marges-bloc-debut);
margin-bottom: var(--espace-xl);
@ -38,10 +38,12 @@
#page-contact .contenu__textuel {
padding: 0 var(--espace-xl);
text-wrap: pretty;
flex-flow: column;
flex: 1;
align-content: center;
place-content: center;
max-width: 34rem;
height: 100%;
display: flex;
}
#page-contact .contenu__textuel a {

View file

@ -1 +1 @@
{"version":3,"mappings":"AAAA;;;;;;;;;;AAaA;;;;;;;;;;;;;AAYA;;;;;;;AAMA;;;;;;;AAMA;;;;;;;;;AAQA;;;;;AAIA;;;;AAGA;EACE","sources":["web/app/themes/haiku-atelier-2024/assets/css/pages/page-contact.css"],"sourcesContent":["#page-contact {\n /* Dimensions */\n --page-hauteur-minimale: calc(\n 100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px\n );\n /* Marges */\n --page-marges-bloc-debut: var(--en-tete-hauteur);\n display: flex;\n flex-flow: column nowrap;\n margin-top: var(--page-marges-bloc-debut);\n margin-bottom: var(--espace-xl);\n border-bottom: 1px solid var(--couleur-noir);\n}\n#page-contact .contenu {\n display: flex;\n flex-flow: column nowrap;\n place-items: center;\n width: min(50rem, 100%);\n min-height: var(--page-hauteur-minimale);\n margin: auto;\n font-weight: 500;\n font-style: italic;\n border: 1px solid var(--couleur-noir);\n border-bottom: initial;\n}\n#page-contact .contenu__en-tete {\n width: 100%;\n padding: var(--espace-m) var(--espace-xl);\n color: var(--couleur-blanc);\n background: var(--couleur-noir);\n}\n#page-contact .contenu__en-tete h2 {\n width: fit-content;\n margin: auto;\n text-transform: uppercase;\n letter-spacing: var(--espacement-inter-lettres-etendu-l);\n}\n#page-contact .contenu__textuel {\n flex: 1;\n align-content: center;\n max-width: 34rem;\n height: 100%;\n padding: 0 var(--espace-xl);\n text-wrap: pretty;\n}\n#page-contact .contenu__textuel a {\n font-style: italic;\n text-decoration: underline;\n}\n#page-contact .contenu__textuel p + p {\n margin-top: var(--espace-m);\n}\n@media (width <= 50rem) {\n #page-contact .contenu {\n border-right: initial;\n border-left: initial;\n }\n}\n\n/*# sourceMappingURL=page-contact.css.map */\n"],"names":[]}
{"version":3,"mappings":"AAAA;;;;;;;;;;AAaA;;;;;;;;;;;;;AAYA;;;;;;;AAMA;;;;;;;AAMA;;;;;;;;;;;AAUA;;;;;AAIA;;;;AAGA;EACE","sources":["web/app/themes/haiku-atelier-2024/assets/css/pages/page-contact.css"],"sourcesContent":["#page-contact {\n /* Dimensions */\n --page-hauteur-minimale: calc(\n 100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px\n );\n /* Marges */\n --page-marges-bloc-debut: var(--en-tete-hauteur);\n display: flex;\n flex-flow: column nowrap;\n margin-top: var(--page-marges-bloc-debut);\n margin-bottom: var(--espace-xl);\n border-bottom: 1px solid var(--couleur-noir);\n}\n#page-contact .contenu {\n display: flex;\n flex-flow: column nowrap;\n place-items: center;\n width: min(50rem, 100%);\n min-height: var(--page-hauteur-minimale);\n margin: auto;\n font-weight: 500;\n font-style: italic;\n border: 1px solid var(--couleur-noir);\n border-bottom: initial;\n}\n#page-contact .contenu__en-tete {\n width: 100%;\n padding: var(--espace-m) var(--espace-xl);\n color: var(--couleur-blanc);\n background: var(--couleur-noir);\n}\n#page-contact .contenu__en-tete h2 {\n width: fit-content;\n margin: auto;\n text-transform: uppercase;\n letter-spacing: var(--espacement-inter-lettres-etendu-l);\n}\n#page-contact .contenu__textuel {\n display: flex;\n flex: 1;\n flex-flow: column nowrap;\n place-content: center;\n max-width: 34rem;\n height: 100%;\n padding: 0 var(--espace-xl);\n text-wrap: pretty;\n}\n#page-contact .contenu__textuel a {\n font-style: italic;\n text-decoration: underline;\n}\n#page-contact .contenu__textuel p + p {\n margin-top: var(--espace-m);\n}\n@media (width <= 50rem) {\n #page-contact .contenu {\n border-right: initial;\n border-left: initial;\n }\n}\n\n/*# sourceMappingURL=page-contact.css.map */\n"],"names":[]}

View file

@ -346,7 +346,7 @@
--menu-section-marges-bloc-debut: var(--en-tete-hauteur); /* 1 */
display: flex;
flex-flow: row wrap;
min-height: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
margin-top: var(--menu-section-marges-bloc-debut);
}
#page-panier[data-contient-articles=false] .panneau {
@ -385,7 +385,7 @@
display: none;
flex-basis: 100%;
align-content: center;
min-height: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
text-align: center;
}
#page-panier .panier-vide p {

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../src/sass/layouts/_panneau-panier.scss","../../../src/sass/layouts/_panneau-informations-client.scss","../../../src/sass/pages/page-panier.scss"],"names":[],"mappings":";AAEA;EACE;;AAEA;EACE;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;AAOA;AAOA;AAAA;AAAA;AAAA;AAmBA;AAOA;;AAtCA;EACE;;AAKF;EACE;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;IACA;;;AASZ;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;ACtQJ;EACE;EACA;;AAIF;EAEE;EACA;EACA;EAGA;EAEA;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAMN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC/IN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAON;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA","file":"page-panier.css"}
{"version":3,"sourceRoot":"","sources":["../../../src/sass/layouts/_panneau-panier.scss","../../../src/sass/layouts/_panneau-informations-client.scss","../../../src/sass/pages/page-panier.scss"],"names":[],"mappings":";AAEA;EACE;;AAEA;EACE;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;AAOA;AAOA;AAAA;AAAA;AAAA;AAmBA;AAOA;;AAtCA;EACE;;AAKF;EACE;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;IACA;;;AASZ;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;ACtQJ;EACE;EACA;;AAIF;EAEE;EACA;EACA;EAGA;EAEA;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAMN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC/IN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA","file":"page-panier.css"}

View file

@ -382,7 +382,7 @@
#page-panier {
--menu-section-hauteur: var(--menu-categories-produits-hauteur);
--menu-section-marges-bloc-debut: var(--en-tete-hauteur);
min-height: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
margin-top: var(--menu-section-marges-bloc-debut);
flex-flow: wrap;
display: flex;
@ -426,7 +426,7 @@
}
#page-panier .panier-vide {
min-height: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
text-align: center;
flex-basis: 100%;
align-content: center;

File diff suppressed because one or more lines are too long

View file

@ -146,7 +146,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-Nyu6Zmy+n0CkGN6AVXIpdkj4ydgaOzyzgIvW7Se54K4Dtsty8XFraYIJspyWhz0IyK0c1rNNvE9ldackjOACbA=="
"integrity": "sha512-Icg9uEiksxzqI7nUwJ7guk5xRJH72xXutI2z3AYf9z7mrpo0atZraGcFNBGt3mpGVJL0dPF/ggK/uE3GbmTGxA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts": {
"file": "nombres.js",
@ -336,7 +336,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-wwLRHRVNzMhTy3YRR9lneXmkS3Yxf96MGGMSOqqqN6DJnIqXKW7JrCugAQLjbfJDFHUfmVu0NZz1HSY7LeQ1NQ=="
"integrity": "sha512-iahVbAqIwurcXCMx/sGklGT3hCIwZaM51NOcGjTZpVJuK28EVOzK6EEfhSCf7IhTJlwH1hLntdpfLcJoZcF83Q=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-mobile.ts": {
"file": "scripts-menu-mobile.js",
@ -435,7 +435,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-IP3kKebY6M+q0efkXyPj8Ar4R/5Xj0NfBgxtg4IURI3A4FDt8wXyN3B3WAC8lSfW4/c/1/KvPjHNasD5Bm0M7g=="
"integrity": "sha512-qZFD0qbpUXDCHzLydfnaNqVoRbaDRL2wDf8wPcOYU1ZklwAfQqfFsAhDESsqyBhV5jpcgRRCvtZJzHWyv6RVtg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": {
"file": "scripts-page-produit.js",

View file

@ -9,14 +9,18 @@ import "./cart2.js";
import "./adresses.js";
import "./couts-livraison.js";
const emetMessageMajBoutonPanier = (args) => {
new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).postMessage({
const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);
canal.postMessage({
donnees: {
quantiteProduits: args.quantiteProduits
},
type: TYPES_MESSAGES.MajBoutonPanier
});
canal.close();
};
const emetMessageMajContenuPanier = (args) => new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).postMessage({
const emetMessageMajContenuPanier = (args) => {
const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);
canal.postMessage({
donnees: {
produits: args.produits,
sousTotalPanier: args.sousTotalPanier,
@ -24,6 +28,8 @@ const emetMessageMajContenuPanier = (args) => new BroadcastChannel(NOM_CANAL_CON
},
type: TYPES_MESSAGES.MajContenuPanier
});
canal.close();
};
const valideMessageMajBoutonPanier = (evenementMessage) => Either.of(
parse(MessageMajBoutonPanierSchema, evenementMessage.data)
).ifLeft((erreur) => reporteErreur(erreur));

View file

@ -1 +1 @@
{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/messages.ts"],"sourcesContent":["import { Either } from \"purify-ts\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type {\n MessageMajBoutonPanier,\n MessageMajBoutonPanierDonnees,\n MessageMajContenuPanier,\n MessageMajContenuPanierDonnees,\n} from \"./types/messages\";\n\nimport { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER, TYPES_MESSAGES } from \"../constantes/messages.ts\";\nimport { reporteErreur } from \"./erreurs.ts\";\nimport { MessageMajBoutonPanierSchema, MessageMajContenuPanierSchema } from \"./schemas/messages.ts\";\n\n// Émissions\nexport const emetMessageMajBoutonPanier = (args: MessageMajBoutonPanierDonnees): void => {\n new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).postMessage({\n donnees: {\n quantiteProduits: args.quantiteProduits,\n },\n type: TYPES_MESSAGES.MajBoutonPanier,\n } as MessageMajBoutonPanier);\n};\n\nexport const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees): void =>\n new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).postMessage({\n donnees: {\n produits: args.produits,\n sousTotalPanier: args.sousTotalPanier,\n totalPanier: args.totalPanier,\n },\n type: TYPES_MESSAGES.MajContenuPanier,\n } as MessageMajContenuPanier);\n\n// Validations\nexport const valideMessageMajBoutonPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier> =>\n Either\n .of<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier>(\n parse(MessageMajBoutonPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n\nexport const valideMessageMajContenuPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier> =>\n Either\n .of<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier>(\n parse(MessageMajContenuPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n"],"names":[],"mappings":";;;;;;;;;;AAea,MAAA,6BAA6B,CAAC,SAA8C;AACnF,MAAA,iBAAiB,uBAAuB,EAAE,YAAY;AAAA,IACxD,SAAS;AAAA,MACP,kBAAkB,KAAK;AAAA,IACzB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACI;AAC7B;AAEO,MAAM,8BAA8B,CAAC,SAC1C,IAAI,iBAAiB,wBAAwB,EAAE,YAAY;AAAA,EACzD,SAAS;AAAA,IACP,UAAU,KAAK;AAAA,IACf,iBAAiB,KAAK;AAAA,IACtB,aAAa,KAAK;AAAA,EACpB;AAAA,EACA,MAAM,eAAe;AACvB,CAA4B;AAGjB,MAAA,+BAA+B,CAC1C,qBAEA,OACG;AAAA,EACC,MAAM,8BAA8B,iBAAiB,IAAI;AAC3D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;AAE9B,MAAA,gCAAgC,CAC3C,qBAEA,OACG;AAAA,EACC,MAAM,+BAA+B,iBAAiB,IAAI;AAC5D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;"}
{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/messages.ts"],"sourcesContent":["import { Either } from \"purify-ts\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type {\n MessageMajBoutonPanier,\n MessageMajBoutonPanierDonnees,\n MessageMajContenuPanier,\n MessageMajContenuPanierDonnees,\n} from \"./types/messages\";\n\nimport { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER, TYPES_MESSAGES } from \"../constantes/messages.ts\";\nimport { reporteErreur } from \"./erreurs.ts\";\nimport { MessageMajBoutonPanierSchema, MessageMajContenuPanierSchema } from \"./schemas/messages.ts\";\n\n// Émissions\nexport const emetMessageMajBoutonPanier = (args: MessageMajBoutonPanierDonnees): void => {\n const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n canal.postMessage({\n donnees: {\n quantiteProduits: args.quantiteProduits,\n },\n type: TYPES_MESSAGES.MajBoutonPanier,\n } as MessageMajBoutonPanier);\n canal.close();\n};\n\nexport const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees): void => {\n const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);\n canal.postMessage({\n donnees: {\n produits: args.produits,\n sousTotalPanier: args.sousTotalPanier,\n totalPanier: args.totalPanier,\n },\n type: TYPES_MESSAGES.MajContenuPanier,\n } as MessageMajContenuPanier);\n canal.close();\n};\n\n// Validations\nexport const valideMessageMajBoutonPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier> =>\n Either\n .of<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier>(\n parse(MessageMajBoutonPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n\nexport const valideMessageMajContenuPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier> =>\n Either\n .of<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier>(\n parse(MessageMajContenuPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n"],"names":[],"mappings":";;;;;;;;;;AAea,MAAA,6BAA6B,CAAC,SAA8C;AACjF,QAAA,QAAQ,IAAI,iBAAiB,uBAAuB;AAC1D,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,kBAAkB,KAAK;AAAA,IACzB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACI;AAC3B,QAAM,MAAM;AACd;AAEa,MAAA,8BAA8B,CAAC,SAA+C;AACnF,QAAA,QAAQ,IAAI,iBAAiB,wBAAwB;AAC3D,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,UAAU,KAAK;AAAA,MACf,iBAAiB,KAAK;AAAA,MACtB,aAAa,KAAK;AAAA,IACpB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACK;AAC5B,QAAM,MAAM;AACd;AAGa,MAAA,+BAA+B,CAC1C,qBAEA,OACG;AAAA,EACC,MAAM,8BAA8B,iBAAiB,IAAI;AAC3D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;AAE9B,MAAA,gCAAgC,CAC3C,qBAEA,OACG;AAAA,EACC,MAAM,+BAA+B,iBAAiB,IAAI;AAC5D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;"}

View file

@ -25,6 +25,9 @@ const initialiseBoutonPanier = () => {
BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));
});
};
document.addEventListener("visibilitychange", () => {
CANAL_BOUTON_PANIER.close();
});
};
document.addEventListener("DOMContentLoaded", () => {
initialiseBoutonPanier();

View file

@ -1 +1 @@
{"version":3,"file":"scripts-bouton-panier.js","sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { pipe } from \"@mobily/ts-belt\";\n\nimport type { MessageMajBoutonPanier } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER } from \"./constantes/messages.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { valideMessageMajBoutonPanier } from \"./lib/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither<HTMLAnchorElement>(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent<unknown>): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MessageMajBoutonPanier) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees.quantiteProduits)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));\n });\n };\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,yBAAyB,MAAY;AAEzC,QAAM,gBAAmC;AAAA,IACvC,8BAAiD,uBAAuB;AAAA,IACxE;AAAA,EAAA;AAEI,QAAA,sBAAwC,IAAI,iBAAiB,uBAAuB;AAEtE,sBAAA,YAAY,CAAC,qBAAkD;AACjF,iCAA6B,gBAAgB,EAE1C,QAAQ,CAAC,YAAoC;AAC5C,oBAAc,cAAc,SAAS,OAAO,QAAQ,QAAQ,gBAAgB,CAAC;AAC7E,oBAAc,aAAa,4BAA4B,OAAO,QAAQ,QAAQ,mBAAmB,CAAC,CAAC;AAAA,IAAA,CACpG;AAAA,EAAA;AAEP;AAEA,SAAS,iBAAiB,oBAAoB,MAAM;AAC3B;AACzB,CAAC;"}
{"version":3,"file":"scripts-bouton-panier.js","sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { pipe } from \"@mobily/ts-belt\";\n\nimport type { MessageMajBoutonPanier } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER } from \"./constantes/messages.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { valideMessageMajBoutonPanier } from \"./lib/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither<HTMLAnchorElement>(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent<unknown>): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MessageMajBoutonPanier) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees.quantiteProduits)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));\n });\n };\n\n // Ferme le BroadcastChannel à la fermeture de la page\n document.addEventListener(\"visibilitychange\", (): void => {\n CANAL_BOUTON_PANIER.close();\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,yBAAyB,MAAY;AAEzC,QAAM,gBAAmC;AAAA,IACvC,8BAAiD,uBAAuB;AAAA,IACxE;AAAA,EAAA;AAEI,QAAA,sBAAwC,IAAI,iBAAiB,uBAAuB;AAEtE,sBAAA,YAAY,CAAC,qBAAkD;AACjF,iCAA6B,gBAAgB,EAE1C,QAAQ,CAAC,YAAoC;AAC5C,oBAAc,cAAc,SAAS,OAAO,QAAQ,QAAQ,gBAAgB,CAAC;AAC7E,oBAAc,aAAa,4BAA4B,OAAO,QAAQ,QAAQ,mBAAmB,CAAC,CAAC;AAAA,IAAA,CACpG;AAAA,EAAA;AAII,WAAA,iBAAiB,oBAAoB,MAAY;AACxD,wBAAoB,MAAM;AAAA,EAAA,CAC3B;AACH;AAEA,SAAS,iBAAiB,oBAAoB,MAAM;AAC3B;AACzB,CAAC;"}

View file

@ -237,14 +237,19 @@ const initialiseMajEntreesPanier = () => {
});
};
const initialiseMajConteneurPanier = () => {
new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).onmessage = (evenementMessage) => {
const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);
canal.onmessage = (evenementMessage) => {
valideMessageMajBoutonPanier(evenementMessage).map(y.getUnsafe("donnees")).ifRight((donnees) => {
CONTENEUR_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(donnees.quantiteProduits !== 0));
});
};
document.addEventListener("visibilitychange", () => {
canal.close();
});
};
const initialiseMajContenuPanier = () => {
new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).onmessage = (evenementMessage) => {
const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);
canal.onmessage = (evenementMessage) => {
valideMessageMajContenuPanier(evenementMessage).chain(propEither("donnees")).ifRight((donnees) => {
donnees.produits.forEach((ligne) => {
ENTREES_PANIER_EITHER.ifRight((entrees) => {
@ -267,6 +272,9 @@ const initialiseMajContenuPanier = () => {
ENTREES_PANIER_EITHER.ifRight((entrees) => majEtatsActivationBoutons(entrees));
});
};
document.addEventListener("visibilitychange", () => {
canal.close();
});
};
const initialiseMajFormulairesPanier = () => {
BOUTON_SEPARATION_ADRESSES.addEventListener("click", () => {

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
// Styles de base pour les liens (<a>).
/* *
/*
* 1. Change la « bordure » de base.
* 2. Ajoute un contour, qui sera colorisé au focus.
* 3. Anime le changement de couleur des texte, bordure et contour.
@ -29,9 +29,7 @@ a {
outline-color: var(--lien-contour-couleur-focus);
}
/* *
* Lien ressemblant visuellement à un bouton.
*/
/* Lien ressemblant visuellement à un bouton. */
&.lien-bouton {
/* Marges */
--lien-bouton-marges-internes-bloc: var(--espace-xs);
@ -61,6 +59,24 @@ a {
}
}
/* Lien ressemblant à... un lien. */
&.lien-lien {
text-decoration: underline;
&:active {
text-decoration-color: var(--couleur-jaune);
background: var(--couleur-jaune);
}
@media (hover: hover) {
&:hover {
text-decoration-color: var(--couleur-jaune);
background: var(--couleur-jaune);
}
}
}
/* Styles pour les liens par défaut */
&:not([class]) {
@media (hover: hover) {
&:hover {

View file

@ -0,0 +1,119 @@
@font-face {
font-family: Lato;
font-weight: 100;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 100;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 300;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 300;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 400;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-regular.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-regular.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 400;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 700;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 700;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 900;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 900;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900italic.ttf")
format("truetype");
}

View file

@ -1,119 +1,237 @@
@font-face {
font-family: Lato;
font-weight: 100;
font-weight: 100 900;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100.ttf")
format("truetype");
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable.woff2") format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable.ttf") format("truetype");
unicode-range:
U+0000,
U+000D,
U+0020-007E,
U+00A0-036F,
U+0374-0375,
U+037A-037E,
U+0384-038A,
U+038C,
U+038E-03A1,
U+03A3-03CE,
U+03D0-0486,
U+0488-0513,
U+0E3F,
U+102D,
U+102F,
U+1031,
U+1D00-1DCA,
U+1DFE-1E9B,
U+1E9E,
U+1EA0-1EF9,
U+1F00-1F15,
U+1F18-1F1D,
U+1F20-1F45,
U+1F48-1F4D,
U+1F50-1F57,
U+1F59,
U+1F5B,
U+1F5D,
U+1F5F-1F7D,
U+1F80-1FB4,
U+1FB6-1FC4,
U+1FC6-1FD3,
U+1FD6-1FDB,
U+1FDD-1FEF,
U+1FF2-1FF4,
U+1FF6-1FFE,
U+2000-2010,
U+2012-2022,
U+2026,
U+202F-2030,
U+2032-2034,
U+2039-203A,
U+203C-203E,
U+2044,
U+205E-205F,
U+2070-2071,
U+2074-208E,
U+2090-2094,
U+2099,
U+20A0-20B5,
U+20B8-20BA,
U+20DD,
U+2105,
U+2113,
U+2116-2117,
U+2120,
U+2122,
U+2126,
U+212E,
U+2132,
U+214D-214E,
U+2153-215F,
U+2183-2184,
U+2190-2199,
U+21A8,
U+2202,
U+2206,
U+220F,
U+2211-2212,
U+2215,
U+2219-221A,
U+221E-221F,
U+2229,
U+222B,
U+2248,
U+2260-2261,
U+2264-2265,
U+2302,
U+2310,
U+2320-2321,
U+2460-2473,
U+24EA-24F4,
U+24FF-2500,
U+2502,
U+250C,
U+2510,
U+2514,
U+2518,
U+25A1,
U+25AA-25AB,
U+25CA-25CC,
U+25CF,
U+25E6,
U+2600,
U+263C,
U+2669,
U+2776-277F,
U+2C60-2C6C,
U+2C74-2C77,
U+2E17,
U+A717-A71A,
U+A720-A721,
U+F8FF,
U+FB00-FB04,
U+FB06,
U+FE20-FE23,
U+FEFF;
}
@font-face {
font-family: Lato;
font-weight: 100;
font-weight: 100 900;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100italic.woff2")
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-100italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 300;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 300;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-300italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 400;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-regular.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-regular.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 400;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 700;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 700;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-700italic.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 900;
font-style: normal;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900.ttf")
format("truetype");
}
@font-face {
font-family: Lato;
font-weight: 900;
font-style: italic;
font-display: swap;
src:
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900italic.woff2")
format("woff2"),
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-v24-latin-900italic.ttf")
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic.ttf")
format("truetype");
unicode-range:
U+0000,
U+000D,
U+0020-007E,
U+00A0-036F,
U+0374-0375,
U+037A-037E,
U+0384-038A,
U+038C,
U+038E-03A1,
U+03A3-03CE,
U+03D0-0486,
U+0488-0513,
U+0E3F,
U+102D,
U+102F,
U+1031,
U+1D00-1DCA,
U+1DFE-1E9B,
U+1E9E,
U+1EA0-1EF9,
U+1F00-1F15,
U+1F18-1F1D,
U+1F20-1F45,
U+1F48-1F4D,
U+1F50-1F57,
U+1F59,
U+1F5B,
U+1F5D,
U+1F5F-1F7D,
U+1F80-1FB4,
U+1FB6-1FC4,
U+1FC6-1FD3,
U+1FD6-1FDB,
U+1FDD-1FEF,
U+1FF2-1FF4,
U+1FF6-1FFE,
U+2000-2010,
U+2012-2022,
U+2026,
U+202F-2030,
U+2032-2034,
U+2039-203A,
U+203C-203E,
U+2044,
U+205E-205F,
U+2070-2071,
U+2074-208E,
U+2090-2094,
U+2099,
U+20A0-20B5,
U+20B8-20BA,
U+20DD,
U+2105,
U+2113,
U+2116-2117,
U+2120,
U+2122,
U+2126,
U+212E,
U+2132,
U+214D-214E,
U+2153-215F,
U+2183-2184,
U+2190-2199,
U+21A8,
U+2202,
U+2206,
U+220F,
U+2211-2212,
U+2215,
U+2219-221A,
U+221E-221F,
U+2229,
U+222B,
U+2248,
U+2260-2261,
U+2264-2265,
U+2302,
U+2310,
U+2320-2321,
U+2460-2473,
U+24EA-24F4,
U+24FF-2500,
U+2502,
U+250C,
U+2510,
U+2514,
U+2518,
U+25A1,
U+25AA-25AB,
U+25CA-25CC,
U+25CF,
U+25E6,
U+2600,
U+263C,
U+2669,
U+2776-277F,
U+2C60-2C6C,
U+2C74-2C77,
U+2E17,
U+A717-A71A,
U+A720-A721,
U+F8FF,
U+FB00-FB04,
U+FB06,
U+FE20-FE23,
U+FEFF;
}

View file

@ -12,9 +12,9 @@
--colonne-gauche-position-haut: var(--menu-categories-produits-hauteur);
/* Dimensions */
--colonne-gauche-photo-hauteur: calc(100vh - var(--menu-categories-produits-hauteur));
--colonne-gauche-photo-hauteur: calc(100svh - var(--menu-categories-produits-hauteur));
--colonne-droite-photo-hauteur-minimale: calc(
100vh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur)
100svh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur)
);
/* Marges */

View file

@ -32,6 +32,11 @@
picture, img {
background: transparent;
}
button {
display: block;
align-content: center;
}
}
/* TODO: Déplacer au sein d'un Composant ? */

View file

@ -87,7 +87,7 @@
grid-column: span 3;
align-content: center;
min-height: calc(
100vh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur)
100svh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur)
- var(--pied-de-page-hauteur)
);
text-align: center;

View file

@ -8,7 +8,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
#menu-mobile {
// Dimensions
--menu-mobile-hauteur: calc(100vh - var(--en-tete-hauteur));
--menu-mobile-hauteur: calc(100svh - var(--en-tete-hauteur));
position: fixed;
z-index: 997;

View file

@ -2,7 +2,7 @@
#page-accueil {
/* Dimensions */
--hauteur-conteneur: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
--hauteur-conteneur: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
/* Marges */
--page-marges-bloc-debut: var(--en-tete-hauteur);

View file

@ -3,7 +3,7 @@
#page-contact {
/* Dimensions */
--page-hauteur-minimale: calc(
100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px
100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--espace-xl) - 1px
);
/* Marges */
@ -42,18 +42,15 @@
}
&__textuel {
display: flex;
flex: 1;
align-content: center;
flex-flow: column nowrap;
place-content: center;
max-width: 34rem;
height: 100%;
padding: 0 var(--espace-xl);
text-wrap: pretty;
a {
font-style: italic;
text-decoration: underline;
}
p + p {
margin-top: var(--espace-m);
}

View file

@ -16,7 +16,7 @@
display: flex;
flex-flow: row wrap;
min-height: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
margin-top: var(--menu-section-marges-bloc-debut);
&[data-contient-articles="false"] {
@ -57,15 +57,13 @@
background: var(--couleur-noir);
}
}
&:first-of-type {}
}
.panier-vide {
display: none;
flex-basis: 100%;
align-content: center;
min-height: calc(100vh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
min-height: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));
text-align: center;
p {

View file

@ -14,16 +14,19 @@ import { MessageMajBoutonPanierSchema, MessageMajContenuPanierSchema } from "./s
// Émissions
export const emetMessageMajBoutonPanier = (args: MessageMajBoutonPanierDonnees): void => {
new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).postMessage({
const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);
canal.postMessage({
donnees: {
quantiteProduits: args.quantiteProduits,
},
type: TYPES_MESSAGES.MajBoutonPanier,
} as MessageMajBoutonPanier);
canal.close();
};
export const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees): void =>
new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).postMessage({
export const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees): void => {
const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);
canal.postMessage({
donnees: {
produits: args.produits,
sousTotalPanier: args.sousTotalPanier,
@ -31,6 +34,8 @@ export const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees
},
type: TYPES_MESSAGES.MajContenuPanier,
} as MessageMajContenuPanier);
canal.close();
};
// Validations
export const valideMessageMajBoutonPanier = (

View file

@ -28,6 +28,11 @@ const initialiseBoutonPanier = (): void => {
BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));
});
};
// Ferme le BroadcastChannel à la fermeture de la page
document.addEventListener("visibilitychange", (): void => {
CANAL_BOUTON_PANIER.close();
});
};
document.addEventListener("DOMContentLoaded", () => {

View file

@ -372,7 +372,8 @@ const initialiseMajEntreesPanier = (): void => {
};
const initialiseMajConteneurPanier = (): void => {
new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).onmessage = (evenementMessage: MessageEvent<unknown>): void => {
const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);
canal.onmessage = (evenementMessage: MessageEvent<unknown>): void => {
valideMessageMajBoutonPanier(evenementMessage)
.map(D.getUnsafe("donnees"))
// Met à jour le Bouton du Panier
@ -380,10 +381,17 @@ const initialiseMajConteneurPanier = (): void => {
CONTENEUR_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(donnees.quantiteProduits !== 0));
});
};
// Ferme le BroadcastChannel à la fermeture de la page
document.addEventListener("visibilitychange", (): void => {
canal.close();
});
};
const initialiseMajContenuPanier = (): void => {
new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).onmessage = (evenementMessage: MessageEvent<unknown>): void => {
const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);
canal.onmessage = (evenementMessage: MessageEvent<unknown>): void => {
valideMessageMajContenuPanier(evenementMessage)
.chain(propEither("donnees"))
// Met à jour le contenu du Panier
@ -420,6 +428,11 @@ const initialiseMajContenuPanier = (): void => {
ENTREES_PANIER_EITHER.ifRight(entrees => majEtatsActivationBoutons(entrees));
});
};
// Ferme le BroadcastChannel à la fermeture de la page
document.addEventListener("visibilitychange", (): void => {
canal.close();
});
};
const initialiseMajFormulairesPanier = (): void => {

View file

@ -10,9 +10,17 @@
<div class="contenu__textuel">
<p>
For any inquiries, from simple information questions to problems with your products, or just to say hi, don't
hesitate to contact us at <a href="mailto:haikuatelier@gmail.com">haikuatelier@gmail.com</a> or on Instagram
at
<a href="https://www.instagram.com/haiku.atelier">haiku.atelier</a>.
hesitate to contact us at <a
class="lien-lien"
href="mailto:haikuatelier@gmail.com"
>
haikuatelier@gmail.com
</a> or on Instagram at <a
class="lien-lien"
href="https://www.instagram.com/haiku.atelier"
>
haiku.atelier
</a>.
</p>
<p>We will try our best to quickly respond to your demand.</p>