Navigation par barre du bas + gabarits de jeux natifs
Build and Publish Docker Image / build-and-push-image (push) Successful in 1m0s

Navigation :
- Suppression du menu hamburger, remplacé par le logo de l'app dans l'en-tête
- Barre du bas à 5 onglets : Accueil, Mes jeux, Parties, Stats, Joueurs
- Menu profil sur l'avatar (haut-droite) : profil/switch, Emplacements,
  Jeux importés, Paramètres
- Nouvelle page "Mes jeux" (/jeux) : bibliothèque de tous les jeux

Format d'import enrichi + gabarits :
- Champ icon (lucide) au niveau du jeu, et icon/color sur les catégories
- Gabarits JSON des 5 jeux natifs dans public/game-templates/ (référence,
  au format d'import) + doc à jour

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Zed
2026-07-12 21:33:19 +02:00
parent 90fba52a92
commit c96a1627ec
17 changed files with 356 additions and 182 deletions
+12 -4
View File
@@ -51,7 +51,8 @@ Tout le reste est optionnel.
| `fixedRounds` | entier | ❌ | La partie se termine après ce nombre de manches — voir §6. |
| `scoringCategories` | tableau | ❌ | Catégories de score saisies une par une — voir §8. |
| `options` | tableau | ❌ | Options configurables avant la partie — voir §6/§8. |
| `iconImage` | texte | ❌ | Icône du jeu (image en base64 « data URI ») — voir §7. |
| `icon` | texte | ❌ | Nom d'icône **lucide** (ex: `TreePine`, `Ghost`, `Sword`) utilisée si aucune `iconImage`. Voir les noms sur lucide.dev/icons. |
| `iconImage` | texte | ❌ | Icône du jeu (image en base64 « data URI »). Prioritaire sur `icon` — voir §7. |
| `bannerImage` | texte | ❌ | Bannière de l'écran de fin (base64 data URI) — voir §7. |
---
@@ -235,12 +236,19 @@ Le score de la manche = **somme des catégories**.
```json
"scoringCategories": [
{ "id": "arbres", "label": "Arbres" },
{ "id": "montagnes", "label": "Montagnes" },
{ "id": "eau", "label": "Champs d'eau" }
{ "id": "arbres", "label": "Arbres", "icon": "TreePine", "color": "#16a34a" },
{ "id": "montagnes", "label": "Montagnes", "icon": "Mountain", "color": "#64748b" },
{ "id": "eau", "label": "Rivière", "icon": "Waves", "color": "#0ea5e9" }
]
```
| Champ | Description |
|---|---|
| `id` | Identifiant de la catégorie. |
| `label` | Libellé affiché. |
| `icon` | *(optionnel)* nom d'icône **lucide** affichée à côté de la catégorie. |
| `color` | *(optionnel)* teinte hex de l'icône. |
> Généralement associé à `fixedRounds: 1` (un seul décompte final réparti en
> catégories).