From 9ee2aea88e9a9285a058583a059d3c0e3d0719f4 Mon Sep 17 00:00:00 2001 From: Ivan Schneider Date: Wed, 1 Jul 2026 07:57:10 +0200 Subject: [PATCH 1/2] =?UTF-8?q?fix(badges):=20m=C3=A9daillons=20de=20divis?= =?UTF-8?q?ion=20lisibles=20(=C3=B7N=20blanc=20au=20lieu=20de=20l'emoji=20?= =?UTF-8?q?=E2=9E=97)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les 8 badges « Divisions par N » utilisaient tous l'emoji ➗ (U+2797), rendu en glyphe sombre par iOS — quasi noir sur le médaillon indigo (#4F46BA), donc illisible — et les 8 étaient visuellement identiques. Remplacé par un glyphe texte « ÷N » (÷2…÷9), rendu blanc serif par .badge-medallion : lisible, contrasté, et distinct d'un badge à l'autre, en miroir des badges de multiplication numérotés. Ajout de font-family serif + weight au grand médaillon (BadgeDetailModal) pour un rendu net. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/components/BadgeDetailModal.css | 2 ++ src/lib/badges.ts | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/components/BadgeDetailModal.css b/src/components/BadgeDetailModal.css index 2c7a3924..94931e99 100644 --- a/src/components/BadgeDetailModal.css +++ b/src/components/BadgeDetailModal.css @@ -12,6 +12,8 @@ align-items: center; justify-content: center; color: #fff; + font-family: var(--serif); + font-weight: 700; font-size: 38px; margin: 4px auto 14px; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.12); diff --git a/src/lib/badges.ts b/src/lib/badges.ts index a266c242..82dc0c18 100644 --- a/src/lib/badges.ts +++ b/src/lib/badges.ts @@ -236,7 +236,12 @@ function buildDivisionBadgeDefinitions(): BadgeDefinition[] { return { id: `${BADGE_IDS.DIV_TABLE_PREFIX}${n}`, ...i.divTable(n), - icon: '➗', + // Glyphe texte « ÷N » (rendu blanc serif par .badge-medallion) plutôt + // que l'emoji ➗ : sur iOS celui-ci s'affiche en sombre — quasi noir sur + // le médaillon indigo (#4F46BA) — et les 8 badges étaient tous + // identiques. « ÷2 »… « ÷9 » les rend lisibles ET distincts, en miroir + // des badges multiplication numérotés. + icon: `÷${n}`, color: 'var(--indigo)', progressFor: (p: UserProfile) => { const tableFacts = factsForDivisionTable(p.divisionFacts ?? [], n); From e772a5ffd683a8462595a4d2caa1e4bd807e2865 Mon Sep 17 00:00:00 2001 From: Ivan Schneider Date: Wed, 1 Jul 2026 08:55:33 +0200 Subject: [PATCH 2/2] =?UTF-8?q?fix(badges):=20m=C3=A9daillons=20de=20multi?= =?UTF-8?q?plication=20en=20=C3=97N,=20coh=C3=A9rents=20avec=20=C3=B7N?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les badges « Table de N » utilisaient les keycaps emoji N️⃣ (stickers colorés) qui juraient à côté des médaillons de division épurés (÷N blanc serif). Passés en glyphe texte ×N (×2…×9), même traitement blanc serif : la grille de badges est visuellement homogène. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/lib/badges.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/badges.ts b/src/lib/badges.ts index 82dc0c18..4e82d916 100644 --- a/src/lib/badges.ts +++ b/src/lib/badges.ts @@ -168,7 +168,10 @@ function buildAllBadgeDefinitions(): BadgeDefinition[] { return { id: `${BADGE_IDS.TABLE_PREFIX}${n}`, ...i.table(n), - icon: `${n}️⃣`, + // Glyphe texte « ×N » blanc serif, cohérent avec les badges de + // division « ÷N » : plutôt que le keycap emoji ${n}️⃣ (sticker coloré + // qui jurait à côté des médaillons de division épurés). + icon: `×${n}`, color: 'var(--indigo)', progressFor: (p: UserProfile) => { const tableFacts = factsForTable(p.facts, n);