move to indexedb and add about page
All checks were successful
Deploy Sokko G / deploy (push) Successful in 7s

This commit is contained in:
Shinuwa 2026-07-24 12:09:45 +02:00
parent a8809afdfd
commit 772b9951de
12 changed files with 855 additions and 249 deletions

View file

@ -6,13 +6,13 @@ Sokko G propose des toolboxes modulaires stockées dans le navigateur, ainsi que
## Fonctionnalités
- Toolboxes locales stockées dans `localStorage`.
- Toolboxes locales stockées dans IndexedDB.
- Outils disponibles : bloc notes, checklist avec quantités, images, annotation dimages, liens, compteurs et calculateur.
- Import/export dune toolbox.
- Import/export global de toutes les toolboxes.
- Association locale entre une page jeu et une toolbox.
- Panneau latéral redimensionnable sur les pages jeux.
- Suivi et contrôle du quota localStorage.
- Suivi dun budget de stockage recommandé, avec quota navigateur en information.
- Pages de guides de jeu éditables via JSON.
## Démarrage
@ -64,7 +64,7 @@ Les contenus maintenus à la main sont regroupés dans `website/public/data`.
| Fichier | Rôle |
| --- | --- |
| `website/public/data/site.json` | Textes généraux du site : home, navigation, sidebar, page toolboxes. |
| `website/public/data/site.json` | Textes généraux du site : home, about, navigation, sidebar, page toolboxes. |
| `website/public/data/games.json` | Liste des jeux affichés sur `/games` et contenus des cards jeux. |
| `website/public/data/mhwilds/monsters.json` | Données des monstres Monster Hunter Wilds. |
| `website/public/data/mhwilds/endemic_life.json` | Données de la faune Monster Hunter Wilds. |
@ -97,7 +97,7 @@ Chaque outil possède son propre fichier de composant :
- `website/src/features/toolboxes/modules/NotepadModule.jsx`
- `website/src/features/toolboxes/modules/ChecklistModule.jsx`
- `website/src/features/toolboxes/modules/ScreenshotsModule.jsx` : outil Images, conservé sous ce nom technique pour le stockage existant.
- `website/src/features/toolboxes/modules/ScreenshotsModule.jsx` : outil Images, conservé sous ce nom technique historique.
- `website/src/features/toolboxes/modules/LinksModule.jsx`
- `website/src/features/toolboxes/modules/CountersModule.jsx`
- `website/src/features/toolboxes/modules/CalculatorModule.jsx`
@ -107,7 +107,7 @@ Pour ajouter ou maintenir un outil :
- créer son fichier dans `website/src/features/toolboxes/modules/` ;
- lajouter au registre `MODULE_COMPONENTS` dans `website/src/features/toolboxes/modules/index.jsx` ;
- garder les données persistées via les helpers de `website/src/main.jsx` tant que le stockage reste en localStorage.
- garder les données persistées via le service IndexedDB `website/src/utils/indexedDbStorage.js`.
## Structure
@ -152,11 +152,11 @@ Pour ajouter ou maintenir un outil :
## Stockage local
Clés principales :
Les données utilisateur sont stockées dans IndexedDB, dans la base `sokkog`.
- `sokkog:toolboxes` : registre local des toolboxes.
- `sokkog:game-toolbox-links` : associations locales jeu -> toolbox.
- `sokkog:toolbox:{toolboxId}:module:{moduleId}` : données de chaque outil.
- `sokkog:drawer-width` : largeur du panneau latéral.
Espaces principaux :
Le quota applicatif est contrôlé côté navigateur avant écriture. Les imports globaux simulent lespace nécessaire avant de modifier les données locales.
- `kv` : registre des toolboxes, associations jeu -> toolbox et réglages locaux.
- `modules` : données de chaque outil, indexées par `{toolboxId}:{moduleId}`.
La barre affichée utilise un budget recommandé de confort pour lapp. Le quota navigateur réel vient de `navigator.storage.estimate()` et peut être beaucoup plus élevé selon lespace disque disponible. Les images et annotations restent locales et peuvent occuper beaucoup despace ; les exports globaux restent recommandés pour sauvegarder les données.