2024-11-24
corvée(images) ajoute les images téléversées corvée(images) supprime les images optimisées
This commit is contained in:
parent
900bef5aeb
commit
d8dbe1370e
660 changed files with 993 additions and 3803 deletions
|
|
@ -745,9 +745,13 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
|||
position: absolute;
|
||||
z-index: 5;
|
||||
bottom: calc(var(--position-y-fleches) / 2 - var(--espace-l) / 2);
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
padding: var(--espace-s);
|
||||
display: flex;
|
||||
place-content: center;
|
||||
place-items: center;
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
min-height: 2rem;
|
||||
max-height: 2rem;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
border-radius: 100%;
|
||||
|
|
@ -756,18 +760,22 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
|||
transition: 0.2s opacity, 0.2s visibility;
|
||||
}
|
||||
.fleches-defilement__bouton:first-of-type {
|
||||
left: var(--espace-l);
|
||||
left: var(--espace-s);
|
||||
}
|
||||
.fleches-defilement__bouton:last-of-type {
|
||||
right: var(--espace-l);
|
||||
right: var(--espace-s);
|
||||
}
|
||||
.fleches-defilement__bouton svg {
|
||||
min-width: 1.5rem;
|
||||
min-height: 1.5rem;
|
||||
}
|
||||
.fleches-defilement[data-images-presentes-debut] .fleches-defilement__bouton:first-of-type {
|
||||
cursor: pointer;
|
||||
opacity: 1;
|
||||
opacity: 0.7;
|
||||
}
|
||||
.fleches-defilement[data-images-presentes-fin] .fleches-defilement__bouton:last-of-type {
|
||||
cursor: pointer;
|
||||
opacity: 1;
|
||||
opacity: 0.7;
|
||||
}
|
||||
@media (width <= 60rem) {
|
||||
.fleches-defilement button {
|
||||
|
|
@ -807,7 +815,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
|||
top: var(--colonne-gauche-position-haut);
|
||||
height: var(--colonne-gauche-photo-hauteur);
|
||||
}
|
||||
.photos-produit .colonne.colonne-gauche figure, .photos-produit .colonne.colonne-gauche picture, .photos-produit .colonne.colonne-gauche img {
|
||||
.photos-produit .colonne.colonne-gauche figure,
|
||||
.photos-produit .colonne.colonne-gauche picture,
|
||||
.photos-produit .colonne.colonne-gauche img {
|
||||
height: 100%;
|
||||
}
|
||||
.photos-produit .colonne.colonne-droite img {
|
||||
|
|
@ -889,7 +899,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
|||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
row-gap: var(--espace-xl);
|
||||
padding: var(--espace-m);
|
||||
}
|
||||
.grille-produits article figure a {
|
||||
position: relative;
|
||||
|
|
@ -950,6 +959,7 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
|||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
justify-content: space-between;
|
||||
padding: var(--espace-m);
|
||||
margin-bottom: var(--espace-xl);
|
||||
}
|
||||
.grille-produits article figure figcaption h3 {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -255,6 +255,9 @@
|
|||
#panneau-informations-client .panneau__formulaires .panneau__formulaires__paiement .formulaire__paiement__attente-renseignement-formulaires p + p {
|
||||
margin-top: 1lh;
|
||||
}
|
||||
#panneau-informations-client .panneau__formulaires .panneau__formulaires__message {
|
||||
margin: var(--espace-l) 0;
|
||||
}
|
||||
#panneau-informations-client .formulaire {
|
||||
margin: auto;
|
||||
padding: 0 var(--espace-xl);
|
||||
|
|
@ -292,7 +295,7 @@
|
|||
#panneau-informations-client .formulaire label:has(+ :is(input:required, select:required)) {
|
||||
font-weight: 600;
|
||||
}
|
||||
#panneau-informations-client .formulaire input {
|
||||
#panneau-informations-client .formulaire input, #panneau-informations-client .formulaire select {
|
||||
width: 15rem;
|
||||
}
|
||||
#panneau-informations-client .panneau__pied-de-page {
|
||||
|
|
|
|||
|
|
@ -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;;AAEA;EACE;;AAGF;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;AAEA;AASA;AAAA;AAAA;AAAA;AAkBA;AASA;;AAnCA;EACE;EACA;EACA;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAOR;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;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;;;AC5NN;EACE;EACA;EACA;EACA;;AAEA;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;EACA;EACA;EACA;;AAGE;EACE;;AAOV;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;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC1JN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;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;;AAKF;EACE;;AAGF;EACE","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;;AAEA;EACE;;AAGF;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;AAEA;AASA;AAAA;AAAA;AAAA;AAkBA;AASA;;AAnCA;EACE;EACA;EACA;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAOR;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;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;;;AC5NN;EACE;EACA;EACA;EACA;;AAEA;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;EACA;EACA;EACA;;AAGE;EACE;;AAMR;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC5JN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;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;;AAKF;EACE;;AAGF;EACE","file":"page-panier.css"}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
<svg viewBox="43.801 35.326 186.516 130.185" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" fill="#DFDEDE" d="M226.058 108.87c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.223 10.456-44.276 31.967-38.105 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.099-48.039"/><path fill="none" stroke="#2B2B2B" stroke-width="5" stroke-miterlimit="10" d="M226.058 108.87c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.223 10.456-44.276 31.967-38.105 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.099-48.039z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1 @@
|
|||
<svg viewBox="43.727 35.716 186.52 130.194" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" fill="#DFDEDE" d="M225.982 109.258c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.222 10.456-44.276 31.967-38.104 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.098-48.039"/><path fill="none" stroke="#D8FFA5" stroke-width="5" stroke-miterlimit="10" d="M225.982 109.258c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.222 10.456-44.276 31.967-38.104 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.098-48.039z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -0,0 +1 @@
|
|||
<svg viewBox="94.634 56.652 88.879 79.521" xmlns="http://www.w3.org/2000/svg"><path d="m94.623 136.156 88.869-36.863-88.869-42.648s21.33 20.87 21.33 39.756c0 18.891-21.33 39.755-21.33 39.755"/></svg>
|
||||
|
After Width: | Height: | Size: 201 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="66.045 134.829 194 62.056"><path d="M73 195.773c15.5 2.5 165.69 0 175.47 0s9.028-6.834 9.028-6.834 1.959-4.05-31.998-5.666-60.152 2.646-76.576 5.573-65.882-.384-71.424-.601-20 5.028-4.5 7.528m175.495-26c-87.74-1.097-128.746 6.052-159.245 4.25-20.582-1.216-20.922-7.918-21.211-11.084s0-6.406 33.957-8.022 54.865 5.762 77.504 6.606c22.638.846 63.45.664 68.995.784 10.005.216 20.005 7.716 0 7.466M78.75 135.329s121.5-1.806 166.72 1.444c9.754.701 8.53 8 8.53 8s-4.541 6.668-33 6.5c-33.996-.201-52.361-8.656-75-9.5-22.638-.846-67.416 2.225-72.958 2.442s-11.43-8.886 5.708-8.886"/></svg>
|
||||
<svg viewBox="30.048 56.889 207.767 78.951" xmlns="http://www.w3.org/2000/svg"><path d="M38.421 133.462c16.438 3.1 175.723 0 186.094 0 10.372 0 9.575-8.475 9.575-8.475s2.077-5.022-33.935-7.026c-36.015-2.005-63.796 3.282-81.213 6.912-17.419 3.628-69.872-.477-75.749-.747-5.878-.269-21.211 6.234-4.772 9.336m186.121-32.241c-93.052-1.36-136.54 7.504-168.887 5.27-21.829-1.507-22.188-9.818-22.495-13.744s0-7.943 36.014-9.948c36.013-2.005 58.187 7.146 82.195 8.191 24.01 1.049 67.293.823 73.173.972 10.61.268 21.215 9.568 0 9.259M44.52 58.509S173.376 56.27 221.333 60.3c10.344.87 9.046 9.92 9.046 9.92s-4.816 8.269-34.997 8.06c-36.054-.25-55.531-10.734-79.542-11.78-24.007-1.049-71.499 2.759-77.374 3.029-5.878.268-12.123-11.02 6.054-11.02" fill="#2B2B2B"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 631 B After Width: | Height: | Size: 760 B |
|
|
@ -34,16 +34,16 @@
|
|||
],
|
||||
"integrity": "sha512-BYIJDDOI3NTIytshd2k13/Wyep1oJ6pfwg9dCdZ18XVQrzO9uj99f5wF9bS0pjKa7OkbM2F27wF817UKn6thgg=="
|
||||
},
|
||||
"_index.BAmxwLeJ.js": {
|
||||
"file": "index.BAmxwLeJ.js",
|
||||
"name": "index",
|
||||
"integrity": "sha512-E0xMh+fknNA3qU/PWB1CGEt+KPvqyjwxT1MTGlkyrSr4VJ3pMqsW76MxNVhIfUdVt+xlOBpxqqSAYomFdTjgjQ=="
|
||||
},
|
||||
"_index.CeK6pfoJ.js": {
|
||||
"file": "index.CeK6pfoJ.js",
|
||||
"name": "index",
|
||||
"integrity": "sha512-cxTw0sKKut2H95JwMgiKgEVLyZ0QswK/HydKTapcqcs3w6xHIHNUpYBLdRzEYdeRfHKUsA0kvPNBXBk/QeazjQ=="
|
||||
},
|
||||
"_index.DxUTT09Y.js": {
|
||||
"file": "index.DxUTT09Y.js",
|
||||
"name": "index",
|
||||
"integrity": "sha512-ktQDmsOsv0yimT9VIoz9bZriykTetX5qhLN5BMGkJXvqxj9Z1rKiZ1wbDVj3r6bWs4/S0PGPSJevtJyGx+vcow=="
|
||||
},
|
||||
"_pipe.XPB0wEfw.js": {
|
||||
"file": "pipe.XPB0wEfw.js",
|
||||
"name": "pipe",
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
"name": "dom",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
|
||||
"isEntry": true,
|
||||
"integrity": "sha512-2Ar/pvj8qBi/+vgGiExcb4HheX7rZIkbE2m0Ni5lh+aQveBc+dhZLQfEsBzUVZl/nI73900eqRgPb9gvAIFJVQ=="
|
||||
"integrity": "sha512-zrRYjeLsGft8dotzdw4tkD1FXuWNpnW/rZMcat4ryVVD3JHAg/0ubE+ewPmg1aWxnPKKv4bSHTND8KmajUaI2w=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/erreurs.ts": {
|
||||
"file": "erreurs.js",
|
||||
|
|
@ -77,6 +77,13 @@
|
|||
"isEntry": true,
|
||||
"integrity": "sha512-cXQkAzCU4YB9DhSISYUNfuR3eHjrl1TUQH2zyeCUL6FjuU7iLntlvYKMD1weSH4N9B0J+kd9Kf+aZQ8I7YgmWg=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts": {
|
||||
"file": "messages-utilisateur.js",
|
||||
"name": "messages-utilisateur",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts",
|
||||
"isEntry": true,
|
||||
"integrity": "sha512-ntCxJrcvoj570ITUbCTPg8TiQibosb7JAfjgjXIfDBkqzaBbY+ZkMYIq6Dke5v+n2FV0M17U1yX6R0tQi5WTBQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": {
|
||||
"file": "messages3.js",
|
||||
"name": "messages",
|
||||
|
|
@ -85,11 +92,18 @@
|
|||
"integrity": "sha512-M8me/iGRLfItVHaEf+BhA3xdEIxEwdyNuN+H87daJ1jl1oOENbROB7ub6RPP47NdFsQUChTRphEhQglT+qc6RA=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts": {
|
||||
"file": "orders3.js",
|
||||
"file": "orders2.js",
|
||||
"name": "orders",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts",
|
||||
"isEntry": true,
|
||||
"integrity": "sha512-dLV15du4JF6iPF2I93pExJpqAG13hXNCrRj8hF1dO47SFaa/7S74hT3puqnojjF5g1vStbjuGX+dLVklMIZuOw=="
|
||||
"integrity": "sha512-wV9B3cW/1TnjBcesuc4a2M+28+67nsmX2++/Up1QUraP4Bdzbn9RiToohkone5Z+1mZNOjB/Hrd8x7Gc+jtVvg=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/pays.ts": {
|
||||
"file": "pays.js",
|
||||
"name": "pays",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/pays.ts",
|
||||
"isEntry": true,
|
||||
"integrity": "sha512-/CgY6GFeg59NtZamE/OT4dht8avB/GGy3sOOsyGpUaXZhWWoIApYWzCjITzLdWQfnktSDp9oYrKrB9FHlXaaYQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts": {
|
||||
"file": "products2.js",
|
||||
|
|
@ -138,7 +152,7 @@
|
|||
"imports": [
|
||||
"_exports.B84S-6H1.js"
|
||||
],
|
||||
"integrity": "sha512-q/vBNk2FX1du9asWIUsTxJPU+FX2AkQY6LWPQHAVAWR/8fkrhKFaKdih18+40mxqe8zEfzGg9fUfoR+h0SYvug=="
|
||||
"integrity": "sha512-pwU7oHZl8/bW66/vDeB6vK+TYGt9C6KhuXrDAb0pCAB5mw5rfh13n+IE0BfoBNyl8gzZ028Ry3JwsE5WCNac3g=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs/codes-promo.ts": {
|
||||
"file": "codes-promo.js",
|
||||
|
|
@ -172,7 +186,7 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
|
||||
|
|
@ -186,14 +200,14 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
|
||||
],
|
||||
"integrity": "sha512-wlzwhlDEUm0Ve46eIkBUSQA8hZSVAOZj42gCUdTy0fdeZmda64o6iz4v2+aYyaUQBbIFggxhYK3J0EQW2d42KA=="
|
||||
"integrity": "sha512-wAOaUWM+DfCqqwQifxuqfWQyCEoEtQKAQMRWca3XBJihhtnsdX35lZTAOFK2BJdoQfXkuzCIzgj+gFSzVjuvEg=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts": {
|
||||
"file": "nombres.js",
|
||||
"name": "nombres",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts",
|
||||
"isEntry": true,
|
||||
"integrity": "sha512-3FI/eGnQR8WaEoNLUMe9krKJAe4RR7Gnro7ep7HlMLFi1oH5ncmpMGcja99iAkxFFJLhb+qa8nGPLfWr6V4F5g=="
|
||||
"integrity": "sha512-yddD95sZWt7ejVWNrDZWkst46WEV2uLxhXOp85ZQRILH6/Pyd326sUBUC/3AO7EX5JtEsICqaFq89gK3PoPvYg=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts": {
|
||||
"file": "reseau.js",
|
||||
|
|
@ -202,14 +216,14 @@
|
|||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.CeK6pfoJ.js",
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
|
||||
"_pipe.XPB0wEfw.js",
|
||||
"_exports.B84S-6H1.js"
|
||||
],
|
||||
"integrity": "sha512-aitZrp9G4pXD0IfVhDyZVfh1vgxpES6hfrB6h+Jkpe9ApSK634ne2J5WI7Q5VpZcIHSjVXAsIxMjPLNrx0x4Kw=="
|
||||
"integrity": "sha512-loMYXW+YiwXjqxLKLopE4gh/wO00B/rmhp/IU0pBYDHP2Ty5lLIqZQ+9CAtveN8wzokcZhrWlshJGkmKfK0Ekw=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts": {
|
||||
"file": "adresses.js",
|
||||
|
|
@ -217,9 +231,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-H+aWaFlRjfS2cY3XWyOArYWnFBAV0weV9FMIEvTEFHiEeojtEkK++tJliJLQug2xOYPoMr6BwV3+TuRK+nSSng=="
|
||||
"integrity": "sha512-wmEkUAIn/ZT1GmOwBNfdbwpcN9gDoPKU1Vc9ikkf7PqQ6aM3Ns3PB0PdxE/NjrhbZu/C5nHBP0EwrOYNJfr71Q=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts": {
|
||||
"file": "cart-add-item.js",
|
||||
|
|
@ -227,9 +241,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-ym6kcAMCCgjH0vatLjbKnTQ2231MGzFV5eNBlxFoDflkKKxPe8xHvnjJbJSTNXFFFTQammafUY3iPqVQ7WdrxA=="
|
||||
"integrity": "sha512-rTH6MPE90T0SxQckPL3dKNMl49jCa72NJulit7JVXf2uDO4tCxy4bfy49cDS5s9oSMwKmwx1ocBbdo6rBcG98g=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts": {
|
||||
"file": "cart-apply-coupon.js",
|
||||
|
|
@ -237,9 +251,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-MPKrUdFgPDWEPG0o82PDqPKArhbB6OVTdmeEoSKYjM+PvNsoVM0OeY+pujz5nGkU/daHBd4HriBQqV/dvcW6ww=="
|
||||
"integrity": "sha512-n6yRHUQcLw99oNatxVPQafVj2G23S1aUMD/G0WrCAa+5jD7jRvzoZSgjqkd5qfcLVbCsuf3K/dBaXTvUkrzeHw=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts": {
|
||||
"file": "cart-coupons.js",
|
||||
|
|
@ -247,9 +261,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-qdooRawTXSQsJWbwGQ5HHFzG39Cw7eFpUDgCqzQqWs8zhVQYvvunO1n4fwXWttekDr7VVChj6IzjUmv4JMdTdA=="
|
||||
"integrity": "sha512-iiRKujp1OS4N0B3fbfcNm7DKfza8U69jo2fP114OJB1k5j/1XraOiOqT1upfp+pYGvf+vcB1b/KMe3xtMYl5aw=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts": {
|
||||
"file": "cart-remove-coupon.js",
|
||||
|
|
@ -257,9 +271,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-fuTTvmIWBTDpR47Wlc4bwacRjTqAa7PZpqHWBz+aAj1zTYnwIQdd/tujRGmDPx8GNiIOaz1w0jyhRyz8YZL82Q=="
|
||||
"integrity": "sha512-Hi9OJ4W6y+ZjwehkxQvjXLiJ2N+doCQh6NRLoLe3L9/SESV3x8Bunp/e7xuW+5dNAsVQ3V6wXu//f/Ri64HFMQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts": {
|
||||
"file": "cart-remove-item.js",
|
||||
|
|
@ -267,9 +281,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-KaWApeBMfdizR8XIwwdVlPigDiuSAkVntzfoVoPx2+L74qnIRlqVzC/h8wmR5iLtJiRHUf8onWKZWTy/YJi0GA=="
|
||||
"integrity": "sha512-RZfXZt0KF5ZreFiF3jRPg4/Zq25llqHkeBnEvuYZkxjh1T6nUz5v8n8EY/j8SZ/AZqnxsx2mbcdUoBacU2pDug=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts": {
|
||||
"file": "cart-update-customer.js",
|
||||
|
|
@ -277,10 +291,10 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
|
||||
],
|
||||
"integrity": "sha512-1vsGL4zPWg3ip4cdi+gB+QlHhjCAwn3ETg/rAGJrlDFOoNHLzkaC4Z4iJwVRMzlsISvKAHYuwQxFv1tSF26raA=="
|
||||
"integrity": "sha512-n2CINQ+R781uRSqyOWnrFao9BPdXhgmBvXXUTO87FTOqlUFVfDtlAmJVKcjcQQRH/dlhYiHFOJSbv8NvHKfNWA=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts": {
|
||||
"file": "cart-update-item.js",
|
||||
|
|
@ -288,9 +302,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-enT7JXW/as+17/IgNE8HTIWumHyycCfOA1A2ViB2BX2+Sb5+yg941ATZCMF00/yIzgy/0po/HPITeEhUcTxCQA=="
|
||||
"integrity": "sha512-1hXY5Nq5BVY+3chpLI7L8IOyyc8JktnOZmzMs7VtAS8K98l2kHprqwpbPWj0KDngRU16XN/DvMcC9463ySx5OA=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts": {
|
||||
"file": "cart.js",
|
||||
|
|
@ -298,13 +312,13 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
|
||||
],
|
||||
"integrity": "sha512-nkAa5GpdXm5SEv5taFhiOdunn7bOKm61N1kVyEHzPGM4sa1irsAzExc5RMXEsEjim4ZA7RseBjo6pngFXFxpIg=="
|
||||
"integrity": "sha512-uDfpSomB/fczIMXAfodaNTIlK6vhTP4ecROfIXdPBb/8ve3xMQ3GzCyOWzYe6XwEt6fbu5dnAOllBdpqw+KxWQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts": {
|
||||
"file": "couts-livraison.js",
|
||||
|
|
@ -312,10 +326,10 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
|
||||
],
|
||||
"integrity": "sha512-Wba/eKVlVqEczLMMk3dl0p9KUI7dhNomuSIqltE35s+m9svN/k+dMr49WEyFYlchuQLH6Om19wm0VmnLPvOZmg=="
|
||||
"integrity": "sha512-0ComqT1KV9mO/xyu27DPA3cxU0Goj2eheadgA6BrI6el8jhDpZ2IzuBr9nLEZu8LiJBhVjTdf2mTJvaj1RW5fQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts": {
|
||||
"file": "erreurs3.js",
|
||||
|
|
@ -323,9 +337,9 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js"
|
||||
"_index.BAmxwLeJ.js"
|
||||
],
|
||||
"integrity": "sha512-/iSqgsgUyBySdgT4/xxOppkIw5kwUV6Ka0auhf2ZeSdqk6QETJm0bj5Ydt3wWdPyncFIlva3ousWwTkw5Sp7Mg=="
|
||||
"integrity": "sha512-96Vw1KG59Qa/gbhTikPPY/NcS1GoGO2L8QQwS1YQTsfz4+2tPOBbYRBW3LERKZ02CvGX1ANjLcsTgJVnCQCvig=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts": {
|
||||
"file": "products3.js",
|
||||
|
|
@ -333,22 +347,22 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts"
|
||||
],
|
||||
"integrity": "sha512-Mr2P09suX7KY2cCzn+cqLdRLDHPDJC/RIsFFlB0VudZZoIE9unlsB3BjSvlzmKrBly5QP3jgnq2+7dKqSHlzMw=="
|
||||
"integrity": "sha512-n7UHTZAPwgAZ8IEW3ZE3RVOPFQTMLNEw9dbyjxCVaTraee+pb4XK7Ap9zp69/AMrqsK4qp2g22HakNjkRssbYw=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts": {
|
||||
"file": "orders2.js",
|
||||
"file": "orders.js",
|
||||
"name": "orders",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
|
||||
],
|
||||
"integrity": "sha512-moB98oUqT6LBlhauPLs5NaX25U/sAMuCRVbfu231Ld/mvdCW4xAd9MUd4l/wrHPckLGSDcU/1jlGPcilj5QmzQ=="
|
||||
"integrity": "sha512-9xPXYXbYYX6m2Q8yJ608vjvjQv87nXHHtzBS0/xH7bXYaIeOvxMyXC1wQbBnT5h8dAxLECJXp7j2owACusFkVw=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts": {
|
||||
"file": "products.js",
|
||||
|
|
@ -356,10 +370,10 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts"
|
||||
],
|
||||
"integrity": "sha512-/3pK99mes4gepaV1xY0662S9Wat4PYzOz/0433XYMmGmWzZHUhZ8lEWC2DH8ohCJv09LrvVGOPcFAvlM23KdxQ=="
|
||||
"integrity": "sha512-sILVtT8TZ7/mRGnYgexDlu3XkWMhV06nONZQgFyNtVMTa67v16rleeXSqvD4WDkfuX+Mr+u1A+l5sdt6ZC2G0g=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": {
|
||||
"file": "messages2.js",
|
||||
|
|
@ -367,7 +381,7 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
|
||||
|
|
@ -375,14 +389,14 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
|
||||
],
|
||||
"integrity": "sha512-e0iafVBzxA+LOMbD4VlzjtXW1GU/LmETBKAQ5cV7glJdsaY5/ZWVGcSOOPdwT6kvQkMBohKCgn9K5Bqwoi38zA=="
|
||||
"integrity": "sha512-9WH8aFHYVFBnQi/lSGLegnhrEOMIiRs7lFc2mbHi5vE88oMARO1HjSYOtKIOd2bvM7oMKLMtaMt2EVqnNkg89w=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts": {
|
||||
"file": "orders.js",
|
||||
"file": "orders3.js",
|
||||
"name": "orders",
|
||||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts",
|
||||
"isEntry": true,
|
||||
"integrity": "sha512-FxX8RZIDDZuWNSNyFz9fYxNVJyRtwOZfK0KQ6c3Vn98d/Ovd3m+OjmjXXiYnENzH86EpLIuHjxc/RiUIVsAvDQ=="
|
||||
"integrity": "sha512-nqCjj7B9DjVJS7/4WgLDt58w1LMfLMxDfutD7vY99PNX9rjdiF1ckCffcMuxCGureeEu8qw9RCRKMavMDEX2bw=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/products.ts": {
|
||||
"file": "products4.js",
|
||||
|
|
@ -411,10 +425,10 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"_Either.wHNxn7Os.js"
|
||||
],
|
||||
"integrity": "sha512-U0Sy/QxwPcY4OUTn9k7ece4cny1Ll3yog6ruooDxnpcirIJAhl2GbEanmqCF1blDxuoTtm9rKS6bGpGsIPprEg=="
|
||||
"integrity": "sha512-GM0GW8/eqaFrADOWenlukpNZ6uKPXkkYwbqxnLh1UIVX3Y6vbIynEkoHAQmV6N2Y8CQqYqn3KOZVjFaOIAqNIQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": {
|
||||
"file": "scripts-bouton-panier.js",
|
||||
|
|
@ -431,7 +445,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
|
||||
"_exports.B84S-6H1.js",
|
||||
"_Either.wHNxn7Os.js",
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
|
||||
|
|
@ -441,7 +455,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts"
|
||||
],
|
||||
"integrity": "sha512-5DuXjp8NW4E71AvgK4y9ge4/5ocXdS9c6Ie1wzgh76JoJg1ZNAtNhmm6lEqjKciF5jbLcfpB8G3CEq0Lf5o9kQ=="
|
||||
"integrity": "sha512-KPHQIRKzYFgML+vcHuaxv/sYMBOIUc4teWg1aRW6cPVG3FzuBbxnSMoANdLBgMP9WlS2h6rJjoz25f4Ufc5GZg=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts": {
|
||||
"file": "scripts-menu-categories.js",
|
||||
|
|
@ -474,7 +488,7 @@
|
|||
"_pipe.XPB0wEfw.js",
|
||||
"_Either.wHNxn7Os.js"
|
||||
],
|
||||
"integrity": "sha512-Bc5ADRLy7iSHw9wGdk7UCNntLcYB4Z3V+nG9r2MqKIegMB4SpKEFnbUsuxfDt+5worX3WjI5rf8t2IgGvwcDOg=="
|
||||
"integrity": "sha512-tnv/ti8Uzabwvh5ElET2Xn15WO1gm4k+yO5+uu3QPTcoZ1VFs8eEtIuElZUSvckVC19fry54RDR8+B1pjn+vtQ=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts": {
|
||||
"file": "scripts-page-a-propos.js",
|
||||
|
|
@ -491,7 +505,7 @@
|
|||
"_exports.B84S-6H1.js",
|
||||
"_Either.wHNxn7Os.js"
|
||||
],
|
||||
"integrity": "sha512-CJGUIue+ioClxccUKzKChNl63VpTf7+uCVsEalt/wpDgAPwcdGIcDLH1Z0g2xYRY9DL/gCvnKUXleB6aAWarYQ=="
|
||||
"integrity": "sha512-ulL6aTirmFGcB1CKVwL+YfyG2gD7xNEBEerFJXcFk2O5tVXmSnAmycsFUJ1MWvpm+QbrL61WYO/lXAGrnnHDJA=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": {
|
||||
"file": "scripts-page-accueil.js",
|
||||
|
|
@ -517,15 +531,16 @@
|
|||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.CeK6pfoJ.js",
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
|
||||
"_MaybeAsync.AE1jnxuc.js",
|
||||
"_pipe.XPB0wEfw.js",
|
||||
"_index-0eef19ec.DoJSf22Z.js",
|
||||
|
|
@ -535,7 +550,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts",
|
||||
"_belt_Option-91f3b350.cBye8bLJ.js"
|
||||
],
|
||||
"integrity": "sha512-FFaHFK1310TtQEKVpGgo9MMgZGROVyV60mw5GXp4eWrVjbjXfVqVR1qd5+xlIIHbuzbGHLSNHFw9J8InWYhQMA=="
|
||||
"integrity": "sha512-mDfRg6AUV7ELjlESpovRKnM+SrJO2VwWrdYdVtwVsK8XujQYKi4DBX7N/t9kIdz3wc2EqJf2EkmMM3vEXgxj4A=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-adresses.ts": {
|
||||
"file": "scripts-page-panier-adresses.js",
|
||||
|
|
@ -544,9 +559,10 @@
|
|||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.CeK6pfoJ.js",
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
|
||||
|
|
@ -568,7 +584,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts"
|
||||
],
|
||||
"integrity": "sha512-1bj/xtpAb4T9nqhZReDmTKqT03Wnrx93tBLN0h50WYtr0X+leZ0YIy5yplO83PmqFrnt4s8FyoR8K0OLZt12ZQ=="
|
||||
"integrity": "sha512-ZniV1xRjm+fUp37n+6FG7vxj4uf/j/huaXzKPt4RpWzsvqM8EQ0HA1rJQap/nkQcDlfJoyS4mgHZB/9KreIBVg=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts": {
|
||||
"file": "scripts-page-panier-code-promo.js",
|
||||
|
|
@ -577,7 +593,7 @@
|
|||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.CeK6pfoJ.js",
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/erreurs.ts",
|
||||
|
|
@ -605,7 +621,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
|
||||
],
|
||||
"integrity": "sha512-wRjjWn9cL7y/mYhjwrm1GFVwBO15aStATpGa9MXGvfwAmZsVt6Ulz6riE/O+4JVvJ9nvb+EdWQonWehAC55J3Q=="
|
||||
"integrity": "sha512-8Jh+A5tydtawNbmBv9ppykEhVOwSOe26NSrcnwbYXBfwamkA2fq5elO4PXtr2c4TzT7zyJQgAonEt78qW5on5w=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": {
|
||||
"file": "scripts-page-panier.js",
|
||||
|
|
@ -613,7 +629,7 @@
|
|||
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
|
||||
|
|
@ -621,6 +637,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
|
||||
|
|
@ -640,6 +657,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/cart-coupons.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts",
|
||||
|
|
@ -651,7 +669,7 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts",
|
||||
"_belt_Option-91f3b350.cBye8bLJ.js"
|
||||
],
|
||||
"integrity": "sha512-0HVDbb+ZDwLw3RNt4yP16CE2HhnQsEev5ZhXYP8c1KppoEIW0Z1uXpwRrZ5CYeBKluQpX9P/45PD0E0qHOPqxw=="
|
||||
"integrity": "sha512-pqrzLLVckWlEUO4B0DziIEzQRxq3j8RsSCzqI/4ZZkQdOwf89sRx/iPgT+so/iVtJG2cGMJNi8VM94WUriCGZA=="
|
||||
},
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": {
|
||||
"file": "scripts-page-produit.js",
|
||||
|
|
@ -675,7 +693,7 @@
|
|||
"_index-0eef19ec.DoJSf22Z.js",
|
||||
"_Either.wHNxn7Os.js",
|
||||
"_exports.B84S-6H1.js",
|
||||
"_index.DxUTT09Y.js",
|
||||
"_index.BAmxwLeJ.js",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
|
||||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
|
||||
|
|
@ -685,6 +703,6 @@
|
|||
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
|
||||
"_belt_Option-91f3b350.cBye8bLJ.js"
|
||||
],
|
||||
"integrity": "sha512-rXLngIRzynideEoG746rDWELBrGA11T2vxGSgznGO4SjJbowoec3MhNLuDHONwQbxISU0vPXTjc8+Hls51f1EA=="
|
||||
"integrity": "sha512-mJ0+jacSm0UC339pLjBrtSm0bxhTF9VaZgWPBeS8JguId7qi6nQdgaHxUgvYHAqe6Yx1pjAWF7XM8kApUT6auQ=="
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, s as string } from "./index.DxUTT09Y.js";
|
||||
import { o as object, s as string } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreBillingAddressSchema = object({
|
||||
address_1: string(),
|
||||
address_2: string(),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, c as optional, n as number, b as array, s as string } from "./index.DxUTT09Y.js";
|
||||
import { o as object, k as optional, n as number, b as array, s as string } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreCartAddItemArgsItemsSchema = object({
|
||||
/** Variation attribute name. */
|
||||
attribute: string(),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, c as optional, s as string } from "./index.DxUTT09Y.js";
|
||||
import { o as object, k as optional, s as string } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreCartApplyCouponArgsSchema = object({
|
||||
/** Unique identifier for the coupon within the basket */
|
||||
code: optional(string())
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, s as string, a as pipe, j as integer, n as number } from "./index.DxUTT09Y.js";
|
||||
import { o as object, s as string, a as pipe, h as integer, n as number } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreCartCouponsSchema = object({
|
||||
/** The coupon's unique code. */
|
||||
code: string(),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, c as optional, s as string } from "./index.DxUTT09Y.js";
|
||||
import { o as object, k as optional, s as string } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreCartRemoveCouponArgsSchema = object({
|
||||
/** Unique identifier for the coupon within the basket */
|
||||
code: optional(string())
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, s as string } from "./index.DxUTT09Y.js";
|
||||
import { o as object, s as string } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreCartRemoveItemArgsSchema = object({
|
||||
/** Unique identifier (key) for the basket item. */
|
||||
key: string()
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, c as optional } from "./index.DxUTT09Y.js";
|
||||
import { o as object, k as optional } from "./index.BAmxwLeJ.js";
|
||||
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
|
||||
const WCStoreCartUpdateCustomerArgsSchema = object({
|
||||
billing_address: optional(WCStoreBillingAddressSchema),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, s as string, a as pipe, m as minValue, n as number } from "./index.DxUTT09Y.js";
|
||||
import { o as object, s as string, a as pipe, m as minValue, n as number } from "./index.BAmxwLeJ.js";
|
||||
const WCStoreCartUpdateItemArgsSchema = object({
|
||||
/** Unique identifier (key) for the basket item to update. */
|
||||
key: string(),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, d as boolean, e as enum_, s as string, u as unknown, n as number, b as array, f as union, a as pipe, g as null_, h as url, j as integer } from "./index.DxUTT09Y.js";
|
||||
import { o as object, c as boolean, e as enum_, s as string, u as unknown, n as number, b as array, d as union, a as pipe, f as null_, g as url, h as integer } from "./index.BAmxwLeJ.js";
|
||||
import { C as CATALOG_VISIBILITIES } from "./cart2.js";
|
||||
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
|
||||
import { W as WCStoreCartCouponsSchema } from "./cart-coupons.js";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, k as omit, b as array, s as string, n as number, u as unknown, d as boolean } from "./index.DxUTT09Y.js";
|
||||
import { o as object, j as omit, b as array, s as string, n as number, u as unknown, c as boolean } from "./index.BAmxwLeJ.js";
|
||||
import { a as WCStoreShippingAddressSchema } from "./adresses.js";
|
||||
const WCStoreShippingRateItemSchema = object({
|
||||
key: string(),
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ const SELECTEUR_ENSEMBLE_CODE_PROMO = "#panneau-panier #ensemble-code-promo";
|
|||
const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo";
|
||||
const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo";
|
||||
const SELECTEUR_MESSAGE_CODE_PROMO = "#panneau-panier .panneau__instructions-code-promo__code-promo__message";
|
||||
const SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES = "#panneau-informations-client #message-formulaire-adresses";
|
||||
const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling";
|
||||
const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image";
|
||||
const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits";
|
||||
|
|
@ -63,44 +64,45 @@ const SELECTEUR_IMAGE_COLONNE_GAUCHE = ".colonne-gauche img";
|
|||
const SELECTEUR_IMAGES_COLONNE_DROITE = ".colonne-droite img";
|
||||
const SELECTEUR_PRIX_PRODUIT = ".selecteur-produit__prix";
|
||||
export {
|
||||
SELECTEUR_BOUTON_MENU_MOBILE as $,
|
||||
ATTRIBUT_PRIX as $,
|
||||
ATTRIBUT_CONTIENT_ARTICLES as A,
|
||||
SELECTEUR_FORMULAIRE_PANIER as B,
|
||||
SELECTEUR_INSTRUCTIONS_CLIENT as C,
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT as D,
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE as E,
|
||||
ATTRIBUT_CHARGEMENT as F,
|
||||
SELECTEUR_BOUTON_CODE_PROMO as G,
|
||||
SELECTEUR_CHAMP_CODE_PROMO as H,
|
||||
SELECTEUR_ENSEMBLE_CODE_PROMO as I,
|
||||
SELECTEUR_MESSAGE_CODE_PROMO as J,
|
||||
SELECTEUR_TOTAL_REDUCTION as K,
|
||||
ATTRIBUT_CODE_PROMO_PRESENT as L,
|
||||
SELECTEUR_BOUTON_AJOUT_PANIER as M,
|
||||
SELECTEUR_SELECTEUR_QUANTITE as N,
|
||||
SELECTEUR_LIENS_ONGLETS as O,
|
||||
SELECTEUR_SECTIONS_CONTENUS as P,
|
||||
SELECTEUR_PRIX_PRODUIT as Q,
|
||||
SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as R,
|
||||
SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as B,
|
||||
SELECTEUR_FORMULAIRE_PANIER as C,
|
||||
SELECTEUR_INSTRUCTIONS_CLIENT as D,
|
||||
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES as E,
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT as F,
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE as G,
|
||||
SELECTEUR_BOUTON_CODE_PROMO as H,
|
||||
SELECTEUR_CHAMP_CODE_PROMO as I,
|
||||
SELECTEUR_ENSEMBLE_CODE_PROMO as J,
|
||||
SELECTEUR_MESSAGE_CODE_PROMO as K,
|
||||
SELECTEUR_TOTAL_REDUCTION as L,
|
||||
ATTRIBUT_CODE_PROMO_PRESENT as M,
|
||||
SELECTEUR_BOUTON_AJOUT_PANIER as N,
|
||||
SELECTEUR_SELECTEUR_QUANTITE as O,
|
||||
SELECTEUR_LIENS_ONGLETS as P,
|
||||
SELECTEUR_SECTIONS_CONTENUS as Q,
|
||||
SELECTEUR_PRIX_PRODUIT as R,
|
||||
SELECTEUR_BOUTON_PANIER as S,
|
||||
SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as T,
|
||||
SELECTEUR_FLECHE_DEFILEMENT_DROITE as U,
|
||||
SELECTEUR_PHOTOS_PRODUIT as V,
|
||||
SELECTEUR_IMAGE_COLONNE_GAUCHE as W,
|
||||
SELECTEUR_IMAGES_COLONNE_DROITE as X,
|
||||
ATTRIBUT_INDEX_IMAGE_ACTIVE as Y,
|
||||
ATTRIBUT_ARIA_SELECTED as Z,
|
||||
ATTRIBUT_PRIX as _,
|
||||
SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as T,
|
||||
SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as U,
|
||||
SELECTEUR_FLECHE_DEFILEMENT_DROITE as V,
|
||||
SELECTEUR_PHOTOS_PRODUIT as W,
|
||||
SELECTEUR_IMAGE_COLONNE_GAUCHE as X,
|
||||
SELECTEUR_IMAGES_COLONNE_DROITE as Y,
|
||||
ATTRIBUT_INDEX_IMAGE_ACTIVE as Z,
|
||||
ATTRIBUT_ARIA_SELECTED as _,
|
||||
SELECTEUR_MENU_CATEGORIES_PRODUITS as a,
|
||||
SELECTEUR_MENU_MOBILE as a0,
|
||||
ATTRIBUT_MENU_MOBILE_ACTIVE as a1,
|
||||
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as a2,
|
||||
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as a3,
|
||||
CLASS_BOUTON_FERMETURE_BOITE_TEXTE as a4,
|
||||
CLASS_EPINGLE as a5,
|
||||
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as a6,
|
||||
SELECTEUR_EPINGLE as a7,
|
||||
SELECTEUR_BOITE_TEXTE as a8,
|
||||
SELECTEUR_BOUTON_MENU_MOBILE as a0,
|
||||
SELECTEUR_MENU_MOBILE as a1,
|
||||
ATTRIBUT_MENU_MOBILE_ACTIVE as a2,
|
||||
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as a3,
|
||||
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as a4,
|
||||
CLASS_BOUTON_FERMETURE_BOITE_TEXTE as a5,
|
||||
CLASS_EPINGLE as a6,
|
||||
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as a7,
|
||||
SELECTEUR_EPINGLE as a8,
|
||||
SELECTEUR_BOITE_TEXTE as a9,
|
||||
SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS as b,
|
||||
SELECTEUR_CONTENEUR_STORYTELLING as c,
|
||||
SELECTEUR_IMAGES_STORYTELLING as d,
|
||||
|
|
@ -110,21 +112,21 @@ export {
|
|||
SELECTEUR_GRILLE_PRODUITS as h,
|
||||
ATTRIBUT_ID_CATEGORIE_PRODUITS as i,
|
||||
ATTRIBUT_PAGE as j,
|
||||
ATTRIBUT_HIDDEN as k,
|
||||
SELECTEUR_ENTREES_PANIER as l,
|
||||
SELECTEUR_CONTENEUR_PANIER as m,
|
||||
SELECTEUR_SOUS_TOTAL_PRODUITS as n,
|
||||
SELECTEUR_TOTAL_REDUCTION_VALEUR as o,
|
||||
SELECTEUR_TOTAL_PANIER as p,
|
||||
SELECTEUR_BOUTON_SEPARATION_ADRESSES as q,
|
||||
SELECTEUR_FORMULAIRE_FACTURATION as r,
|
||||
ATTRIBUT_CLE_PANIER as s,
|
||||
SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE as t,
|
||||
SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER as u,
|
||||
SELECTEUR_BOUTON_ADDITION_QUANTITE as v,
|
||||
SELECTEUR_BOUTON_SUPPRESSION_PANIER as w,
|
||||
SELECTEUR_PRIX_LIGNE_PANIER as x,
|
||||
ATTRIBUT_DESACTIVE as y,
|
||||
SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as z
|
||||
ATTRIBUT_DESACTIVE as k,
|
||||
ATTRIBUT_CHARGEMENT as l,
|
||||
ATTRIBUT_HIDDEN as m,
|
||||
SELECTEUR_ENTREES_PANIER as n,
|
||||
SELECTEUR_CONTENEUR_PANIER as o,
|
||||
SELECTEUR_SOUS_TOTAL_PRODUITS as p,
|
||||
SELECTEUR_TOTAL_REDUCTION_VALEUR as q,
|
||||
SELECTEUR_TOTAL_PANIER as r,
|
||||
SELECTEUR_BOUTON_SEPARATION_ADRESSES as s,
|
||||
SELECTEUR_FORMULAIRE_FACTURATION as t,
|
||||
ATTRIBUT_CLE_PANIER as u,
|
||||
SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE as v,
|
||||
SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER as w,
|
||||
SELECTEUR_BOUTON_ADDITION_QUANTITE as x,
|
||||
SELECTEUR_BOUTON_SUPPRESSION_PANIER as y,
|
||||
SELECTEUR_PRIX_LIGNE_PANIER as z
|
||||
};
|
||||
//# sourceMappingURL=dom.js.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -70,6 +70,7 @@ const reporteEtLeveErreur = (erreur) => {
|
|||
throw erreur;
|
||||
};
|
||||
export {
|
||||
BadRequestError as B,
|
||||
CleNonTrouveError as C,
|
||||
ErreurInconnue as E,
|
||||
ServerError as S,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, n as number, i as is, s as string } from "./index.DxUTT09Y.js";
|
||||
import { o as object, n as number, i as is, s as string } from "./index.BAmxwLeJ.js";
|
||||
const WCErrorBodySchema = object({
|
||||
code: string(),
|
||||
data: object({
|
||||
|
|
|
|||
|
|
@ -600,15 +600,15 @@ export {
|
|||
ValiError as V,
|
||||
pipe as a,
|
||||
array as b,
|
||||
optional as c,
|
||||
boolean as d,
|
||||
boolean as c,
|
||||
union as d,
|
||||
enum_ as e,
|
||||
union as f,
|
||||
null_ as g,
|
||||
url as h,
|
||||
null_ as f,
|
||||
url as g,
|
||||
integer as h,
|
||||
is as i,
|
||||
integer as j,
|
||||
omit as k,
|
||||
omit as j,
|
||||
optional as k,
|
||||
maxValue as l,
|
||||
minValue as m,
|
||||
number as n,
|
||||
|
|
@ -618,4 +618,4 @@ export {
|
|||
unknown as u,
|
||||
value as v
|
||||
};
|
||||
//# sourceMappingURL=index.DxUTT09Y.js.map
|
||||
//# sourceMappingURL=index.BAmxwLeJ.js.map
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,5 @@
|
|||
const ERREUR_GENERIQUE_SOUMISSION_ADRESSES = "Something went wrong while submitting the addresses. Please refresh your page and try again?";
|
||||
export {
|
||||
ERREUR_GENERIQUE_SOUMISSION_ADRESSES as E
|
||||
};
|
||||
//# sourceMappingURL=messages-utilisateur.js.map
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"messages-utilisateur.js","sources":["../../src/scripts/constantes/messages-utilisateur.ts"],"sourcesContent":["/** Constantes des Messages affichés aux Utilisateurs. */\n\nexport const ERREUR_GENERIQUE_SOUMISSION_ADRESSES =\n \"Something went wrong while submitting the addresses. Please refresh your page and try again?\";\n"],"names":[],"mappings":"AAEO,MAAM,uCACX;"}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { p as parse } from "./index.DxUTT09Y.js";
|
||||
import { p as parse } from "./index.BAmxwLeJ.js";
|
||||
import { N as NOM_CANAL_BOUTON_PANIER, T as TYPES_MESSAGES, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js";
|
||||
import { r as reporteErreur } from "./erreurs2.js";
|
||||
import { W as WCErrorSchema } from "./erreurs3.js";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { e as enum_, o as object, a as pipe, v as value, s as string, n as number, b as array } from "./index.DxUTT09Y.js";
|
||||
import { e as enum_, o as object, a as pipe, v as value, s as string, n as number, b as array } from "./index.BAmxwLeJ.js";
|
||||
import { T as TYPES_MESSAGES } from "./messages3.js";
|
||||
import { a as WCStoreCartItemSchema } from "./cart.js";
|
||||
import "./cart2.js";
|
||||
|
|
|
|||
|
|
@ -163,7 +163,15 @@ var n = {
|
|||
clamp
|
||||
};
|
||||
const estEntreDeuxNombres = (nombre, min, max) => n.gte(nombre, min) && n.lt(nombre, max);
|
||||
const diviseParCent = (n2) => Number(n2) / 100;
|
||||
const arrondisAZeroOuDeuxDecimales = (n2) => Number(n2) / Math.round(Number(n2)) === 1 ? Number(n2).toFixed(0) : Number(n2).toFixed(2);
|
||||
const inverseNombre = (n2) => Number(n2) * -1;
|
||||
const formateEnEuros = (n2) => `${String(n2)}€`;
|
||||
export {
|
||||
estEntreDeuxNombres as e
|
||||
arrondisAZeroOuDeuxDecimales as a,
|
||||
diviseParCent as d,
|
||||
estEntreDeuxNombres as e,
|
||||
formateEnEuros as f,
|
||||
inverseNombre as i
|
||||
};
|
||||
//# sourceMappingURL=nombres.js.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +1,162 @@
|
|||
|
||||
import { o as object, a as pipe, b as array, s as string, e as enum_, d as union, k as optional, c as boolean, u as unknown, h as integer, n as number, f as null_ } from "./index.BAmxwLeJ.js";
|
||||
import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders2.js";
|
||||
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
|
||||
const WCV3OrdersCouponLineMetaDataSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersCouponLineSchema = object({
|
||||
code: string(),
|
||||
discount: string(),
|
||||
discount_tax: string(),
|
||||
discount_type: string(),
|
||||
free_shipping: boolean(),
|
||||
id: pipe(number(), integer()),
|
||||
meta_data: array(WCV3OrdersCouponLineMetaDataSchema),
|
||||
nominal_amount: number()
|
||||
});
|
||||
const WCV3OrdersFeeLineMetaDataSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersFeeLineTaxSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
subtotal: string(),
|
||||
total: string()
|
||||
});
|
||||
const WCV3OrdersFeeLineSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
meta_data: array(WCV3OrdersFeeLineMetaDataSchema),
|
||||
name: string(),
|
||||
tax_class: string(),
|
||||
tax_status: enum_(TAX_STATUSES),
|
||||
taxes: array(WCV3OrdersFeeLineTaxSchema),
|
||||
total: string(),
|
||||
total_tax: string()
|
||||
});
|
||||
const WCV3OrdersShippingLineMetaDataSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersShippingLineTaxSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
total: string()
|
||||
});
|
||||
const WCV3OrdersShippingLineSchema = object({
|
||||
id: optional(pipe(number(), integer())),
|
||||
meta_data: optional(array(WCV3OrdersShippingLineMetaDataSchema)),
|
||||
method_id: optional(string()),
|
||||
method_title: optional(string()),
|
||||
taxes: optional(array(WCV3OrdersShippingLineTaxSchema)),
|
||||
total: optional(string()),
|
||||
total_tax: optional(string())
|
||||
});
|
||||
const WCV3OrdersLineItemImageSchema = object({
|
||||
id: union([string(), pipe(number(), integer())]),
|
||||
src: string()
|
||||
});
|
||||
const WCV3OrdersLineItemMetaDataSchema = object({
|
||||
display_key: string(),
|
||||
display_value: string(),
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersLineItemTaxSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
subtotal: string(),
|
||||
total: string()
|
||||
});
|
||||
const WCV3OrdersLineItemSchema = object({
|
||||
id: optional(pipe(number(), integer())),
|
||||
image: optional(WCV3OrdersLineItemImageSchema),
|
||||
meta_data: optional(array(WCV3OrdersLineItemMetaDataSchema)),
|
||||
name: optional(string()),
|
||||
parent_name: optional(union([string(), null_()])),
|
||||
price: optional(number()),
|
||||
product_id: optional(pipe(number(), integer())),
|
||||
quantity: optional(pipe(number(), integer())),
|
||||
sku: optional(string()),
|
||||
subtotal: optional(string()),
|
||||
subtotal_tax: optional(string()),
|
||||
tax_class: optional(string()),
|
||||
taxes: optional(array(WCV3OrdersLineItemTaxSchema)),
|
||||
total: optional(string()),
|
||||
total_tax: optional(string()),
|
||||
variation_id: optional(pipe(number(), integer()))
|
||||
});
|
||||
const WCV3OrdersArgsSchema = object({
|
||||
billing: optional(WCStoreBillingAddressSchema),
|
||||
coupon_lines: optional(array(WCV3OrdersCouponLineSchema)),
|
||||
currency: optional(string()),
|
||||
customer_id: optional(pipe(number(), integer())),
|
||||
customer_note: optional(string()),
|
||||
fee_lines: optional(array(WCV3OrdersFeeLineSchema)),
|
||||
line_items: optional(array(WCV3OrdersLineItemSchema)),
|
||||
manual_update: optional(boolean()),
|
||||
parent_id: optional(pipe(number(), integer())),
|
||||
payment_method: optional(string()),
|
||||
payment_method_title: optional(string()),
|
||||
set_paid: optional(boolean()),
|
||||
shipping: optional(WCStoreShippingAddressSchema),
|
||||
shipping_lines: optional(array(WCV3OrdersShippingLineSchema)),
|
||||
status: optional(enum_(ORDER_STATUSES)),
|
||||
transaction_id: optional(string())
|
||||
});
|
||||
const WCV3OrderSchema = object({
|
||||
billing: WCStoreBillingAddressSchema,
|
||||
cart_hash: string(),
|
||||
cart_tax: string(),
|
||||
coupon_lines: array(WCV3OrdersCouponLineSchema),
|
||||
created_via: string(),
|
||||
currency: string(),
|
||||
currency_symbol: string(),
|
||||
customer_id: pipe(number(), integer()),
|
||||
customer_ip_address: string(),
|
||||
customer_note: string(),
|
||||
customer_user_agent: string(),
|
||||
date_completed: union([string(), null_()]),
|
||||
date_completed_gmt: union([string(), null_()]),
|
||||
// Date
|
||||
date_created: string(),
|
||||
date_created_gmt: string(),
|
||||
date_modified: string(),
|
||||
date_modified_gmt: string(),
|
||||
date_paid: union([string(), null_()]),
|
||||
date_paid_gmt: union([string(), null_()]),
|
||||
discount_tax: string(),
|
||||
discount_total: string(),
|
||||
fee_lines: array(WCV3OrdersFeeLineSchema),
|
||||
id: pipe(number(), integer()),
|
||||
is_editable: boolean(),
|
||||
line_items: array(WCV3OrdersLineItemSchema),
|
||||
meta_data: unknown(),
|
||||
needs_payment: boolean(),
|
||||
needs_processing: boolean(),
|
||||
number: string(),
|
||||
order_key: string(),
|
||||
parent_id: pipe(number(), integer()),
|
||||
payment_method: string(),
|
||||
payment_method_title: string(),
|
||||
payment_url: string(),
|
||||
prices_include_tax: boolean(),
|
||||
refunds: array(unknown()),
|
||||
shipping: WCStoreShippingAddressSchema,
|
||||
shipping_lines: array(WCV3OrdersShippingLineSchema),
|
||||
shipping_tax: string(),
|
||||
shipping_total: string(),
|
||||
status: enum_(ORDER_STATUSES),
|
||||
tax_lines: array(unknown()),
|
||||
total: string(),
|
||||
total_tax: string(),
|
||||
transaction_id: string(),
|
||||
version: string()
|
||||
});
|
||||
export {
|
||||
WCV3OrdersArgsSchema as W,
|
||||
WCV3OrderSchema as a
|
||||
};
|
||||
//# sourceMappingURL=orders.js.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,162 +1,20 @@
|
|||
import { o as object, a as pipe, b as array, s as string, e as enum_, f as union, c as optional, d as boolean, u as unknown, j as integer, n as number, g as null_ } from "./index.DxUTT09Y.js";
|
||||
import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders3.js";
|
||||
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
|
||||
const WCV3OrdersCouponLineMetaDataSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersCouponLineSchema = object({
|
||||
code: string(),
|
||||
discount: string(),
|
||||
discount_tax: string(),
|
||||
discount_type: string(),
|
||||
free_shipping: boolean(),
|
||||
id: pipe(number(), integer()),
|
||||
meta_data: array(WCV3OrdersCouponLineMetaDataSchema),
|
||||
nominal_amount: number()
|
||||
});
|
||||
const WCV3OrdersFeeLineMetaDataSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersFeeLineTaxSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
subtotal: string(),
|
||||
total: string()
|
||||
});
|
||||
const WCV3OrdersFeeLineSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
meta_data: array(WCV3OrdersFeeLineMetaDataSchema),
|
||||
name: string(),
|
||||
tax_class: string(),
|
||||
tax_status: enum_(TAX_STATUSES),
|
||||
taxes: array(WCV3OrdersFeeLineTaxSchema),
|
||||
total: string(),
|
||||
total_tax: string()
|
||||
});
|
||||
const WCV3OrdersShippingLineMetaDataSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersShippingLineTaxSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
total: string()
|
||||
});
|
||||
const WCV3OrdersShippingLineSchema = object({
|
||||
id: optional(pipe(number(), integer())),
|
||||
meta_data: optional(array(WCV3OrdersShippingLineMetaDataSchema)),
|
||||
method_id: optional(string()),
|
||||
method_title: optional(string()),
|
||||
taxes: optional(array(WCV3OrdersShippingLineTaxSchema)),
|
||||
total: optional(string()),
|
||||
total_tax: optional(string())
|
||||
});
|
||||
const WCV3OrdersLineItemImageSchema = object({
|
||||
id: union([string(), pipe(number(), integer())]),
|
||||
src: string()
|
||||
});
|
||||
const WCV3OrdersLineItemMetaDataSchema = object({
|
||||
display_key: string(),
|
||||
display_value: string(),
|
||||
id: pipe(number(), integer()),
|
||||
key: string(),
|
||||
value: unknown()
|
||||
});
|
||||
const WCV3OrdersLineItemTaxSchema = object({
|
||||
id: pipe(number(), integer()),
|
||||
subtotal: string(),
|
||||
total: string()
|
||||
});
|
||||
const WCV3OrdersLineItemSchema = object({
|
||||
id: optional(pipe(number(), integer())),
|
||||
image: optional(WCV3OrdersLineItemImageSchema),
|
||||
meta_data: optional(array(WCV3OrdersLineItemMetaDataSchema)),
|
||||
name: optional(string()),
|
||||
parent_name: optional(union([string(), null_()])),
|
||||
price: optional(number()),
|
||||
product_id: optional(pipe(number(), integer())),
|
||||
quantity: optional(pipe(number(), integer())),
|
||||
sku: optional(string()),
|
||||
subtotal: optional(string()),
|
||||
subtotal_tax: optional(string()),
|
||||
tax_class: optional(string()),
|
||||
taxes: optional(array(WCV3OrdersLineItemTaxSchema)),
|
||||
total: optional(string()),
|
||||
total_tax: optional(string()),
|
||||
variation_id: optional(pipe(number(), integer()))
|
||||
});
|
||||
const WCV3OrdersArgsSchema = object({
|
||||
billing: optional(WCStoreBillingAddressSchema),
|
||||
coupon_lines: optional(array(WCV3OrdersCouponLineSchema)),
|
||||
currency: optional(string()),
|
||||
customer_id: optional(pipe(number(), integer())),
|
||||
customer_note: optional(string()),
|
||||
fee_lines: optional(array(WCV3OrdersFeeLineSchema)),
|
||||
line_items: optional(array(WCV3OrdersLineItemSchema)),
|
||||
manual_update: optional(boolean()),
|
||||
parent_id: optional(pipe(number(), integer())),
|
||||
payment_method: optional(string()),
|
||||
payment_method_title: optional(string()),
|
||||
set_paid: optional(boolean()),
|
||||
shipping: optional(WCStoreShippingAddressSchema),
|
||||
shipping_lines: optional(array(WCV3OrdersShippingLineSchema)),
|
||||
status: optional(enum_(ORDER_STATUSES)),
|
||||
transaction_id: optional(string())
|
||||
});
|
||||
const WCV3OrderSchema = object({
|
||||
billing: WCStoreBillingAddressSchema,
|
||||
cart_hash: string(),
|
||||
cart_tax: string(),
|
||||
coupon_lines: array(WCV3OrdersCouponLineSchema),
|
||||
created_via: string(),
|
||||
currency: string(),
|
||||
currency_symbol: string(),
|
||||
customer_id: pipe(number(), integer()),
|
||||
customer_ip_address: string(),
|
||||
customer_note: string(),
|
||||
customer_user_agent: string(),
|
||||
date_completed: union([string(), null_()]),
|
||||
date_completed_gmt: union([string(), null_()]),
|
||||
// Date
|
||||
date_created: string(),
|
||||
date_created_gmt: string(),
|
||||
date_modified: string(),
|
||||
date_modified_gmt: string(),
|
||||
date_paid: union([string(), null_()]),
|
||||
date_paid_gmt: union([string(), null_()]),
|
||||
discount_tax: string(),
|
||||
discount_total: string(),
|
||||
fee_lines: array(WCV3OrdersFeeLineSchema),
|
||||
id: pipe(number(), integer()),
|
||||
is_editable: boolean(),
|
||||
line_items: array(WCV3OrdersLineItemSchema),
|
||||
meta_data: unknown(),
|
||||
needs_payment: boolean(),
|
||||
needs_processing: boolean(),
|
||||
number: string(),
|
||||
order_key: string(),
|
||||
parent_id: pipe(number(), integer()),
|
||||
payment_method: string(),
|
||||
payment_method_title: string(),
|
||||
payment_url: string(),
|
||||
prices_include_tax: boolean(),
|
||||
refunds: array(unknown()),
|
||||
shipping: WCStoreShippingAddressSchema,
|
||||
shipping_lines: array(WCV3OrdersShippingLineSchema),
|
||||
shipping_tax: string(),
|
||||
shipping_total: string(),
|
||||
status: enum_(ORDER_STATUSES),
|
||||
tax_lines: array(unknown()),
|
||||
total: string(),
|
||||
total_tax: string(),
|
||||
transaction_id: string(),
|
||||
version: string()
|
||||
});
|
||||
const ORDER_STATUSES = {
|
||||
AUTO_DRAFT: "auto-draft",
|
||||
CANCELLED: "cancelled",
|
||||
CHECKOUT_DRAFT: "checkout-draft",
|
||||
COMPLETED: "completed",
|
||||
FAILED: "failed",
|
||||
ON_HOLD: "on-hold",
|
||||
PENDING: "pending",
|
||||
PROCESSING: "processing",
|
||||
REFUNDED: "refuneded"
|
||||
};
|
||||
const TAX_STATUSES = {
|
||||
NONE: "none",
|
||||
TAXABLE: "taxable"
|
||||
};
|
||||
export {
|
||||
WCV3OrdersArgsSchema as W,
|
||||
WCV3OrderSchema as a
|
||||
ORDER_STATUSES as O,
|
||||
TAX_STATUSES as T
|
||||
};
|
||||
//# sourceMappingURL=orders2.js.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,20 +1,2 @@
|
|||
const ORDER_STATUSES = {
|
||||
AUTO_DRAFT: "auto-draft",
|
||||
CANCELLED: "cancelled",
|
||||
CHECKOUT_DRAFT: "checkout-draft",
|
||||
COMPLETED: "completed",
|
||||
FAILED: "failed",
|
||||
ON_HOLD: "on-hold",
|
||||
PENDING: "pending",
|
||||
PROCESSING: "processing",
|
||||
REFUNDED: "refuneded"
|
||||
};
|
||||
const TAX_STATUSES = {
|
||||
NONE: "none",
|
||||
TAXABLE: "taxable"
|
||||
};
|
||||
export {
|
||||
ORDER_STATUSES as O,
|
||||
TAX_STATUSES as T
|
||||
};
|
||||
|
||||
//# sourceMappingURL=orders3.js.map
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"orders3.js","sources":["../../src/scripts/constantes/orders.ts"],"sourcesContent":["export const ORDER_STATUSES = {\n AUTO_DRAFT: \"auto-draft\",\n CANCELLED: \"cancelled\",\n CHECKOUT_DRAFT: \"checkout-draft\",\n COMPLETED: \"completed\",\n FAILED: \"failed\",\n ON_HOLD: \"on-hold\",\n PENDING: \"pending\",\n PROCESSING: \"processing\",\n REFUNDED: \"refuneded\",\n} as const;\n\nexport const TAX_STATUSES = {\n NONE: \"none\",\n TAXABLE: \"taxable\",\n};\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB;AAAA,EAC5B,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,UAAU;AACZ;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,SAAS;AACX;"}
|
||||
{"version":3,"file":"orders3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
||||
2
web/app/themes/haiku-atelier-2024/assets/js/pays.js
Normal file
2
web/app/themes/haiku-atelier-2024/assets/js/pays.js
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
//# sourceMappingURL=pays.js.map
|
||||
1
web/app/themes/haiku-atelier-2024/assets/js/pays.js.map
Normal file
1
web/app/themes/haiku-atelier-2024/assets/js/pays.js.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"pays.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, c as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, d as boolean, f as union, u as unknown, j as integer, g as null_, h as url } from "./index.DxUTT09Y.js";
|
||||
import { o as object, k as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, c as boolean, d as union, u as unknown, h as integer, f as null_, g as url } from "./index.BAmxwLeJ.js";
|
||||
import { A as ATTRIBUTES_RELATIONS, C as CATALOG_VISIBILITIES, a as CATEGORY_OPERATORS, P as PRODUCTS_CONTEXTES, D as DATE_COLUMN_VALUES, O as ORDER_VALUES, b as ORDERBY_VALUES, R as RATINGS, c as PRODUCT_STATUTES, S as STOCK_STATUSES, T as TAG_OPERATORS, d as PRODUCT_TYPES, B as BACKORDERS_SETTINGS, e as TAX_STATUTES } from "./products2.js";
|
||||
const WCV3ProductsArgsSchema = object({
|
||||
// Date ISO8601
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { o as object, c as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, u as unknown, d as boolean, f as union, j as integer, g as null_ } from "./index.DxUTT09Y.js";
|
||||
import { o as object, k as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, u as unknown, c as boolean, d as union, h as integer, f as null_ } from "./index.BAmxwLeJ.js";
|
||||
import { A as ATTRIBUTES_RELATIONS, C as CATALOG_VISIBILITIES, a as CATEGORY_OPERATORS, P as PRODUCTS_CONTEXTES, D as DATE_COLUMN_VALUES, O as ORDER_VALUES, b as ORDERBY_VALUES, R as RATINGS, S as STOCK_STATUSES, T as TAG_OPERATORS, d as PRODUCT_TYPES } from "./products2.js";
|
||||
object({
|
||||
// Date ISO8601
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { z, N } from "./index.CeK6pfoJ.js";
|
||||
import { p as parse } from "./index.DxUTT09Y.js";
|
||||
import { p as parse } from "./index.BAmxwLeJ.js";
|
||||
import { E as ENTETE_WC_NONCE } from "./api.js";
|
||||
import { b as leveBadRequestError, c as leveUnauthorizedError, d as leveNotFoundError, E as ErreurInconnue, a as leveErreur } from "./erreurs2.js";
|
||||
import { e as estWCError } from "./erreurs3.js";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { p as pipe } from "./pipe.XPB0wEfw.js";
|
|||
import "./erreurs2.js";
|
||||
import "./exports.B84S-6H1.js";
|
||||
import "./Either.wHNxn7Os.js";
|
||||
import "./index.DxUTT09Y.js";
|
||||
import "./index.BAmxwLeJ.js";
|
||||
import "./erreurs3.js";
|
||||
import "./messages2.js";
|
||||
import "./cart.js";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
var __defProp = Object.defineProperty;
|
||||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||||
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
||||
import { $ as SELECTEUR_BOUTON_MENU_MOBILE, a0 as SELECTEUR_MENU_MOBILE, a1 as ATTRIBUT_MENU_MOBILE_ACTIVE } from "./dom.js";
|
||||
import { a0 as SELECTEUR_BOUTON_MENU_MOBILE, a1 as SELECTEUR_MENU_MOBILE, a2 as ATTRIBUT_MENU_MOBILE_ACTIVE } from "./dom.js";
|
||||
import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
|
||||
import "./dom2.js";
|
||||
import "./erreurs2.js";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { a2 as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, a3 as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, a4 as CLASS_BOUTON_FERMETURE_BOITE_TEXTE, a5 as CLASS_EPINGLE, a6 as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, a7 as SELECTEUR_EPINGLE, a8 as SELECTEUR_BOITE_TEXTE } from "./dom.js";
|
||||
import { a3 as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, a4 as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, a5 as CLASS_BOUTON_FERMETURE_BOITE_TEXTE, a6 as CLASS_EPINGLE, a7 as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, a8 as SELECTEUR_EPINGLE, a9 as SELECTEUR_BOITE_TEXTE } from "./dom.js";
|
||||
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
|
||||
import { k as some, q as reduceU, w as nullable_to_opt, v as valFromOption, g as equal, x as concat, R as Ra } from "./dom2.js";
|
||||
import { p as pipe } from "./pipe.XPB0wEfw.js";
|
||||
|
|
|
|||
|
|
@ -1,101 +1,113 @@
|
|||
import { z, N } from "./index.CeK6pfoJ.js";
|
||||
import { p as parse } from "./index.DxUTT09Y.js";
|
||||
import { V as ValiError } from "./index.BAmxwLeJ.js";
|
||||
import { R as ROUTE_API_NOUVELLE_PRODUCTS } from "./api.js";
|
||||
import { g as SELECTEUR_BOUTON_PLUS_PRODUITS, h as SELECTEUR_GRILLE_PRODUITS, i as ATTRIBUT_ID_CATEGORIE_PRODUITS, j as ATTRIBUT_PAGE, k as ATTRIBUT_HIDDEN } from "./dom.js";
|
||||
import { g as SELECTEUR_BOUTON_PLUS_PRODUITS, h as SELECTEUR_GRILLE_PRODUITS, i as ATTRIBUT_ID_CATEGORIE_PRODUITS, j as ATTRIBUT_PAGE, k as ATTRIBUT_DESACTIVE, l as ATTRIBUT_CHARGEMENT, m as ATTRIBUT_HIDDEN } from "./dom.js";
|
||||
import { l as lanceAnimationCycleTexte } from "./animations.js";
|
||||
import { h as html } from "./dom2.js";
|
||||
import { l as leveServerError } from "./erreurs2.js";
|
||||
import { e as estReponse500 } from "./gardes.js";
|
||||
import { g as getBackendAvecParametresUrl, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
|
||||
import { S as ServerError, B as BadRequestError } from "./erreurs2.js";
|
||||
import { g as getBackendAvecParametresUrl } from "./reseau.js";
|
||||
import { W as WCV3ProductsArgsSchema, a as WCV3ProductsSchema } from "./products.js";
|
||||
import { a as recupereElementDansDocumentOuLeve, r as recupereElementDocumentEither } from "./utils.js";
|
||||
import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
|
||||
import { e as eitherParse } from "./validation.js";
|
||||
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
|
||||
import { p as pipe } from "./pipe.XPB0wEfw.js";
|
||||
import { t as tap } from "./index-0eef19ec.DoJSf22Z.js";
|
||||
import { E as Either } from "./Either.wHNxn7Os.js";
|
||||
import "./Either.wHNxn7Os.js";
|
||||
import "./exports.B84S-6H1.js";
|
||||
import "./erreurs3.js";
|
||||
import "./products2.js";
|
||||
import "./belt_Option-91f3b350.cBye8bLJ.js";
|
||||
const ETATS_PAGE = _etats;
|
||||
const GRILLE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS);
|
||||
const BOUTON_PLUS_DE_PRODUITS = recupereElementDocumentEither(
|
||||
SELECTEUR_BOUTON_PLUS_PRODUITS
|
||||
);
|
||||
const E = {
|
||||
BOUTON_PLUS_DE_PRODUITS: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_PLUS_PRODUITS),
|
||||
GRILLE_PRODUITS: recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS)
|
||||
};
|
||||
const initialisePageBoutique = () => {
|
||||
const idCategorieProduits = GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
|
||||
BOUTON_PLUS_DE_PRODUITS.ifRight((bouton) => {
|
||||
bouton.addEventListener("click", () => {
|
||||
const nouvellePage = Number(GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
|
||||
const args = {
|
||||
page: nouvellePage,
|
||||
per_page: 13,
|
||||
// Ajoute conditionnellement la Catégorie de Produits
|
||||
...idCategorieProduits && { category: idCategorieProduits }
|
||||
};
|
||||
Either.encase(() => parse(WCV3ProductsArgsSchema, args)).map(
|
||||
async (args2) => {
|
||||
await EitherAsync(
|
||||
() => getBackendAvecParametresUrl({
|
||||
authString: ETATS_PAGE.authString,
|
||||
nonce: ETATS_PAGE.nonce,
|
||||
route: ROUTE_API_NOUVELLE_PRODUCTS,
|
||||
searchParams: new URLSearchParams(args2).toString()
|
||||
})
|
||||
).map((reponse) => {
|
||||
if (estReponse500(reponse)) leveServerError("500 Server Error");
|
||||
return reponse.json();
|
||||
}).map(
|
||||
(corpsReponse) => (
|
||||
// Traite tous les codes HTTPs possibles
|
||||
traiteReponseBackendWCSelonCodesHTTP(
|
||||
corpsReponse,
|
||||
WCV3ProductsSchema
|
||||
)
|
||||
)
|
||||
).ifRight((donnees) => {
|
||||
if (donnees.length < 12) {
|
||||
bouton.toggleAttribute(ATTRIBUT_HIDDEN);
|
||||
}
|
||||
const fragment = document.createDocumentFragment();
|
||||
for (const produit of donnees.slice(0, 12)) {
|
||||
pipe(
|
||||
html`
|
||||
<article class="produit">
|
||||
<figure>
|
||||
<a href="/product/${produit.slug}">
|
||||
<picture class="produit__illustration produit__illustration__principale">
|
||||
${produit.image_repos ?? ""}
|
||||
</picture>
|
||||
const idCategorieProduits = E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
|
||||
E.BOUTON_PLUS_DE_PRODUITS.addEventListener("click", () => {
|
||||
const nouveauNumeroPage = Number(E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
|
||||
const args = {
|
||||
page: nouveauNumeroPage,
|
||||
per_page: 12,
|
||||
// Ajoute conditionnellement la Catégorie de Produits
|
||||
...idCategorieProduits && { category: idCategorieProduits }
|
||||
};
|
||||
void EitherAsync.liftEither(eitherParse(args, WCV3ProductsArgsSchema)).ifRight(() => {
|
||||
E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_CHARGEMENT, "");
|
||||
const animation = lanceAnimationCycleTexte({
|
||||
attribut: ATTRIBUT_CHARGEMENT,
|
||||
element: E.BOUTON_PLUS_DE_PRODUITS,
|
||||
etapes: [
|
||||
"Loading",
|
||||
"Loading.",
|
||||
"Loading..",
|
||||
"Loading..."
|
||||
]
|
||||
});
|
||||
animation.callback();
|
||||
animation.interval = setInterval(animation.callback, 500);
|
||||
}).chain(
|
||||
(args2) => EitherAsync(
|
||||
() => getBackendAvecParametresUrl({
|
||||
authString: ETATS_PAGE.authString,
|
||||
nonce: ETATS_PAGE.nonce,
|
||||
route: ROUTE_API_NOUVELLE_PRODUCTS,
|
||||
searchParams: new URLSearchParams(args2).toString()
|
||||
})
|
||||
)
|
||||
).chain(
|
||||
(reponse) => EitherAsync(async ({ throwE }) => {
|
||||
const reponseSimplifiee = {
|
||||
body: await reponse.json(),
|
||||
status: reponse.status
|
||||
};
|
||||
return z(reponseSimplifiee).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 400 }, () => throwE(new BadRequestError("400 Server Error"))).with({ status: 200 }, () => reponseSimplifiee.body).run();
|
||||
})
|
||||
).chain((corpsReponse) => EitherAsync.liftEither(eitherParse(corpsReponse, WCV3ProductsSchema))).ifRight((donnees) => {
|
||||
if (donnees.length < 12) {
|
||||
E.BOUTON_PLUS_DE_PRODUITS.toggleAttribute(ATTRIBUT_HIDDEN);
|
||||
}
|
||||
const fragment = document.createDocumentFragment();
|
||||
for (const produit of donnees.slice(0, 12)) {
|
||||
pipe(
|
||||
html`
|
||||
<article class="produit">
|
||||
<figure>
|
||||
<a href="/product/${produit.slug}">
|
||||
<picture class="produit__illustration produit__illustration__principale">
|
||||
${produit.image_repos ?? ""}
|
||||
</picture>
|
||||
|
||||
<picture class="produit__illustration produit__illustration__survol">
|
||||
${produit.image_survol ?? ""}
|
||||
</picture>
|
||||
</a>
|
||||
<picture class="produit__illustration produit__illustration__survol">
|
||||
${produit.image_survol ?? ""}
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
<figcaption class="produit__textuel">
|
||||
<h3 class="produit__textuel__titre">
|
||||
<a href="${produit.permalink}">${produit.name}</a>
|
||||
</h3>
|
||||
<p class="produit__textuel__prix">
|
||||
${produit.prix_maximal}€
|
||||
</p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</article>
|
||||
`,
|
||||
tap((article) => {
|
||||
fragment.appendChild(article);
|
||||
})
|
||||
);
|
||||
}
|
||||
GRILLE_PRODUITS.appendChild(fragment);
|
||||
GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouvellePage));
|
||||
}).ifLeft((e) => {
|
||||
z(e).with({ issues: N.select(), name: "ValiError" }, (problemes) => console.error("ValiError", problemes)).otherwise((e2) => console.error("Autre", e2.name, e2));
|
||||
}).void();
|
||||
}
|
||||
);
|
||||
});
|
||||
<figcaption class="produit__textuel">
|
||||
<h3 class="produit__textuel__titre">
|
||||
<a href="${produit.permalink}">${produit.name}</a>
|
||||
</h3>
|
||||
<p class="produit__textuel__prix">
|
||||
${produit.prix_maximal}€
|
||||
</p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</article>
|
||||
`,
|
||||
tap((article) => fragment.appendChild(article))
|
||||
);
|
||||
}
|
||||
E.GRILLE_PRODUITS.appendChild(fragment);
|
||||
E.GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouveauNumeroPage));
|
||||
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Show more";
|
||||
}).ifLeft((erreur) => {
|
||||
z(erreur).with(N.instanceOf(ValiError), (e) => console.error("ValiError", e.issues)).otherwise((e) => console.error("Erreur", e));
|
||||
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Error, try again?";
|
||||
}).finally(() => {
|
||||
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_CHARGEMENT);
|
||||
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_DESACTIVE);
|
||||
}).run();
|
||||
});
|
||||
};
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,16 +1,17 @@
|
|||
import { z } from "./index.CeK6pfoJ.js";
|
||||
import { V as ValiError } from "./index.DxUTT09Y.js";
|
||||
import { z, N } from "./index.CeK6pfoJ.js";
|
||||
import { V as ValiError } from "./index.BAmxwLeJ.js";
|
||||
import { c as ROUTE_API_MAJ_CLIENT, d as ROUTE_API_NOUVELLE_COMMANDES } from "./api.js";
|
||||
import { l as SELECTEUR_ENTREES_PANIER, z as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, B as SELECTEUR_FORMULAIRE_PANIER, C as SELECTEUR_INSTRUCTIONS_CLIENT, D as SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, E as SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, y as ATTRIBUT_DESACTIVE, F as ATTRIBUT_CHARGEMENT } from "./dom.js";
|
||||
import { n as SELECTEUR_ENTREES_PANIER, B as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, C as SELECTEUR_FORMULAIRE_PANIER, D as SELECTEUR_INSTRUCTIONS_CLIENT, E as SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES, F as SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, G as SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, k as ATTRIBUT_DESACTIVE, l as ATTRIBUT_CHARGEMENT } from "./dom.js";
|
||||
import { E as ERREUR_GENERIQUE_SOUMISSION_ADRESSES } from "./messages-utilisateur.js";
|
||||
import { l as lanceAnimationCycleTexte } from "./animations.js";
|
||||
import { e as eitherSessionStorageGet, c as eitherJsonParse } from "./dom2.js";
|
||||
import { S as ServerError, a as leveErreur, l as leveServerError } from "./erreurs2.js";
|
||||
import { S as ServerError, B as BadRequestError, a as leveErreur, l as leveServerError } from "./erreurs2.js";
|
||||
import { e as estReponse500 } from "./gardes.js";
|
||||
import { p as postBackend } from "./reseau.js";
|
||||
import { W as WCStoreCartSchema } from "./cart.js";
|
||||
import { W as WCStoreCartUpdateCustomerArgsSchema } from "./cart-update-customer.js";
|
||||
import { W as WCStoreShippingRateShippingRateSchema } from "./couts-livraison.js";
|
||||
import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders2.js";
|
||||
import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders.js";
|
||||
import { a as recupereElementDansDocumentOuLeve, c as recupereElementsDocumentEither } from "./utils.js";
|
||||
import { e as eitherParse } from "./validation.js";
|
||||
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
|
||||
|
|
@ -21,13 +22,16 @@ import "./erreurs3.js";
|
|||
import "./cart2.js";
|
||||
import "./adresses.js";
|
||||
import "./cart-coupons.js";
|
||||
import "./orders3.js";
|
||||
import "./orders2.js";
|
||||
const ETATS_PAGE = _etats;
|
||||
const ELEMENTS = {
|
||||
BOUTON_ACTIONS_FORMULAIRE: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE),
|
||||
ENTREES_PANIER_EITHER: recupereElementsDocumentEither(SELECTEUR_ENTREES_PANIER),
|
||||
FORMULAIRE_PANIER: recupereElementDansDocumentOuLeve(SELECTEUR_FORMULAIRE_PANIER),
|
||||
INSTRUCTIONS_CLIENT: recupereElementDansDocumentOuLeve(SELECTEUR_INSTRUCTIONS_CLIENT),
|
||||
MESSAGE_FORMULAIRE_ADRESSES: recupereElementDansDocumentOuLeve(
|
||||
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES
|
||||
),
|
||||
TOTAL_LIVRAISON_COUT: recupereElementDansDocumentOuLeve(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT),
|
||||
TOTAL_LIVRAISON_PRESTATAIRE: recupereElementDansDocumentOuLeve(
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE
|
||||
|
|
@ -58,7 +62,7 @@ const initialiseBoutonSoumissionAdresses = () => {
|
|||
address_2: "",
|
||||
city: donneesFormulaire["facturation-ville"] ?? donneesFormulaire["livraison-ville"] ?? "",
|
||||
company: "",
|
||||
country: "FR",
|
||||
country: donneesFormulaire["facturation-pays"] ?? donneesFormulaire["livraison-pays"] ?? "",
|
||||
email: donneesFormulaire["facturation-email"] ?? donneesFormulaire["livraison-email"] ?? "",
|
||||
first_name: donneesFormulaire["facturation-prenom"] ?? donneesFormulaire["livraison-prenom"] ?? "",
|
||||
last_name: donneesFormulaire["facturation-nom"] ?? donneesFormulaire["livraison-nom"] ?? "",
|
||||
|
|
@ -71,7 +75,7 @@ const initialiseBoutonSoumissionAdresses = () => {
|
|||
address_2: "",
|
||||
city: donneesFormulaire["livraison-ville"] ?? "",
|
||||
company: "",
|
||||
country: "FR",
|
||||
country: donneesFormulaire["livraison-pays"] ?? "",
|
||||
first_name: donneesFormulaire["livraison-prenom"] ?? "",
|
||||
last_name: donneesFormulaire["livraison-nom"] ?? "",
|
||||
phone: donneesFormulaire["livraison-telephone"] ?? "",
|
||||
|
|
@ -91,11 +95,11 @@ const initialiseBoutonSoumissionAdresses = () => {
|
|||
body: await reponse.json(),
|
||||
status: reponse.status
|
||||
};
|
||||
return z(reponseSimplifiee).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 200 }, () => reponseSimplifiee.body).run();
|
||||
return z(reponseSimplifiee).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 400 }, () => throwE(new BadRequestError("400 Bad Request Error"))).with({ status: 200 }, () => reponseSimplifiee.body).run();
|
||||
})
|
||||
).chain((corsReponse) => EitherAsync.liftEither(eitherParse(corsReponse, WCStoreCartSchema))).ifRight((panier) => {
|
||||
console.debug(panier.shipping_rates);
|
||||
const sousTotalLivraison = panier.totals.total_shipping === "0" ? "Free" : `${String(panier.totals.total_shipping)}€`;
|
||||
const sousTotalLivraison = panier.totals.total_shipping === "0" ? "Free" : `${String(Number(panier.totals.total_shipping) / 100)}€`;
|
||||
const prestataireLivraison = panier.shipping_rates[0]?.shipping_rates[0]?.name ?? "";
|
||||
ELEMENTS.TOTAL_LIVRAISON_COUT.textContent = sousTotalLivraison;
|
||||
ELEMENTS.TOTAL_LIVRAISON_PRESTATAIRE.textContent = prestataireLivraison;
|
||||
|
|
@ -105,7 +109,15 @@ const initialiseBoutonSoumissionAdresses = () => {
|
|||
);
|
||||
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.textContent = "Check-out";
|
||||
initialiseBoutonCreationCommande();
|
||||
}).ifLeft((erreur) => z(erreur).with).finally(() => {
|
||||
}).ifLeft(
|
||||
(erreur) => z(erreur).with(N.instanceOf(ValiError), (e) => {
|
||||
console.error(e.issues);
|
||||
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
|
||||
}).with(N.instanceOf(ServerError), (e) => {
|
||||
console.error(e);
|
||||
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
|
||||
}).exhaustive()
|
||||
).finally(() => {
|
||||
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_CHARGEMENT);
|
||||
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_DESACTIVE);
|
||||
}).run();
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,7 +1,7 @@
|
|||
import { z, N } from "./index.CeK6pfoJ.js";
|
||||
import { V as ValiError } from "./index.DxUTT09Y.js";
|
||||
import { V as ValiError } from "./index.BAmxwLeJ.js";
|
||||
import { e as ROUTE_API_APPLIQUE_COUPON, f as ROUTE_API_RETIRE_COUPON } from "./api.js";
|
||||
import { G as SELECTEUR_BOUTON_CODE_PROMO, H as SELECTEUR_CHAMP_CODE_PROMO, I as SELECTEUR_ENSEMBLE_CODE_PROMO, J as SELECTEUR_MESSAGE_CODE_PROMO, p as SELECTEUR_TOTAL_PANIER, K as SELECTEUR_TOTAL_REDUCTION, o as SELECTEUR_TOTAL_REDUCTION_VALEUR, y as ATTRIBUT_DESACTIVE, F as ATTRIBUT_CHARGEMENT, L as ATTRIBUT_CODE_PROMO_PRESENT, k as ATTRIBUT_HIDDEN } from "./dom.js";
|
||||
import { H as SELECTEUR_BOUTON_CODE_PROMO, I as SELECTEUR_CHAMP_CODE_PROMO, J as SELECTEUR_ENSEMBLE_CODE_PROMO, K as SELECTEUR_MESSAGE_CODE_PROMO, r as SELECTEUR_TOTAL_PANIER, L as SELECTEUR_TOTAL_REDUCTION, q as SELECTEUR_TOTAL_REDUCTION_VALEUR, k as ATTRIBUT_DESACTIVE, l as ATTRIBUT_CHARGEMENT, M as ATTRIBUT_CODE_PROMO_PRESENT, m as ATTRIBUT_HIDDEN } from "./dom.js";
|
||||
import { E as ERREUR_CODE_PROMO_INVALIDE } from "./erreurs.js";
|
||||
import { l as lanceAnimationCycleTexte } from "./animations.js";
|
||||
import { d as accorderCibleASelecteur, i as identity } from "./dom2.js";
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
import { p as parse } from "./index.DxUTT09Y.js";
|
||||
import { p as parse } from "./index.BAmxwLeJ.js";
|
||||
import { a as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER } from "./api.js";
|
||||
import { l as SELECTEUR_ENTREES_PANIER, m as SELECTEUR_CONTENEUR_PANIER, n as SELECTEUR_SOUS_TOTAL_PRODUITS, o as SELECTEUR_TOTAL_REDUCTION_VALEUR, p as SELECTEUR_TOTAL_PANIER, q as SELECTEUR_BOUTON_SEPARATION_ADRESSES, r as SELECTEUR_FORMULAIRE_FACTURATION, s as ATTRIBUT_CLE_PANIER, t as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, u as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, v as SELECTEUR_BOUTON_ADDITION_QUANTITE, w as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, x as SELECTEUR_PRIX_LIGNE_PANIER, k as ATTRIBUT_HIDDEN, y as ATTRIBUT_DESACTIVE } from "./dom.js";
|
||||
import { n as SELECTEUR_ENTREES_PANIER, o as SELECTEUR_CONTENEUR_PANIER, p as SELECTEUR_SOUS_TOTAL_PRODUITS, q as SELECTEUR_TOTAL_REDUCTION_VALEUR, r as SELECTEUR_TOTAL_PANIER, s as SELECTEUR_BOUTON_SEPARATION_ADRESSES, t as SELECTEUR_FORMULAIRE_FACTURATION, u as ATTRIBUT_CLE_PANIER, v as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, w as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, x as SELECTEUR_BOUTON_ADDITION_QUANTITE, y as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, z as SELECTEUR_PRIX_LIGNE_PANIER, m as ATTRIBUT_HIDDEN, k as ATTRIBUT_DESACTIVE } from "./dom.js";
|
||||
import { N as NOM_CANAL_BOUTON_PANIER, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js";
|
||||
import { a as recupereElementsAvecSelecteur, b as recupereElementAvecSelecteur, r as recupereElementOuLeve } from "./dom2.js";
|
||||
import { l as leveServerError, r as reporteErreur } from "./erreurs2.js";
|
||||
import { e as estReponse500, a as estError } from "./gardes.js";
|
||||
import { e as emetMessageMajBoutonPanier, a as emetMessageMajContenuPanier, v as valideMessageMajBoutonPanier, b as valideMessageMajContenuPanier } from "./messages.js";
|
||||
import { d as diviseParCent, f as formateEnEuros, i as inverseNombre, a as arrondisAZeroOuDeuxDecimales } from "./nombres.js";
|
||||
import { p as postBackend, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
|
||||
import { W as WCStoreCartRemoveItemArgsSchema } from "./cart-remove-item.js";
|
||||
import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js";
|
||||
|
|
@ -25,10 +26,11 @@ import "./cart2.js";
|
|||
import "./adresses.js";
|
||||
import "./cart-coupons.js";
|
||||
import "./couts-livraison.js";
|
||||
import "./messages-utilisateur.js";
|
||||
import "./animations.js";
|
||||
import "./cart-update-customer.js";
|
||||
import "./orders.js";
|
||||
import "./orders2.js";
|
||||
import "./orders3.js";
|
||||
import "./MaybeAsync.AE1jnxuc.js";
|
||||
import "./erreurs.js";
|
||||
import "./codes-promo.js";
|
||||
|
|
@ -58,7 +60,7 @@ const desactiveBoutonsEntreesPanier = (entrees) => entrees.forEach((entree) => {
|
|||
elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
elements.boutonSuppression.textContent = "C= C= C= C= C=┌(;・ω・)┘";
|
||||
elements.boutonSuppression.textContent = "Loading...";
|
||||
});
|
||||
const majEtatsActivationBoutons = (entrees) => entrees.forEach((entree) => {
|
||||
const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);
|
||||
|
|
@ -109,9 +111,9 @@ const initialiseMajEntreesPanier = () => {
|
|||
emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });
|
||||
emetMessageMajContenuPanier({
|
||||
produits: panier.items,
|
||||
sousTotalProduits: Number(panier.totals.total_items) / 100,
|
||||
sousTotalReduction: Number(panier.totals.total_discount) / 100,
|
||||
totalPanier: Number(panier.totals.total_price) / 100
|
||||
sousTotalProduits: diviseParCent(panier.totals.total_items),
|
||||
sousTotalReduction: diviseParCent(panier.totals.total_discount),
|
||||
totalPanier: diviseParCent(panier.totals.total_price)
|
||||
});
|
||||
entree.remove();
|
||||
})
|
||||
|
|
@ -150,9 +152,9 @@ const initialiseMajEntreesPanier = () => {
|
|||
emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });
|
||||
emetMessageMajContenuPanier({
|
||||
produits: panier.items,
|
||||
sousTotalProduits: Number(panier.totals.total_items) / 100,
|
||||
sousTotalReduction: Number(panier.totals.total_discount) / 100,
|
||||
totalPanier: Number(panier.totals.total_price) / 100
|
||||
sousTotalProduits: diviseParCent(panier.totals.total_items),
|
||||
sousTotalReduction: diviseParCent(panier.totals.total_discount),
|
||||
totalPanier: diviseParCent(panier.totals.total_price)
|
||||
});
|
||||
})
|
||||
);
|
||||
|
|
@ -191,9 +193,9 @@ const initialiseMajEntreesPanier = () => {
|
|||
emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });
|
||||
emetMessageMajContenuPanier({
|
||||
produits: panier.items,
|
||||
sousTotalProduits: Number(panier.totals.total_items) / 100,
|
||||
sousTotalReduction: Number(panier.totals.total_discount) / 100,
|
||||
totalPanier: Number(panier.totals.total_price) / 100
|
||||
sousTotalProduits: diviseParCent(panier.totals.total_items),
|
||||
sousTotalReduction: diviseParCent(panier.totals.total_discount),
|
||||
totalPanier: diviseParCent(panier.totals.total_price)
|
||||
});
|
||||
})
|
||||
);
|
||||
|
|
@ -230,13 +232,17 @@ const initialiseMajContenuPanier = () => {
|
|||
SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER
|
||||
);
|
||||
entree.setAttribute("data-quantite", String(ligne.quantity));
|
||||
prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}€`;
|
||||
prixLigne.textContent = pipe(diviseParCent(ligne.totals.line_subtotal), formateEnEuros);
|
||||
champQuantite.setAttribute("value", String(ligne.quantity));
|
||||
majEtatsActivationBoutons(entrees);
|
||||
});
|
||||
SOUS_TOTAL_REDUCTION.textContent = `-${String(donnees.sousTotalReduction)}€`;
|
||||
SOUS_TOTAL_PRODUITS.textContent = `${String(donnees.sousTotalProduits)}€`;
|
||||
TOTAL_PANIER.textContent = `${String(donnees.totalPanier)}€`;
|
||||
SOUS_TOTAL_PRODUITS.textContent = formateEnEuros(donnees.sousTotalProduits);
|
||||
SOUS_TOTAL_REDUCTION.textContent = pipe(
|
||||
inverseNombre(donnees.sousTotalReduction),
|
||||
arrondisAZeroOuDeuxDecimales,
|
||||
formateEnEuros
|
||||
);
|
||||
TOTAL_PANIER.textContent = pipe(arrondisAZeroOuDeuxDecimales(donnees.totalPanier), formateEnEuros);
|
||||
});
|
||||
});
|
||||
}).ifLeft((erreur) => {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
|||
import { z } from "./index.CeK6pfoJ.js";
|
||||
import { g as ROUTE_API_AJOUTE_ARTICLE_PANIER, E as ENTETE_WC_NONCE } from "./api.js";
|
||||
import { M as SELECTEUR_BOUTON_AJOUT_PANIER, N as SELECTEUR_SELECTEUR_QUANTITE, O as SELECTEUR_LIENS_ONGLETS, P as SELECTEUR_SECTIONS_CONTENUS, Q as SELECTEUR_PRIX_PRODUIT, R as SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT, T as SELECTEUR_FLECHE_DEFILEMENT_GAUCHE, U as SELECTEUR_FLECHE_DEFILEMENT_DROITE, V as SELECTEUR_PHOTOS_PRODUIT, W as SELECTEUR_IMAGE_COLONNE_GAUCHE, X as SELECTEUR_IMAGES_COLONNE_DROITE, Y as ATTRIBUT_INDEX_IMAGE_ACTIVE, Z as ATTRIBUT_ARIA_SELECTED, k as ATTRIBUT_HIDDEN, y as ATTRIBUT_DESACTIVE, _ as ATTRIBUT_PRIX } from "./dom.js";
|
||||
import { N as SELECTEUR_BOUTON_AJOUT_PANIER, O as SELECTEUR_SELECTEUR_QUANTITE, P as SELECTEUR_LIENS_ONGLETS, Q as SELECTEUR_SECTIONS_CONTENUS, R as SELECTEUR_PRIX_PRODUIT, T as SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT, U as SELECTEUR_FLECHE_DEFILEMENT_GAUCHE, V as SELECTEUR_FLECHE_DEFILEMENT_DROITE, W as SELECTEUR_PHOTOS_PRODUIT, X as SELECTEUR_IMAGE_COLONNE_GAUCHE, Y as SELECTEUR_IMAGES_COLONNE_DROITE, Z as ATTRIBUT_INDEX_IMAGE_ACTIVE, _ as ATTRIBUT_ARIA_SELECTED, m as ATTRIBUT_HIDDEN, k as ATTRIBUT_DESACTIVE, $ as ATTRIBUT_PRIX } from "./dom.js";
|
||||
import { r as recupereElementOuLeve, f as recupereElementsOuLeve, R as Ra } from "./dom2.js";
|
||||
import { l as leveServerError, r as reporteErreur } from "./erreurs2.js";
|
||||
import { b as estHTMLSelectElement, e as estReponse500, a as estError } from "./gardes.js";
|
||||
|
|
@ -14,7 +14,7 @@ import { p as pipe } from "./pipe.XPB0wEfw.js";
|
|||
import { l } from "./index-0eef19ec.DoJSf22Z.js";
|
||||
import { M as Maybe } from "./Either.wHNxn7Os.js";
|
||||
import "./exports.B84S-6H1.js";
|
||||
import "./index.DxUTT09Y.js";
|
||||
import "./index.BAmxwLeJ.js";
|
||||
import "./messages3.js";
|
||||
import "./erreurs3.js";
|
||||
import "./messages2.js";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { p as parse } from "./index.DxUTT09Y.js";
|
||||
import { p as parse } from "./index.BAmxwLeJ.js";
|
||||
import { E as Either } from "./Either.wHNxn7Os.js";
|
||||
const eitherParse = (valeur, schema) => Either.encase(() => parse(schema, valeur));
|
||||
export {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Illuminate\Support\Number;
|
||||
use Timber\Timber;
|
||||
use function Crell\fp\pipe;
|
||||
|
||||
|
|
@ -15,16 +16,87 @@ require_once __DIR__ . "/src/inc/TraitementInformations.php";
|
|||
$contexte = Timber::context();
|
||||
$modeles = ["panier.twig"];
|
||||
|
||||
$pays_acceptes = [
|
||||
"AD",
|
||||
"AL",
|
||||
"AM",
|
||||
"AR",
|
||||
"AT",
|
||||
"AU",
|
||||
"BA",
|
||||
"BE",
|
||||
"BG",
|
||||
"BR",
|
||||
"CA",
|
||||
"CH",
|
||||
"CL",
|
||||
"CR",
|
||||
"CU",
|
||||
"CY",
|
||||
"CZ",
|
||||
"DE",
|
||||
"DK",
|
||||
"DZ",
|
||||
"EE",
|
||||
"EG",
|
||||
"ES",
|
||||
"FI",
|
||||
"FR",
|
||||
"GF",
|
||||
"GP",
|
||||
"GR",
|
||||
"HR",
|
||||
"HU",
|
||||
"IE",
|
||||
"IS",
|
||||
"IT",
|
||||
"JP",
|
||||
"KR",
|
||||
"LB",
|
||||
"LI",
|
||||
"LT",
|
||||
"LU",
|
||||
"LV",
|
||||
"MA",
|
||||
"MD",
|
||||
"ME",
|
||||
"MF",
|
||||
"MQ",
|
||||
"MT",
|
||||
"MX",
|
||||
"NC",
|
||||
"NL",
|
||||
"NO",
|
||||
"NZ",
|
||||
"PF",
|
||||
"PL",
|
||||
"PM",
|
||||
"PS",
|
||||
"PT",
|
||||
"RE",
|
||||
"RO",
|
||||
"SE",
|
||||
"SI",
|
||||
"SK",
|
||||
"SM",
|
||||
"TN",
|
||||
"TR",
|
||||
"TW",
|
||||
"US",
|
||||
"YT",
|
||||
"ZA",
|
||||
];
|
||||
|
||||
// Récupère les informations affichés des Produits du Panier
|
||||
$panier = [];
|
||||
/** @var int $sous_total_panier Le sous-total de la Commande dans le Panier. */
|
||||
$sous_total_panier = pipe(WC()->cart->get_subtotal(), fn($sous_total) => intval($sous_total));
|
||||
/** @var float $sous_total_panier Le sous-total de la Commande dans le Panier. */
|
||||
$sous_total_panier = WC()->cart->get_subtotal();
|
||||
/** @var string|null $code_promo Le code promo appliqué au Panier s'il existe. */
|
||||
$code_promo = collect(WC()->cart->get_applied_coupons())->first();
|
||||
/** @var int $sous_total_reduction Le total du montant de la Réduction appliquée au Panier */
|
||||
$sous_total_reduction = WC()->cart->get_totals()["discount_total"];
|
||||
/** @var int $total_panier Le total de la Commande dans le Panier. */
|
||||
$total_panier = pipe(WC()->cart->get_total(""), fn($total) => intval($total));
|
||||
$sous_total_reduction = Number::format(WC()->cart->get_totals()["discount_total"], precision: 2);
|
||||
/** @var float $total_panier Le total de la Commande dans le Panier. */
|
||||
$total_panier = Number::format(floatval(WC()->cart->get_totals()["total"]), precision: 2);
|
||||
|
||||
foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) {
|
||||
$panier[$cle_panier] = [
|
||||
|
|
@ -43,17 +115,17 @@ foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) {
|
|||
];
|
||||
}
|
||||
|
||||
// echo "<br><br><br><pre>";
|
||||
// print_r($code_promo);
|
||||
// echo "<br>";
|
||||
// print_r(WC()->cart->get_applied_coupons());
|
||||
// print_r(WC()->cart->get_coupon_discount_totals());
|
||||
// echo "</pre>";
|
||||
|
||||
// Récupère les Adresses de l'Utilisateur
|
||||
$email = WC()->customer->get_billing_email();
|
||||
$adresse_livraison = WC()->customer->get_shipping();
|
||||
$adresse_facturation = WC()->customer->get_billing();
|
||||
$pays_livraison = collect(WC()->countries->get_countries())->only($pays_acceptes)->toArray();
|
||||
$total_livraison = Number::format(floatval(WC()->cart->get_totals()["shipping_total"]), precision: 0);
|
||||
|
||||
echo "<pre>";
|
||||
// print_r(WC()->countries->get_countries());
|
||||
// print_r($adresse_livraison);
|
||||
echo "</pre>";
|
||||
|
||||
$contexte["email"] = $email;
|
||||
$contexte["adresse_livraison"] = $adresse_livraison;
|
||||
|
|
@ -63,14 +135,12 @@ $contexte["code_promo"] = $code_promo;
|
|||
$contexte["sous_total_reduction"] = $sous_total_reduction;
|
||||
$contexte["total_panier"] = $total_panier;
|
||||
$contexte["produits_panier"] = $panier;
|
||||
|
||||
// Récupère les Pays pris en charge par WooCommerce
|
||||
// $countries_obj = new WC_Shipping_Zones();
|
||||
// $chosen_shipping_methods = WC()->session;
|
||||
// echo "<pre>";
|
||||
// print_r($countries_obj);
|
||||
// print_r($chosen_shipping_methods);
|
||||
// echo "</pre>";
|
||||
$contexte["pays_livraison"] = $pays_livraison;
|
||||
$contexte["sous_total_livraison"] = $total_livraison;
|
||||
$contexte["methode_livraison"] =
|
||||
collect(WC()->session->get("shipping_for_package_0")["rates"])
|
||||
->first()
|
||||
?->get_label() ?? "";
|
||||
|
||||
// Charge les scripts et styles de la page
|
||||
function charge_scripts_styles_page_panier(): void {
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ class StarterSite extends Site {
|
|||
return $options;
|
||||
}
|
||||
|
||||
public function charge_traductions_theme(): void {
|
||||
load_theme_textdomain("haiku-atelier-2024", get_template_directory() . "/languages");
|
||||
}
|
||||
// public function charge_traductions_theme(): void {
|
||||
// load_theme_textdomain("haiku-atelier-2024", get_template_directory() . "/languages");
|
||||
// }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,13 @@
|
|||
position: absolute;
|
||||
z-index: 5;
|
||||
bottom: calc(var(--position-y-fleches) / 2 - var(--espace-l) / 2);
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
padding: var(--espace-s);
|
||||
display: flex;
|
||||
place-content: center;
|
||||
place-items: center;
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
min-height: 2rem;
|
||||
max-height: 2rem;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
border-radius: 100%;
|
||||
|
|
@ -27,25 +31,30 @@
|
|||
transition: 0.2s opacity, 0.2s visibility;
|
||||
|
||||
&:first-of-type {
|
||||
left: var(--espace-l);
|
||||
left: var(--espace-s);
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
right: var(--espace-l);
|
||||
right: var(--espace-s);
|
||||
}
|
||||
|
||||
svg {
|
||||
min-width: 1.5rem;
|
||||
min-height: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
&[data-images-presentes-debut] {
|
||||
.fleches-defilement__bouton:first-of-type {
|
||||
cursor: pointer;
|
||||
opacity: 1;
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
&[data-images-presentes-fin] {
|
||||
.fleches-defilement__bouton:last-of-type {
|
||||
cursor: pointer;
|
||||
opacity: 1;
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
row-gap: var(--espace-xl);
|
||||
padding: var(--espace-m);
|
||||
|
||||
a {
|
||||
position: relative;
|
||||
|
|
@ -106,6 +105,7 @@
|
|||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
justify-content: space-between;
|
||||
padding: var(--espace-m);
|
||||
margin-bottom: var(--espace-xl);
|
||||
|
||||
h3 {
|
||||
|
|
|
|||
|
|
@ -89,6 +89,10 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.panneau__formulaires__message {
|
||||
margin: var(--espace-l) 0;
|
||||
}
|
||||
}
|
||||
|
||||
.formulaire {
|
||||
|
|
@ -119,8 +123,6 @@
|
|||
place-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
// width: min(25rem, 100%);
|
||||
|
||||
+ .formulaire__champs__champ {
|
||||
margin-top: var(--espace-l);
|
||||
}
|
||||
|
|
@ -137,7 +139,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
input {
|
||||
input, select {
|
||||
width: 15rem;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ export const SELECTEUR_ENSEMBLE_CODE_PROMO = "#panneau-panier #ensemble-code-pro
|
|||
export const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo";
|
||||
export const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo";
|
||||
export const SELECTEUR_MESSAGE_CODE_PROMO = "#panneau-panier .panneau__instructions-code-promo__code-promo__message";
|
||||
export const SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES = "#panneau-informations-client #message-formulaire-adresses";
|
||||
|
||||
// Accueil
|
||||
export const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
/** Constantes des Messages affichés aux Utilisateurs. */
|
||||
|
||||
export const ERREUR_GENERIQUE_SOUMISSION_ADRESSES =
|
||||
"Something went wrong while submitting the addresses. Please refresh your page and try again?";
|
||||
|
|
@ -1,4 +1,16 @@
|
|||
import { N } from "@mobily/ts-belt";
|
||||
import { N, pipe } from "@mobily/ts-belt";
|
||||
|
||||
export const estEntreDeuxNombres = (nombre: number, min: number, max: number): boolean =>
|
||||
N.gte(nombre, min) && N.lt(nombre, max);
|
||||
|
||||
export const diviseParCent = (n: number | string): number => Number(n) / 100;
|
||||
|
||||
export const arrondisAZeroOuDeuxDecimales = (n: number | string): string =>
|
||||
(Number(n) / Math.round(Number(n))) === 1 ? Number(n).toFixed(0) : Number(n).toFixed(2);
|
||||
|
||||
export const inverseNombre = (n: number | string): number => Number(n) * -1;
|
||||
|
||||
export const formateEnEuros = (n: number | string): string => `${String(n)}€`;
|
||||
|
||||
export const diviseParCentEtArrondis = (nombre: number | string): string =>
|
||||
pipe(Number(nombre), diviseParCent, arrondisAZeroOuDeuxDecimales);
|
||||
|
|
|
|||
|
|
@ -4,29 +4,31 @@
|
|||
|
||||
import { pipe } from "@mobily/ts-belt";
|
||||
import { tap } from "@mobily/ts-belt/Function";
|
||||
import { Either, EitherAsync } from "purify-ts";
|
||||
import { EitherAsync } from "purify-ts";
|
||||
import { match, P } from "ts-pattern";
|
||||
import { parse, type ValiError } from "valibot";
|
||||
import { ValiError } from "valibot";
|
||||
|
||||
import type { APIFetchErrors } from "./lib/types/api/erreurs";
|
||||
import type { WCProductsArgs } from "./lib/types/api/products";
|
||||
import type { WCV3Products, WCV3ProductsArgs } from "./lib/types/api/v3/products.ts";
|
||||
import type { ReponseSimplifiee } from "./lib/types/reseau";
|
||||
|
||||
import { ROUTE_API_NOUVELLE_PRODUCTS } from "./constantes/api.ts";
|
||||
import {
|
||||
ATTRIBUT_CHARGEMENT,
|
||||
ATTRIBUT_DESACTIVE,
|
||||
ATTRIBUT_HIDDEN,
|
||||
ATTRIBUT_ID_CATEGORIE_PRODUITS,
|
||||
ATTRIBUT_PAGE,
|
||||
SELECTEUR_BOUTON_PLUS_PRODUITS,
|
||||
SELECTEUR_GRILLE_PRODUITS,
|
||||
} from "./constantes/dom.ts";
|
||||
import { lanceAnimationCycleTexte } from "./lib/animations.ts";
|
||||
import { html } from "./lib/dom.ts";
|
||||
import { leveServerError } from "./lib/erreurs.ts";
|
||||
import { estReponse500 } from "./lib/gardes.ts";
|
||||
import { getBackendAvecParametresUrl, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts";
|
||||
import { WCV3ProductsSchema } from "./lib/schemas/api/v3/products.ts";
|
||||
import { WCV3ProductsArgsSchema } from "./lib/schemas/api/v3/products.ts";
|
||||
import { recupereElementDansDocumentOuLeve, recupereElementDocumentEither } from "./lib/utils.ts";
|
||||
import { BadRequestError, ServerError } from "./lib/erreurs.ts";
|
||||
import { getBackendAvecParametresUrl } from "./lib/reseau.ts";
|
||||
import { WCV3ProductsArgsSchema, WCV3ProductsSchema } from "./lib/schemas/api/v3/products.ts";
|
||||
import { recupereElementDansDocumentOuLeve } from "./lib/utils.ts";
|
||||
import { eitherParse } from "./lib/validation.ts";
|
||||
|
||||
/** États utiles pour les scripts de la page. */
|
||||
type EtatsPage = {
|
||||
|
|
@ -40,117 +42,137 @@ type EtatsPage = {
|
|||
const ETATS_PAGE: EtatsPage = _etats;
|
||||
|
||||
// Éléments d'intérêt
|
||||
const GRILLE_PRODUITS: HTMLDivElement = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS);
|
||||
const BOUTON_PLUS_DE_PRODUITS: Either<SyntaxError, HTMLButtonElement> = recupereElementDocumentEither(
|
||||
SELECTEUR_BOUTON_PLUS_PRODUITS,
|
||||
);
|
||||
const E = {
|
||||
BOUTON_PLUS_DE_PRODUITS: recupereElementDansDocumentOuLeve<HTMLButtonElement>(SELECTEUR_BOUTON_PLUS_PRODUITS),
|
||||
GRILLE_PRODUITS: recupereElementDansDocumentOuLeve<HTMLDivElement>(SELECTEUR_GRILLE_PRODUITS),
|
||||
};
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
const initialisePageBoutique = (): void => {
|
||||
const idCategorieProduits: null | string = GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
|
||||
const idCategorieProduits: null | string = E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
|
||||
|
||||
BOUTON_PLUS_DE_PRODUITS.ifRight(bouton => {
|
||||
bouton.addEventListener("click", (): void => {
|
||||
const nouvellePage = Number(GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
|
||||
const args: WCV3ProductsArgs = {
|
||||
page: nouvellePage,
|
||||
per_page: 13,
|
||||
// Ajoute conditionnellement la Catégorie de Produits
|
||||
...(idCategorieProduits && { category: idCategorieProduits }),
|
||||
};
|
||||
E.BOUTON_PLUS_DE_PRODUITS.addEventListener("click", (): void => {
|
||||
const nouveauNumeroPage = Number(E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
|
||||
const args: WCV3ProductsArgs = {
|
||||
page: nouveauNumeroPage,
|
||||
per_page: 12,
|
||||
// Ajoute conditionnellement la Catégorie de Produits
|
||||
...(idCategorieProduits && { category: idCategorieProduits }),
|
||||
};
|
||||
|
||||
type APIProductsErrors =
|
||||
| APIFetchErrors
|
||||
| ValiError<typeof WCV3ProductsArgsSchema>
|
||||
| ValiError<typeof WCV3ProductsSchema>;
|
||||
type APIProductsErrors =
|
||||
| APIFetchErrors
|
||||
| ValiError<typeof WCV3ProductsArgsSchema>
|
||||
| ValiError<typeof WCV3ProductsSchema>;
|
||||
|
||||
// Réalise la requête et traite sa réponse
|
||||
Either
|
||||
// Valide les arguments de la requête
|
||||
.encase<ValiError<typeof WCV3ProductsArgsSchema>, WCV3ProductsArgs>(() => parse(WCV3ProductsArgsSchema, args))
|
||||
.map(
|
||||
async (args: WCProductsArgs) => {
|
||||
// Réalise la requête
|
||||
await EitherAsync<APIProductsErrors, Response>(() =>
|
||||
getBackendAvecParametresUrl({
|
||||
authString: ETATS_PAGE.authString,
|
||||
nonce: ETATS_PAGE.nonce,
|
||||
route: ROUTE_API_NOUVELLE_PRODUCTS,
|
||||
searchParams: new URLSearchParams(args).toString(),
|
||||
})
|
||||
)
|
||||
.map((reponse: Response) => {
|
||||
// Traite le cas d'erreur 500
|
||||
if (estReponse500(reponse)) leveServerError("500 Server Error");
|
||||
// Retourne le corps de la Réponse
|
||||
return reponse.json();
|
||||
})
|
||||
.map((corpsReponse: unknown) =>
|
||||
// Traite tous les codes HTTPs possibles
|
||||
traiteReponseBackendWCSelonCodesHTTP<WCV3Products, typeof WCV3ProductsSchema>(
|
||||
corpsReponse,
|
||||
WCV3ProductsSchema,
|
||||
)
|
||||
)
|
||||
.ifRight((donnees: WCV3Products) => {
|
||||
// Cache le bouton s'il y a moins de 12 Produits disponibles (que l'on est à la dernière page)
|
||||
if (donnees.length < 12) {
|
||||
bouton.toggleAttribute(ATTRIBUT_HIDDEN);
|
||||
}
|
||||
void EitherAsync
|
||||
.liftEither(eitherParse(args, WCV3ProductsArgsSchema))
|
||||
.ifRight(() => {
|
||||
// Désactive le Bouton pour empêcher des requêtes concurrentes
|
||||
E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_CHARGEMENT, "");
|
||||
|
||||
// Créé un DocumentFragment qui recevra tous les nouveaux Produits
|
||||
const fragment: DocumentFragment = document.createDocumentFragment();
|
||||
// Lance un cycle d'animation sur le texte de chargement
|
||||
const animation = lanceAnimationCycleTexte({
|
||||
attribut: ATTRIBUT_CHARGEMENT,
|
||||
element: E.BOUTON_PLUS_DE_PRODUITS,
|
||||
etapes: [
|
||||
"Loading",
|
||||
"Loading.",
|
||||
"Loading..",
|
||||
"Loading...",
|
||||
],
|
||||
});
|
||||
animation.callback();
|
||||
animation.interval = setInterval(animation.callback, 500);
|
||||
})
|
||||
.chain((args: WCV3ProductsArgs) =>
|
||||
EitherAsync<Error, Response>(() =>
|
||||
getBackendAvecParametresUrl({
|
||||
authString: ETATS_PAGE.authString,
|
||||
nonce: ETATS_PAGE.nonce,
|
||||
route: ROUTE_API_NOUVELLE_PRODUCTS,
|
||||
searchParams: new URLSearchParams(args).toString(),
|
||||
})
|
||||
)
|
||||
)
|
||||
.chain((reponse: Response) =>
|
||||
EitherAsync<APIFetchErrors, unknown>(async ({ throwE }) => {
|
||||
const reponseSimplifiee: ReponseSimplifiee = {
|
||||
body: await reponse.json(),
|
||||
status: reponse.status,
|
||||
};
|
||||
|
||||
// Créé les Éléments <article> à insérer
|
||||
for (const produit of donnees.slice(0, 12)) {
|
||||
pipe(
|
||||
html`
|
||||
<article class="produit">
|
||||
<figure>
|
||||
<a href="/product/${produit.slug}">
|
||||
<picture class="produit__illustration produit__illustration__principale">
|
||||
${produit.image_repos ?? ""}
|
||||
</picture>
|
||||
return match(reponseSimplifiee)
|
||||
.with({ status: 500 }, () => throwE(new ServerError("500 Server Error")))
|
||||
.with({ status: 400 }, () => throwE(new BadRequestError("400 Server Error")))
|
||||
.with({ status: 200 }, () => reponseSimplifiee.body)
|
||||
.run();
|
||||
})
|
||||
)
|
||||
.chain((corpsReponse: unknown) => EitherAsync.liftEither(eitherParse(corpsReponse, WCV3ProductsSchema)))
|
||||
.ifRight((donnees: WCV3Products) => {
|
||||
// Cache le bouton s'il y a moins de 12 Produits disponibles (que l'on est à la dernière page)
|
||||
if (donnees.length < 12) {
|
||||
E.BOUTON_PLUS_DE_PRODUITS.toggleAttribute(ATTRIBUT_HIDDEN);
|
||||
}
|
||||
|
||||
<picture class="produit__illustration produit__illustration__survol">
|
||||
${produit.image_survol ?? ""}
|
||||
</picture>
|
||||
</a>
|
||||
// Créé un DocumentFragment qui recevra tous les nouveaux Produits
|
||||
const fragment: DocumentFragment = document.createDocumentFragment();
|
||||
|
||||
<figcaption class="produit__textuel">
|
||||
<h3 class="produit__textuel__titre">
|
||||
<a href="${produit.permalink}">${produit.name}</a>
|
||||
</h3>
|
||||
<p class="produit__textuel__prix">
|
||||
${produit.prix_maximal}€
|
||||
</p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</article>
|
||||
`,
|
||||
tap(article => {
|
||||
fragment.appendChild(article);
|
||||
}),
|
||||
);
|
||||
}
|
||||
// Créé les Éléments <article> à insérer
|
||||
for (const produit of donnees.slice(0, 12)) {
|
||||
pipe(
|
||||
html`
|
||||
<article class="produit">
|
||||
<figure>
|
||||
<a href="/product/${produit.slug}">
|
||||
<picture class="produit__illustration produit__illustration__principale">
|
||||
${produit.image_repos ?? ""}
|
||||
</picture>
|
||||
|
||||
// Ajoute les nouveaux Produits dans le DOM
|
||||
GRILLE_PRODUITS.appendChild(fragment);
|
||||
GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouvellePage));
|
||||
})
|
||||
.ifLeft(e => {
|
||||
match(e)
|
||||
// TODO: Créer une méthode pour rapporter les problèmes de validation
|
||||
.with({ issues: P.select(), name: "ValiError" }, problemes => console.error("ValiError", problemes))
|
||||
.otherwise(e => console.error("Autre", e.name, e));
|
||||
})
|
||||
// Pas d'intérêt à récupérer le résultat
|
||||
.void();
|
||||
},
|
||||
);
|
||||
});
|
||||
<picture class="produit__illustration produit__illustration__survol">
|
||||
${produit.image_survol ?? ""}
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
<figcaption class="produit__textuel">
|
||||
<h3 class="produit__textuel__titre">
|
||||
<a href="${produit.permalink}">${produit.name}</a>
|
||||
</h3>
|
||||
<p class="produit__textuel__prix">
|
||||
${produit.prix_maximal}€
|
||||
</p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</article>
|
||||
`,
|
||||
tap(article => fragment.appendChild(article)),
|
||||
);
|
||||
}
|
||||
|
||||
// Ajoute les nouveaux Produits dans le DOM
|
||||
E.GRILLE_PRODUITS.appendChild(fragment);
|
||||
E.GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouveauNumeroPage));
|
||||
|
||||
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Show more";
|
||||
})
|
||||
.ifLeft((erreur: APIProductsErrors) => {
|
||||
// Traite les Erreurs et affiche un Message à l'Utilisateur
|
||||
match(erreur)
|
||||
.with(P.instanceOf(ValiError), e => console.error("ValiError", e.issues))
|
||||
.otherwise(e => console.error("Erreur", e));
|
||||
|
||||
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Error, try again?";
|
||||
})
|
||||
.finally(() => {
|
||||
// Désactive l'animation de chargement et rend le Bouton de nouveau cliquable
|
||||
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_CHARGEMENT);
|
||||
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_DESACTIVE);
|
||||
})
|
||||
.run();
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { pipe } from "@mobily/ts-belt";
|
||||
import { EitherAsync, Maybe } from "purify-ts";
|
||||
import { match } from "ts-pattern";
|
||||
import { match, P } from "ts-pattern";
|
||||
import { ValiError } from "valibot";
|
||||
|
||||
import type { WCStoreCart, WCStoreShippingRateShippingRate } from "./lib/types/api/cart";
|
||||
|
|
@ -16,12 +16,14 @@ import {
|
|||
SELECTEUR_ENTREES_PANIER,
|
||||
SELECTEUR_FORMULAIRE_PANIER,
|
||||
SELECTEUR_INSTRUCTIONS_CLIENT,
|
||||
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES,
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT,
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,
|
||||
} from "./constantes/dom";
|
||||
import { ERREUR_GENERIQUE_SOUMISSION_ADRESSES } from "./constantes/messages-utilisateur";
|
||||
import { lanceAnimationCycleTexte } from "./lib/animations";
|
||||
import { eitherJsonParse, eitherSessionStorageGet } from "./lib/dom";
|
||||
import { leveErreur, leveServerError, ServerError } from "./lib/erreurs";
|
||||
import { BadRequestError, leveErreur, leveServerError, ServerError } from "./lib/erreurs";
|
||||
import { estReponse500 } from "./lib/gardes";
|
||||
import { postBackend } from "./lib/reseau";
|
||||
import { WCStoreCartSchema } from "./lib/schemas/api/cart";
|
||||
|
|
@ -46,6 +48,9 @@ const ELEMENTS = {
|
|||
ENTREES_PANIER_EITHER: recupereElementsDocumentEither<HTMLElement>(SELECTEUR_ENTREES_PANIER),
|
||||
FORMULAIRE_PANIER: recupereElementDansDocumentOuLeve<HTMLFormElement>(SELECTEUR_FORMULAIRE_PANIER),
|
||||
INSTRUCTIONS_CLIENT: recupereElementDansDocumentOuLeve<HTMLTextAreaElement>(SELECTEUR_INSTRUCTIONS_CLIENT),
|
||||
MESSAGE_FORMULAIRE_ADRESSES: recupereElementDansDocumentOuLeve<HTMLParagraphElement>(
|
||||
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES,
|
||||
),
|
||||
TOTAL_LIVRAISON_COUT: recupereElementDansDocumentOuLeve<HTMLElement>(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT),
|
||||
TOTAL_LIVRAISON_PRESTATAIRE: recupereElementDansDocumentOuLeve<HTMLSpanElement>(
|
||||
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,
|
||||
|
|
@ -92,7 +97,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
|
|||
address_2: "",
|
||||
city: donneesFormulaire["facturation-ville"] ?? donneesFormulaire["livraison-ville"] ?? "",
|
||||
company: "",
|
||||
country: "FR",
|
||||
country: donneesFormulaire["facturation-pays"] ?? donneesFormulaire["livraison-pays"] ?? "",
|
||||
email: donneesFormulaire["facturation-email"] ?? donneesFormulaire["livraison-email"] ?? "",
|
||||
first_name: donneesFormulaire["facturation-prenom"] ?? donneesFormulaire["livraison-prenom"] ?? "",
|
||||
last_name: donneesFormulaire["facturation-nom"] ?? donneesFormulaire["livraison-nom"] ?? "",
|
||||
|
|
@ -105,7 +110,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
|
|||
address_2: "",
|
||||
city: donneesFormulaire["livraison-ville"] ?? "",
|
||||
company: "",
|
||||
country: "FR",
|
||||
country: donneesFormulaire["livraison-pays"] ?? "",
|
||||
first_name: donneesFormulaire["livraison-prenom"] ?? "",
|
||||
last_name: donneesFormulaire["livraison-nom"] ?? "",
|
||||
phone: donneesFormulaire["livraison-telephone"] ?? "",
|
||||
|
|
@ -135,6 +140,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
|
|||
|
||||
return match(reponseSimplifiee)
|
||||
.with({ status: 500 }, () => throwE(new ServerError("500 Server Error")))
|
||||
.with({ status: 400 }, () => throwE(new BadRequestError("400 Bad Request Error")))
|
||||
.with({ status: 200 }, () => reponseSimplifiee.body)
|
||||
.run();
|
||||
})
|
||||
|
|
@ -146,7 +152,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
|
|||
|
||||
const sousTotalLivraison = panier.totals.total_shipping === "0"
|
||||
? "Free"
|
||||
: `${String(panier.totals.total_shipping)}€`;
|
||||
: `${String(Number(panier.totals.total_shipping) / 100)}€`;
|
||||
const prestataireLivraison = panier.shipping_rates[0]?.shipping_rates[0]?.name ?? "";
|
||||
|
||||
// Met à jour les informations de Livraison affichés à l'Utilisateur
|
||||
|
|
@ -164,7 +170,23 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
|
|||
// Active le Bouton pour la création de la Commande
|
||||
initialiseBoutonCreationCommande();
|
||||
})
|
||||
.ifLeft(erreur => match(erreur).with)
|
||||
.ifLeft((
|
||||
erreur:
|
||||
| ServerError
|
||||
| ValiError<typeof WCStoreCartSchema>
|
||||
| ValiError<typeof WCStoreCartUpdateCustomerArgsSchema>,
|
||||
) =>
|
||||
match(erreur)
|
||||
.with(P.instanceOf(ValiError), e => {
|
||||
console.error(e.issues);
|
||||
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
|
||||
})
|
||||
.with(P.instanceOf(ServerError), e => {
|
||||
console.error(e);
|
||||
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
|
||||
})
|
||||
.exhaustive()
|
||||
)
|
||||
.finally(() => {
|
||||
// Désactive l'animation de chargement et rend le Bouton de nouveau cliquable
|
||||
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_CHARGEMENT);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { D, F, pipe } from "@mobily/ts-belt";
|
||||
import { Either, Maybe } from "purify-ts";
|
||||
import { parse, ValiError } from "valibot";
|
||||
import { parse, type ValiError } from "valibot";
|
||||
|
||||
import type { MessageMajContenuPanierSchema } from "./lib/schemas/messages.ts";
|
||||
import type { WCStoreCart, WCStoreCartItem } from "./lib/types/api/cart";
|
||||
|
|
@ -37,6 +37,7 @@ import {
|
|||
valideMessageMajBoutonPanier,
|
||||
valideMessageMajContenuPanier,
|
||||
} from "./lib/messages.ts";
|
||||
import { arrondisAZeroOuDeuxDecimales, diviseParCent, formateEnEuros, inverseNombre } from "./lib/nombres.ts";
|
||||
import { postBackend, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts";
|
||||
import { WCStoreCartRemoveItemArgsSchema } from "./lib/schemas/api/cart-remove-item.ts";
|
||||
import { WCStoreCartUpdateItemArgsSchema } from "./lib/schemas/api/cart-update-item.ts";
|
||||
|
|
@ -102,7 +103,7 @@ const desactiveBoutonsEntreesPanier = (entrees: Array<HTMLElement>): void =>
|
|||
elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
elements.boutonSuppression.textContent = "C= C= C= C= C=┌(;・ω・)┘";
|
||||
elements.boutonSuppression.textContent = "Loading...";
|
||||
});
|
||||
|
||||
const majEtatsActivationBoutons = (entrees: Array<HTMLElement>): void =>
|
||||
|
|
@ -181,9 +182,9 @@ const initialiseMajEntreesPanier = (): void => {
|
|||
// Émet un Message avec le nouveau contenu du Panier
|
||||
emetMessageMajContenuPanier({
|
||||
produits: panier.items,
|
||||
sousTotalProduits: Number(panier.totals.total_items) / 100,
|
||||
sousTotalReduction: Number(panier.totals.total_discount) / 100,
|
||||
totalPanier: Number(panier.totals.total_price) / 100,
|
||||
sousTotalProduits: diviseParCent(panier.totals.total_items),
|
||||
sousTotalReduction: diviseParCent(panier.totals.total_discount),
|
||||
totalPanier: diviseParCent(panier.totals.total_price),
|
||||
});
|
||||
// Retire l'entrée du Panier du DOM
|
||||
entree.remove();
|
||||
|
|
@ -241,9 +242,9 @@ const initialiseMajEntreesPanier = (): void => {
|
|||
// Émet un Message avec le nouveau contenu du Panier
|
||||
emetMessageMajContenuPanier({
|
||||
produits: panier.items,
|
||||
sousTotalProduits: Number(panier.totals.total_items) / 100,
|
||||
sousTotalReduction: Number(panier.totals.total_discount) / 100,
|
||||
totalPanier: Number(panier.totals.total_price) / 100,
|
||||
sousTotalProduits: diviseParCent(panier.totals.total_items),
|
||||
sousTotalReduction: diviseParCent(panier.totals.total_discount),
|
||||
totalPanier: diviseParCent(panier.totals.total_price),
|
||||
});
|
||||
}),
|
||||
);
|
||||
|
|
@ -298,9 +299,9 @@ const initialiseMajEntreesPanier = (): void => {
|
|||
// Émet un Message avec le nouveau contenu du Panier
|
||||
emetMessageMajContenuPanier({
|
||||
produits: panier.items,
|
||||
sousTotalProduits: Number(panier.totals.total_items) / 100,
|
||||
sousTotalReduction: Number(panier.totals.total_discount) / 100,
|
||||
totalPanier: Number(panier.totals.total_price) / 100,
|
||||
sousTotalProduits: diviseParCent(panier.totals.total_items),
|
||||
sousTotalReduction: diviseParCent(panier.totals.total_discount),
|
||||
totalPanier: diviseParCent(panier.totals.total_price),
|
||||
});
|
||||
}),
|
||||
);
|
||||
|
|
@ -356,7 +357,7 @@ const initialiseMajContenuPanier = (): void => {
|
|||
|
||||
// Met à jour les valeurs
|
||||
entree.setAttribute("data-quantite", String(ligne.quantity));
|
||||
prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}€`;
|
||||
prixLigne.textContent = pipe(diviseParCent(ligne.totals.line_subtotal), formateEnEuros);
|
||||
champQuantite.setAttribute("value", String(ligne.quantity));
|
||||
|
||||
// Réactive les Boutons
|
||||
|
|
@ -364,9 +365,13 @@ const initialiseMajContenuPanier = (): void => {
|
|||
});
|
||||
|
||||
// Met à jour les totaux du Panier
|
||||
SOUS_TOTAL_REDUCTION.textContent = `-${String(donnees.sousTotalReduction)}€`;
|
||||
SOUS_TOTAL_PRODUITS.textContent = `${String(donnees.sousTotalProduits)}€`;
|
||||
TOTAL_PANIER.textContent = `${String(donnees.totalPanier)}€`;
|
||||
SOUS_TOTAL_PRODUITS.textContent = formateEnEuros(donnees.sousTotalProduits);
|
||||
SOUS_TOTAL_REDUCTION.textContent = pipe(
|
||||
inverseNombre(donnees.sousTotalReduction),
|
||||
arrondisAZeroOuDeuxDecimales,
|
||||
formateEnEuros,
|
||||
);
|
||||
TOTAL_PANIER.textContent = pipe(arrondisAZeroOuDeuxDecimales(donnees.totalPanier), formateEnEuros);
|
||||
});
|
||||
});
|
||||
})
|
||||
|
|
|
|||
|
|
@ -18,16 +18,15 @@
|
|||
<main id="page-boutique">
|
||||
{% include "parts/pages/shop/grille-produits.twig" %}
|
||||
|
||||
{% if produits|length == 12 %}
|
||||
<div class="actions">
|
||||
<button
|
||||
class="bouton-case-pleine bouton-blanc-sur-noir"
|
||||
id="bouton-plus-de-produits"
|
||||
type="button"
|
||||
>
|
||||
Show more products
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="actions">
|
||||
<button
|
||||
{{produits|length == 12 ? "" : "hidden"}}
|
||||
class="bouton-case-pleine bouton-blanc-sur-noir"
|
||||
id="bouton-plus-de-produits"
|
||||
type="button"
|
||||
>
|
||||
Show more products
|
||||
</button>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock contenu %}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,10 @@
|
|||
</nav>
|
||||
|
||||
{# Bouton « Panier » avec l'indicateur de quantité de Produits #}
|
||||
<section class="compte-panier" hidden>
|
||||
<section
|
||||
class="compte-panier"
|
||||
hidden
|
||||
>
|
||||
<a
|
||||
class="lien-bouton"
|
||||
data-contient-articles="{{ articles_presents }}"
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
name="viewport"
|
||||
content="width=device-width, initial-scale=1"
|
||||
/>
|
||||
{# Pinterest #}
|
||||
<meta name="p:domain_verify" content="98fed4c924501d2f2a90c5b37e165085"/>
|
||||
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
|
|
|
|||
|
|
@ -87,7 +87,6 @@
|
|||
<div class="formulaire__champs__champ">
|
||||
<label for="livraison-code-postal">Postcode</label>
|
||||
<input
|
||||
autocomplete="postal-code"
|
||||
id="livraison-code-postal"
|
||||
minlength="3"
|
||||
name="livraison-code-postal"
|
||||
|
|
@ -127,7 +126,17 @@
|
|||
<select
|
||||
id="livraison-pays"
|
||||
name="livraison-pays"
|
||||
></select>
|
||||
required
|
||||
>
|
||||
{% for cle, pays in pays_livraison %}
|
||||
<option
|
||||
{{cle == adresse_livraison.country ? "selected" : ""}}
|
||||
value="{{cle}}"
|
||||
>
|
||||
{{ pays }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="formulaire__champs__champ">
|
||||
|
|
@ -211,7 +220,6 @@
|
|||
<div class="formulaire__champs__champ">
|
||||
<label for="facturation-code-postal">Postcode</label>
|
||||
<input
|
||||
autocomplete="postal-code"
|
||||
disabled
|
||||
id="facturation-code-postal"
|
||||
minlength="3"
|
||||
|
|
@ -290,6 +298,15 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panneau__formulaires__message">
|
||||
<p
|
||||
class="message"
|
||||
id="message-formulaire-adresses"
|
||||
>
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{# Formulaire de paiement #}
|
||||
<div class="panneau__formulaires__paiement formulaire">
|
||||
<h3 class="formulaire__titre">Payment:</h3>
|
||||
|
|
|
|||
|
|
@ -134,11 +134,19 @@
|
|||
id="sous-total-livraison"
|
||||
>
|
||||
<p>Shipping:</p>
|
||||
<p>
|
||||
<strong>Enter your delivery address</strong>
|
||||
<br />
|
||||
<span> </span>
|
||||
</p>
|
||||
{% if sous_total_livraison == 0 %}
|
||||
<p>
|
||||
<strong>Enter your delivery address</strong>
|
||||
<br />
|
||||
<span> </span>
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
<strong>{{ sous_total_livraison }}€</strong>
|
||||
<br />
|
||||
<span>{{ methode_livraison }}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<p class="panneau__sous-totaux__conditions-livraison">
|
||||
|
|
|
|||
|
|
@ -3,15 +3,29 @@
|
|||
class="fleches-defilement__bouton bouton-fleche"
|
||||
type="button"
|
||||
>
|
||||
{#
|
||||
<svg
|
||||
height="2rem"
|
||||
transform="scale(-1 1)"
|
||||
viewBox="0 0 15 15"
|
||||
width="2rem"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M8.293 2.293a1 1 0 0 1 1.414 0l4.5 4.5a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414-1.414L11 8.5H1.5a1 1 0 0 1 0-2H11L8.293 3.707a1 1 0 0 1 0-1.414"
|
||||
fill="#fff"
|
||||
/>
|
||||
</svg>
|
||||
#}
|
||||
<svg
|
||||
height="2rem"
|
||||
height="1.5rem"
|
||||
transform="scale(-1 1)"
|
||||
viewBox="0 0 15 15"
|
||||
width="2rem"
|
||||
viewBox="94.634 56.652 88.879 79.521"
|
||||
width="1.5rem"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M8.293 2.293a1 1 0 0 1 1.414 0l4.5 4.5a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414-1.414L11 8.5H1.5a1 1 0 0 1 0-2H11L8.293 3.707a1 1 0 0 1 0-1.414"
|
||||
d="m94.623 136.156 88.869-36.863-88.869-42.648s21.33 20.87 21.33 39.756c0 18.891-21.33 39.755-21.33 39.755"
|
||||
fill="#fff"
|
||||
/>
|
||||
</svg>
|
||||
|
|
@ -22,13 +36,13 @@
|
|||
type="button"
|
||||
>
|
||||
<svg
|
||||
height="2rem"
|
||||
viewBox="0 0 15 15"
|
||||
width="2rem"
|
||||
height="1.5rem"
|
||||
viewBox="94.634 56.652 88.879 79.521"
|
||||
width="1.5rem"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M8.293 2.293a1 1 0 0 1 1.414 0l4.5 4.5a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414-1.414L11 8.5H1.5a1 1 0 0 1 0-2H11L8.293 3.707a1 1 0 0 1 0-1.414"
|
||||
d="m94.623 136.156 88.869-36.863-88.869-42.648s21.33 20.87 21.33 39.756c0 18.891-21.33 39.755-21.33 39.755"
|
||||
fill="#fff"
|
||||
/>
|
||||
</svg>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue