Appearance
🗂️ Ordre des Classifications (TagCarousel)
Ce document détaille la logique d'ordonnancement des carrousels de contenu basés sur les classifications (tags) dans le composant TagCarousel.
🏗️ Architecture des Classifications
Les éléments de menu (MenuItem) peuvent posséder un ou plusieurs tags dans leur champ classification. Le composant TagCarousel regroupe ces éléments par classification pour créer des lignes de défilement (carrousels) distinctes.
⚖️ Logique d'Ordonnancement
L'ordre d'affichage des carrousels est déterminé par une combinaison de règles prioritaires, d'un ordre prédéfini et d'un tri alphabétique.
1. Priorité aux Favoris 🌟
Les éléments marqués avec le placement FAVORIS sont traités en priorité. Ils apparaissent systématiquement dans le tout premier carrousel en haut de la page, avant toutes les autres classifications.
- Composant concerné :
src/routes/+page.svelte - Label : "Favoris" (traduit via
t('favorites', localeCode))
2. Ordre Prédéfini des Thématiques 📋
Pour les autres classifications, un ordre métier est défini de manière statique dans le code. Cet ordre permet de garantir que les services essentiels de l'établissement apparaissent en premier.
L'ordre actuel (défini dans src/lib/utils/tagEntries.ts) est le suivant :
- L'établissement
- Restauration
- Services
- Séjour
- Bien-être
- Sport
- Video (ou Vidéo)
3. Autres Classifications (Tri Alphabétique) 🔤
Toutes les classifications qui ne figurent pas dans la liste ordonnée ci-dessus sont affichées à la suite, classées par ordre alphabétique de leur clé technique.
4. Éléments Non Classés (Sans classification) ⚪
Si un élément ne possède aucune classification (et que l'affichage des éléments non classés est activé via showUntagged), il est regroupé sous le label "Sans classification".
- Position : Toujours en dernière position, après les classifications ordonnées et alphabétiques.
🛠️ Références Techniques
- Calcul des entrées :
computeTagEntriesdanssrc/lib/utils/tagEntries.ts - Composant d'affichage :
TagCarousel.svelte - Traductions des tags :
TAG_TRANSLATIONSdanssrc/lib/i18n/local-static.ts
📝 Exemple de Tri
Si l'établissement possède les tags suivants : Sport, Services, Activités Locales, Restauration.
L'ordre final sera :
- Restauration (Prédéfini #2)
- Services (Prédéfini #3)
- Sport (Prédéfini #6)
- Activités Locales (Non présent dans la liste -> Tri alphabétique)