add multi-page notepad and memos toolbox tool
All checks were successful
Deploy Sokko G / deploy (push) Successful in 16s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 16s
This commit is contained in:
parent
fcabbe8029
commit
6125336338
33 changed files with 3787 additions and 138 deletions
|
|
@ -15,6 +15,8 @@ Checklist à suivre lors de l'ajout ou de la modification d'un outil, d'une page
|
|||
- Si l'outil porte un état de progression, vérifier que l'import texte repart de l'état initial attendu.
|
||||
- Vérifier l'affichage dans la page toolbox complète.
|
||||
- Vérifier l'affichage dans le panneau latéral.
|
||||
- Pour le Bloc Note, vérifier la sélection, l'ajout, le renommage et la suppression de pages en page complète, panneau latéral et mobile.
|
||||
- Pour Memos, vérifier l'édition courte, les couleurs, la réorganisation et la bande déroulante.
|
||||
- Vérifier le mode une colonne et deux colonnes.
|
||||
- Vérifier que l'ajout, la suppression et la réorganisation respectent `moduleOrder.one` et `moduleOrder.two`.
|
||||
- Vérifier le quota de stockage si l'outil manipule des données lourdes.
|
||||
|
|
|
|||
|
|
@ -83,42 +83,75 @@ Les associations entre pages jeux et toolboxes sont stockées dans `kv/links`.
|
|||
}
|
||||
```
|
||||
|
||||
## Outil Bloc Notes
|
||||
## Outil Bloc Note
|
||||
|
||||
Type : `notepad`
|
||||
|
||||
```json
|
||||
{
|
||||
"html": "<p>Notes <strong>rapides</strong>...</p>",
|
||||
"text": "Notes rapides...",
|
||||
"updatedAt": "2026-07-29T12:00:00.000Z",
|
||||
"drawingMode": "permanent",
|
||||
"drawings": {
|
||||
"strokes": [
|
||||
{
|
||||
"id": "stroke1",
|
||||
"color": "#f6c453",
|
||||
"width": 4,
|
||||
"points": [
|
||||
{ "x": 12.5, "y": 48 },
|
||||
{ "x": 24, "y": 52.5 }
|
||||
"activePageId": "page1",
|
||||
"pages": [
|
||||
{
|
||||
"id": "page1",
|
||||
"title": "Page 1",
|
||||
"html": "<p>Notes <strong>rapides</strong>...</p>",
|
||||
"text": "Notes rapides...",
|
||||
"updatedAt": "2026-07-29T12:00:00.000Z",
|
||||
"drawingMode": "permanent",
|
||||
"drawings": {
|
||||
"strokes": [
|
||||
{
|
||||
"id": "stroke1",
|
||||
"color": "#f6c453",
|
||||
"width": 4,
|
||||
"points": [
|
||||
{ "x": 12.5, "y": 48 },
|
||||
{ "x": 24, "y": 52.5 }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Stockage compact :
|
||||
|
||||
- l'ancien format `{ "text": "..." }` reste accepté et est converti en HTML riche au prochain enregistrement ;
|
||||
- l'ancien format mono-page `{ "html": "...", "text": "..." }` reste accepté et est converti en `pages[0]` au prochain enregistrement ;
|
||||
- `activePageId` est omis si la première page stockée est active ;
|
||||
- `html` est nettoyé avec une allowlist de balises et de couleurs ;
|
||||
- `text` conserve une version texte pour les exports et les fallbacks ;
|
||||
- `updatedAt` est omis si vide ou invalide ;
|
||||
- `drawingMode` vaut `temporary` par défaut et est omis dans ce cas ;
|
||||
- `drawings` est stocké uniquement si `drawingMode` vaut `permanent` et qu'au moins un trait valide existe ;
|
||||
- les dessins temporaires du bloc-notes sont conservés dans `sessionStorage`, pas dans IndexedDB ;
|
||||
- si le texte, la date et les dessins permanents sont vides, l'entrée de module peut être supprimée.
|
||||
- les dessins temporaires du bloc-note sont conservés dans `sessionStorage` par toolbox, outil et page, pas dans IndexedDB ;
|
||||
- si toutes les pages sont vides et que seule la page par défaut reste présente, l'entrée de module peut être supprimée.
|
||||
|
||||
## Outil Memos
|
||||
|
||||
Type : `memos`
|
||||
|
||||
```json
|
||||
{
|
||||
"tickerEnabled": true,
|
||||
"items": [
|
||||
{
|
||||
"id": "memo1",
|
||||
"text": "Penser à sauvegarder avant le boss",
|
||||
"color": "#f6c453",
|
||||
"updatedAt": "2026-08-21T12:00:00.000Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Stockage compact :
|
||||
|
||||
- `tickerEnabled` vaut `true` par défaut et est omis dans ce cas ;
|
||||
- `updatedAt` est omis si vide ou invalide ;
|
||||
- les mémos sans texte sont ignorés ;
|
||||
- si aucun mémo n'est valide et que la bande est active par défaut, l'entrée de module peut être supprimée.
|
||||
|
||||
## Outil Checklist
|
||||
|
||||
|
|
@ -878,7 +911,8 @@ Règles communes :
|
|||
|
||||
Formats :
|
||||
|
||||
- `notepad` : format structuré `@notepad`, bloc `@html` / `@endhtml` pour le HTML riche nettoyé, meta `@drawingMode: permanent` et `@drawings: {...}` pour les dessins permanents. Un collage texte simple reste accepté et devient une note sans mise en forme.
|
||||
- `notepad` : format structuré `@notepad`, blocs `@page: Titre`, `@html` / `@endhtml` pour le HTML riche nettoyé, meta `@drawingMode: permanent` et `@drawings: {...}` pour les dessins permanents. Un collage texte simple reste accepté et devient une page sans mise en forme.
|
||||
- `memos` : une ligne par mémo, avec préfixe `-` optionnel et suffixe couleur `| color=#f6c453` ; les anciens préfixes `*` sont acceptés puis normalisés.
|
||||
- `checklist` : sections `# Catégorie`, lignes `Item: quantité cible`.
|
||||
- `links` : lignes `Titre: https://...` ou URL seule.
|
||||
- `counters` : lignes `Libellé: valeur`, valeurs négatives acceptées.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue