new tool timer & alert revamp
All checks were successful
Deploy Sokko G / deploy (push) Successful in 6s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 6s
This commit is contained in:
parent
0c7ae46b4d
commit
68005ef918
38 changed files with 2048 additions and 111 deletions
|
|
@ -8,7 +8,7 @@ Checklist à suivre lors de l'ajout ou de la modification d'un outil, d'une page
|
|||
- Déclarer l'outil dans `website/src/features/toolboxes/modules/index.jsx`.
|
||||
- Ajouter les textes nécessaires dans `website/public/data/site.json`.
|
||||
- Mettre à jour la validation de `site.json` dans `tests/helpers/data-validation.mjs`.
|
||||
- Mettre à jour la normalisation et le stockage compact dans `website/src/main.jsx`.
|
||||
- Mettre à jour la normalisation et le stockage compact dans `website/src/features/toolboxes/storage/toolboxStorage.js`.
|
||||
- Mettre à jour `docs/STORAGE_SCHEMA.md`.
|
||||
- Vérifier l'import et l'export si l'outil stocke des données.
|
||||
- Vérifier l'affichage dans la page toolbox complète.
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ Clés principales dans `kv` :
|
|||
"toolboxes": [],
|
||||
"links": {},
|
||||
"setting:toolboxOrder": [],
|
||||
"setting:storageBudgetBytes": 536870912
|
||||
"setting:storageBudgetBytes": 536870912,
|
||||
"setting:toastPosition": "right"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -188,6 +189,74 @@ Stockage compact :
|
|||
- `label` est facultatif.
|
||||
- `label` est omis si vide.
|
||||
|
||||
## Outil Timer
|
||||
|
||||
Type : `timer`
|
||||
|
||||
Structure initiale :
|
||||
|
||||
```json
|
||||
{
|
||||
"activeTab": "stopwatch",
|
||||
"scrollResults": true,
|
||||
"sortResults": true,
|
||||
"stopwatch": {
|
||||
"elapsedMs": 12000,
|
||||
"startedAt": 1760000000000,
|
||||
"laps": [
|
||||
{
|
||||
"id": "timer1",
|
||||
"label": "Phase 1",
|
||||
"elapsedMs": 9000
|
||||
}
|
||||
]
|
||||
},
|
||||
"countdowns": [
|
||||
{
|
||||
"id": "timer2",
|
||||
"label": "Boss",
|
||||
"type": "daily_time",
|
||||
"alertMode": "visible",
|
||||
"time": "12:03:00",
|
||||
"targetAt": 1760000000000
|
||||
},
|
||||
{
|
||||
"id": "timer3",
|
||||
"label": "Event",
|
||||
"type": "time_pattern",
|
||||
"pattern": "X:45:00"
|
||||
},
|
||||
{
|
||||
"id": "timer4",
|
||||
"label": "Event",
|
||||
"type": "interval",
|
||||
"intervalMs": 1800000,
|
||||
"anchorAt": 1760000000000
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Types de compte à rebours :
|
||||
|
||||
- `duration` : durée ponctuelle, avec `durationMs` et `targetAt`.
|
||||
- `daily_time` : occurrence ponctuelle à une heure précise, avec `time` au format `HH:MM:SS` et `targetAt`.
|
||||
- `time_pattern` : prochaine occurrence automatique correspondant à un pattern `HH:MM:SS`, où chaque segment peut valoir `X`.
|
||||
- `interval` : prochaine occurrence automatique toutes les X millisecondes, avec `intervalMs` et `anchorAt`.
|
||||
|
||||
Stockage compact :
|
||||
|
||||
- `activeTab` est omis si la valeur vaut `stopwatch`.
|
||||
- `scrollResults` est omis si `false`.
|
||||
- `sortResults` est omis si `false`.
|
||||
- `stopwatch` est omis tant que le chrono est à zéro et qu'aucune étape n'est enregistrée.
|
||||
- `elapsedMs` est omis si `0`.
|
||||
- `startedAt` est omis si le chrono n'est pas lancé.
|
||||
- `laps` est omis tant qu'aucune étape n'est enregistrée.
|
||||
- `countdowns` est omis tant qu'aucun compte à rebours n'est configuré.
|
||||
- `countdowns[].alertMode` vaut `off`, `visible` ou `site`, et est omis si `off`.
|
||||
- L'activation d'une alerte est bloquée dans l'interface si la prochaine échéance est à moins de 5 minutes.
|
||||
|
||||
## Outil Liens
|
||||
|
||||
Type : `links`
|
||||
|
|
@ -306,7 +375,7 @@ Exemple :
|
|||
Quand un outil change de structure :
|
||||
|
||||
- mettre à jour ce document ;
|
||||
- mettre à jour les normalisations dans `website/src/main.jsx` ;
|
||||
- mettre à jour les normalisations dans `website/src/features/toolboxes/storage/toolboxStorage.js` ;
|
||||
- mettre à jour les textes dans `website/public/data/site.json` si nécessaire ;
|
||||
- mettre à jour la validation dans `tests/helpers/data-validation.mjs` si nécessaire ;
|
||||
- vérifier import/export ;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue