Clarify the guide checklist action
All checks were successful
Deploy Sokko G / deploy (push) Successful in 19s

This commit is contained in:
Shinuwa 2026-10-05 23:17:04 +02:00
parent 0fc18cd8b9
commit a921c9ef02
6 changed files with 11 additions and 9 deletions

View file

@ -908,7 +908,7 @@ masquage. La colonne d'actions occupe la hauteur existante du
header afin que cet encart n'ajoute pas de ligne ou d'espace vertical. Cette
association est conservée dans `localStorage` entre les sessions ; elle est retirée
si la checklist, la toolbox liée ou la liaison jeu/toolbox disparaît.
Le bouton texte « Utiliser les résultats », accompagné de l'icône de copie, est visible
Le bouton texte « Résultats vers checklist », accompagné de l'icône checklist, est visible
dans l'en-tête des pages de résultats filtrables. Son `aria-label` et son infobulle
conservent le contexte précis des éléments concernés. Il ouvre une modale NDS qui
rappelle que les filtres, le regroupement et le masquage déterminent les éléments

View file

@ -48,7 +48,7 @@ Les efforts sont relatifs, pas des engagements de délai : faible = changement l
| P1 | Placer les toolboxes avant les réglages | En fenêtre compacte, sauvegardes et préférences précèdent la première toolbox et la repoussent sous le premier écran. | Moyen |
| P2 | Proposer quelques modèles par usage | Une nouvelle toolbox contient surtout un mémo de bienvenue et un lien vers le catalogue. | Moyen |
| P2 | Donner une suite à la démonstration | Le catalogue permet d'essayer les outils, sans action directe pour ajouter l'exemple à sa toolbox. | Moyen |
| P2 | Rendre visible la création de checklist depuis un guide | Mis en œuvre : « Utiliser les résultats » remplace l'icône seule sur les listes filtrables. | Réalisé |
| P2 | Rendre visible la création de checklist depuis un guide | Mis en œuvre : « Résultats vers checklist » et son icône dédiée remplacent l'icône seule sur les listes filtrables. | Réalisé |
| P2 | Clarifier enregistrement local et sauvegarde externe | « IndexedDB », export, import et budget de stockage occupent beaucoup de place dans le parcours courant. | Moyen |
| P2 | Alléger les barres d'actions et notifications | Partiellement réalisé : confirmations à 6 secondes, alertes Timer, Calendrier et sauvegarde persistantes. | Moyen |
| P3 | Accueil de reprise, recherche et favoris | L'accueil ne propose pas de raccourci vers une toolbox récente ; la liste n'a pas de recherche. | Moyen à élevé |
@ -118,7 +118,7 @@ Ajouter recherche et favoris lorsque la collection grandit. Un tri « Dernière
**Catalogue.** Les exemples interactifs constituent un bon support d'apprentissage. Ajouter « Ajouter cet outil à une toolbox » à proximité de chaque exemple, avec le choix « Vide » ou « Avec cet exemple ». Expliquer localement que les essais de la démo ne sont pas conservés dans les toolboxes.
**Guides de jeu.** L'action visible « Utiliser les résultats » ouvre désormais la modale de copie ou de création de checklist, tout en gardant un libellé accessible contextuel. La destination liée et l'absence de toolbox sont expliquées dans la modale. Le choix ou la création d'une toolbox dans ce même parcours reste une amélioration possible.
**Guides de jeu.** L'action visible « Résultats vers checklist », accompagnée de l'icône checklist, ouvre désormais la modale de copie ou de création, tout en gardant un libellé accessible contextuel. La destination liée et l'absence de toolbox sont expliquées dans la modale. Le choix ou la création d'une toolbox dans ce même parcours reste une amélioration possible.
**Panneau latéral.** Afficher le nom de la toolbox liée dans le déclencheur ou à proximité. En fenêtre compacte, la bascule « Guide / Toolbox » évite de perdre le contexte dans un panneau couvrant la page.

View file

@ -70,7 +70,7 @@ Checklist à suivre lors de l'ajout ou de la modification d'un outil, d'une page
- Vérifier les textes avec retours à la ligne.
- Pour les guides à cartes, vérifier le toggle de lien à côté du « + » dans l'en-tête de chaque checklist compatible : il affiche les commandes, masquées par défaut. Vérifier l'association exclusive, le masquage désactivé sur les autres listes et la mise à jour immédiate depuis le panneau latéral. Refermer les commandes conserve l'association. La checkbox des cartes met à jour toutes les lignes exactes correspondantes, respecte les quantités cibles et ne retourne pas les cartes.
- Vérifier le changement de checklist, la dissociation, la restauration de session, la suppression d'un module et le changement de toolbox. La réinitialisation des filtres conserve la liaison ; une liste devenue sans correspondance reste sélectionnée avec un message.
- Pour les résultats filtrables Aniimo, MHW et Diablo, vérifier que le bouton visible « Utiliser les résultats » conserve un libellé accessible contextuel et ouvre une modale rappelant que seuls les éléments visibles sont utilisés. Le groupe titre, compteur et action doit revenir à la ligne sans débordement dès 768 px. La copie reste disponible sans toolbox liée ; la création est alors désactivée avec une indication explicite. Avec une toolbox liée, la création ajoute une nouvelle checklist dans son espace actif sans remplacer l'association guide/checklist existante.
- Pour les résultats filtrables Aniimo, MHW et Diablo, vérifier que le bouton visible « Résultats vers checklist » utilise l'icône checklist, conserve un libellé accessible contextuel et ouvre une modale rappelant que seuls les éléments visibles sont utilisés. Le groupe titre, compteur et action doit revenir à la ligne sans débordement dès 768 px. La copie reste disponible sans toolbox liée ; la création est alors désactivée avec une indication explicite. Avec une toolbox liée, la création ajoute une nouvelle checklist dans son espace actif sans remplacer l'association guide/checklist existante.
- Pour Aniimo, vérifier la copie et la création des espèces ou des formes selon l'affichage, les noms français/anglais, la priorité des formes et le masquage avant regroupement. Compteurs, copie et création doivent correspondre aux résultats affichés.
## Listes de jeu

View file

@ -137,7 +137,8 @@ test("Aniimo copies visible species or forms and round-trips through checklist i
await expect(page.locator(".guide-checklist-controls")).toHaveCount(0);
const copy = page.locator(".results-copy-button");
await expect(copy).toHaveAccessibleName(/sans les variantes/);
await expect(copy).toContainText("Utiliser les résultats");
await expect(copy).toContainText("Résultats vers checklist");
await expect(copy.locator(".ui-icon-checklist")).toBeVisible();
await expect(page.locator('[data-copy-target="true"]')).toHaveText("1 / 88 Aniimos");
await copyVisibleResults(page);
await expect.poll(() => page.evaluate(() => globalThis.navigator.clipboard.readText())).toBe("Loufeuteau:1");
@ -321,7 +322,8 @@ for (const [gameId, category, cardClass, dataPath, dataKey, checklistTitle] of [
await page.goto(`/#/games/${gameId}/${category}`);
await expect(page.locator(cardClass).first()).toBeVisible();
const resultsAction = page.locator(".results-copy-button");
await expect(resultsAction).toContainText("Utiliser les résultats");
await expect(resultsAction).toContainText("Résultats vers checklist");
await expect(resultsAction.locator(".ui-icon-checklist")).toBeVisible();
await resultsAction.click();
const resultsDialog = page.getByRole("dialog", { name: "Utiliser les résultats visibles" });
await expect(resultsDialog.getByText(checklistTitle, { exact: true })).toBeVisible();

View file

@ -2864,7 +2864,7 @@
"completed": "Coché",
"checkCard": "Cocher dans la checklist",
"uncheckCard": "Décocher dans la checklist",
"resultsActionLabel": "Utiliser les résultats",
"resultsActionLabel": "Résultats vers checklist",
"resultsModalTitle": "Utiliser les résultats visibles",
"resultsModalDescription": "Seuls les éléments actuellement visibles sur la page seront utilisés, après application des filtres, du regroupement et du masquage des éléments cochés.",
"resultsChecklistLabel": "Nouvelle checklist",

View file

@ -173,8 +173,8 @@ export function CopyChecklistItemsButton({
aria-label={title}
title={copied ? "Copié" : title}
>
<Icon name="copy" />
{filteredResults && <span>{content.resultsActionLabel || "Utiliser les résultats"}</span>}
<Icon name={filteredResults ? "checklist" : "copy"} />
{filteredResults && <span>{content.resultsActionLabel || "Résultats vers checklist"}</span>}
</button>
{filteredResults && open && (
<ChecklistResultsModal