init
This commit is contained in:
commit
de73fc619a
3560 changed files with 747274 additions and 0 deletions
58
docs/STUFF.md
Normal file
58
docs/STUFF.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
I'll see you soup
|
||||
|
||||
Google API
|
||||
AIzaSyDGe62r-bDxvNuDCP6HIfWIJAMvelFxU1s
|
||||
402628219773-hl8niqniiiklf15f9biou8g06pbm9sac.apps.googleusercontent.com
|
||||
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
|
||||
|
||||
- Code promo ?
|
||||
- La commande peut être associée au panier.
|
||||
- Vu que l'on passe par l'API REST, le panier est dissocié de la commande.
|
||||
- Il est possible de fixer le hash du panier dans la commande avec la fonction set_cart_hash de WC_Order.
|
||||
- Cela permet par la suite d'utiliser la fonction cancel_order WC_Order à l'annulation de cette dernière lors du retour au Panier depuis Stripe.
|
||||
- Ce ne sera possible qu'en utilisant un endpoint personnalisé réalisant ces opérations plutôt que l'API REST.
|
||||
- Dans l'idéal,
|
||||
- Ajouter un bouton "Reset cart" quelque part pour tout réinitialiser (et appeler cancel_order si implémenté)
|
||||
|
||||
---
|
||||
|
||||
- BadRequestError
|
||||
- reponse.status === 400
|
||||
- reponse.body = {
|
||||
code: string,
|
||||
message: string (différenciation sur le message ?),
|
||||
data: {
|
||||
status: number (400),
|
||||
}
|
||||
}
|
||||
|
||||
- Chargement de la page
|
||||
- Récupération des informations à la génération de la page
|
||||
- Panier
|
||||
- Code promo
|
||||
- Mode de livraison
|
||||
- Sous-totaux
|
||||
- Total
|
||||
- Adresses
|
||||
- Récupération des informations dans le LocalStorage
|
||||
- Code promo
|
||||
- Mode de livraison
|
||||
- Adresses
|
||||
|
||||
- À l'injection de données du LocalStorage
|
||||
- Mettre à jour les sous-totaux
|
||||
|
||||
- À l'appui sur le bouton de calcul de la livraison et au succès de la requête
|
||||
- Mettre à jour les méthodes de livraison
|
||||
- Mettre à jour les sous-totaux et le total
|
||||
- Sauvegarder les nouvelles données dans le LocalStorage
|
||||
|
||||
- Événements à créer
|
||||
- MiseAJourCodePromo
|
||||
- Se déclenche quand le champ du Code promo est modifié
|
||||
- MiseAJourProduits
|
||||
- Se déclenche quand une des lignes du Panier est modifiée (addition/soustraction/suppression)
|
||||
- MiseAJourMethodeLivraison
|
||||
- Se déclence quand le choix de la Méthode de livraison est modifié
|
||||
- MiseAJourAdresses
|
||||
- Se déclenche quand un des champs du formulaire des adresses est modifié
|
||||
60
docs/TODO.md
Executable file
60
docs/TODO.md
Executable file
|
|
@ -0,0 +1,60 @@
|
|||
- PAGE PANIER
|
||||
- [-] Bouton « Réinitialiser » pour les Articles
|
||||
- [-] Bouton « Réinitialiser » pour les Adresses
|
||||
- [ ] Sauvegarder la dernière adresse validée dans le LocalStorage
|
||||
- VITE
|
||||
- Récupérer les liens des fichiers JS depuis le manifeste dans les fichiers PHP
|
||||
- Menu Mobile
|
||||
- Reprendre pour suivre la maquette initiale
|
||||
- PayPal à faire
|
||||
- Styles pour les focus à faire
|
||||
- Boutons
|
||||
- Champs
|
||||
- Utiliser un polyfill pour BroadcastChannel
|
||||
- PAGE SHOP
|
||||
- [ ] Faire apparaître le menu des catégories de Produits quand on scroll vers le haut
|
||||
- PAGE PANIER
|
||||
- MÉTHODES DE LIVRAISON
|
||||
- [ ] Proposer la livraison à domicile en Belgique et en France pour le coût unique de 8 euros, quel que soit le montant de la commande
|
||||
- PAGE PRODUIT
|
||||
- Retirer les flèches de défilement.
|
||||
- Réduire l'image en focus pour que l'on perçoive les images précédentes/suivantes.
|
||||
- PIED DE PAGE
|
||||
- Réduire la hauteur.
|
||||
- TOUTES LES PAGES
|
||||
- Trouver la source des bordures superflues.
|
||||
|
||||
---
|
||||
|
||||
## Bouton « Retour en haut »
|
||||
|
||||
Un bouton « Retour en haut » permet pour un Utilisateur de rapidement revenir au sommet d'une page fournie en contenu.
|
||||
|
||||
Ne pas proposer ce bouton pour des pages faibles en contenus. Hoa Loranger recommende ainsi d'utiliser le seuil de **plus de quatre pages** de contenu (une page correspond à ce qui traversé avec l'appui sur la touche Espace dans le navigateur).
|
||||
|
||||
### Apparence et contenu
|
||||
|
||||
- Un lien `<a>` vers une ancre située en haut de la page (par exemple `#en-tete`) OU un bouton utilisant _JavaScript_ pour revenir en haut.
|
||||
- Cet élément doit en envelopper deux autres :
|
||||
- une icône sous forme de balises `<img>` ou `<svg>` avec un attribut `aria-hidden="true"` ;
|
||||
- un texte « Retour en haut » qui peut être visuellement caché mais toujours accessible par les lecteurs d'écrans via une classe `.visuellement-cache`.
|
||||
- Le bouton apparaît au sommet du reste du contenu.
|
||||
- On peut idéalement ajouter une impression de profondeur avec l'utilisation d'ombres.
|
||||
|
||||
### Comportement
|
||||
|
||||
- Le bouton apparaît en bas à droite de l'écran une fois que l'Utilisateur a défilé plus d'une page.
|
||||
- Il disparaît en-deça de ce seuil.
|
||||
- Le bouton reçoit alors l'attribut `aria-hidden="true"` et `tabindex="-1"` pour éviter que l'Utilisateur _tab_ dessus par erreur.
|
||||
- Quand il reçoit le focus, cela doit être visuellement indiqué.
|
||||
- Il est idéalement le dernier élément dans la _tabbing sequence_.
|
||||
- Le clic sur le bouton renvoie l'Utilisateur au sommet de la page, avec ou sans défilement doux.
|
||||
|
||||
- Considérations pour les Utilisateurs avec lecteurs d'écran :
|
||||
- Le renvoie au sommet de la page doit s'accompagner à un focus sur le premier élément pour le recevoir (par exemple un bouton).
|
||||
|
||||
### Liens
|
||||
|
||||
- [Creating an accessible 'back to top' button](https://jhartshorne.co.uk/posts/back-to-top/).
|
||||
- [Back-to-Top Button Design Guidelines](https://www.nngroup.com/articles/back-to-top/).
|
||||
- [Back to Top](https://designsystem.utah.gov/library/components/navigationLinks/backToTop).
|
||||
22
docs/lol/cute.ts
Executable file
22
docs/lol/cute.ts
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
const etapes = [
|
||||
"┌(・ω・)┘",
|
||||
"└(・ω・)┐",
|
||||
"┌(;・ω・)┘",
|
||||
"└(;・ω・)┐",
|
||||
"┌(;・ω・;)┘",
|
||||
"└(;・ω・;)┐",
|
||||
];
|
||||
const assigneTexte = (texte: string): void => ELEMENTS.BOUTON_CODE_PROMO.textContent = texte;
|
||||
let index = 0;
|
||||
const z = {};
|
||||
const callback = () => {
|
||||
if (!ELEMENTS.BOUTON_CODE_PROMO.hasAttribute(ATTRIBUT_CHARGEMENT)) {
|
||||
ELEMENTS.BOUTON_CODE_PROMO.textContent = "Apply";
|
||||
clearInterval(z.interval);
|
||||
}
|
||||
|
||||
assigneTexte(etapes.at(index) ?? "Loading...");
|
||||
index = index + 1 === etapes.length - 1 ? 0 : index + 1;
|
||||
};
|
||||
callback();
|
||||
z.interval = setInterval(callback, 500);
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# Informations produit sous forme de grille
|
||||
|
||||
- L'idée est de réimplémenter les informations essentiels du produit (nom, prix), le sélecteur de variation, les textes de détail, de conditions et d'entretien, et le bouton d'ajout au Panier.
|
||||
- Plutôt qu'un encart flottant, contenant tout, il n'y aurait qu'une barre pleine longueur comprenant nom, prix et sélecteur de variation (`.essentiel-produit`).
|
||||
- Il flotterait en bas de l'écran jusqu'à ce se poser à la fin des photos.
|
||||
- Une nouvelle section, statique elle et faisant suite à la fois aux photos et à la barre, s'afficherait en pleine longueur sous forme d'accordéon, avec les anciens onglets comme sections.
|
||||
- Par défaut, la section « Détails » serait développée.
|
||||
- `<details>` et `<summary>` sont aujourd'hui pris en charge par les navigateurs (niveau _Baseline_), mais l'attribut `name` permettant l'ouverture exclusive d'une section par accordéon (p. ex. le développement d'une ferme toutes les autres) n'a que récemment été implémentée (2024 pour _Firefox_).
|
||||
- Une implémentation en _JavaScript_ est donc pour l'instant nécessaire.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# Remaniement du défilement des photos de la page Produit
|
||||
|
||||
- Les flèches de défilement sont supprimées.
|
||||
- À la place, les photos ne s'affichent plus en pleine longueur.
|
||||
- Elles le sont à ~93%, pour que l'on perçoive sur les bords la photo précédente/suivante et signale à l'utilisteur qu'il est possible de défiler.
|
||||
Loading…
Add table
Add a link
Reference in a new issue