diff --git a/README.md b/README.md index fb8ed6e..ea8ed43 100644 --- a/README.md +++ b/README.md @@ -92,19 +92,19 @@ Working app with a type-themed UI: snapshot; a pill switcher on the detail page rebuilds types / stats / matchups / abilities / learnset / artwork for the chosen form. Purely cosmetic variants (Unown's 27 letters, Vivillon's 19 patterns, Furfrou - trims, seasonal Deerling/Sawsbuck, Flabébé line colours, Alcremie's 62 + trims, seasonal Deerling/Sawsbuck, Flabébé line colors, Alcremie's 62 decorations, Pikachu caps — 278 across 50 species) get a separate compact "Appearance" dropdown that only swaps the sprite. Cards show a "+N forms" badge. - **Detail** — type-gradient hero + tabbed sheet (About / Stats / Evolution / - Moves / Locations); coloured animated stat bars; defensive type matchups; + Moves / Locations); colored animated stat bars; defensive type matchups; evolution chain re-parented to the selected game's generation; learnset with per-move power/type/accuracy/PP/effect (era-accurate via `past_values`, incl. pre-Gen-4 physical/special-by-type), the TM/HM group ordered by TM number for the selected game; wild encounter locations. - **Game-aware** — abilities gated to Gen 3+ (hidden to Gen 5+); type chart applies Gen 1 / pre-Gen 6 rules. -- **Games** — overlay picker with stylised version-colour cover tiles, +- **Games** — overlay picker with stylised version-color cover tiles, sub-dex switch, and an "All games" (National, no gen limits) option. - **Search** — tabbed lookup: Pokémon, Moves, Items and Abilities, all browsable offline from the snapshot. Moves filter by type / damage class @@ -133,7 +133,7 @@ Working app with a type-themed UI: chart (tap a type for its offensive + defensive breakdown; both gen-aware). - **Settings** — theme (System / Light / Dark / Black / Sepia) + accent - colour, text size, an in-app reduce-motion override (on top of the OS + color, text size, an in-app reduce-motion override (on top of the OS preference, which is always respected too), sprite style, haptic feedback on catch (Vibration API), which screen to land on at launch, JSON export/import. diff --git a/src/components/Card.js b/src/components/Card.js index 27d61f5..a2c9bbd 100644 --- a/src/components/Card.js +++ b/src/components/Card.js @@ -10,7 +10,7 @@ import { prettify } from '../data/pokedex-resolver.js'; /** * One Pokémon in the dex feed. Tinted by its primary type: a soft top-down - * gradient, a type-coloured spotlight behind an oversized sprite that lifts + * gradient, a type-colored spotlight behind an oversized sprite that lifts * above the card, a number chip, and a big ghost number in the corner. */ export function Card(species, number, { spriteStyle = 'official', versionGroup, gen = 9, boxed = false, metric = null } = {}) { diff --git a/src/data/game-colors.js b/src/data/game-colors.js index a7cecbf..2c55527 100644 --- a/src/data/game-colors.js +++ b/src/data/game-colors.js @@ -1,7 +1,7 @@ /** - * Signature colours for each game, used to render a stylised "cover" tile in + * Signature colors for each game, used to render a stylised "cover" tile in * the game picker (real box art is Nintendo's and not in the API). Two - * colours = the paired versions; games without a listed entry fall back to + * colors = the paired versions; games without a listed entry fall back to * a per-generation hue. */ const GAME = { diff --git a/src/lib/type-color.js b/src/lib/type-color.js index f52bb3d..0105c48 100644 --- a/src/lib/type-color.js +++ b/src/lib/type-color.js @@ -1,5 +1,5 @@ -// Resolve a Pokémon type to its hex colour by reading the --type-* CSS -// custom properties once and memoising. Type colours don't change between +// Resolve a Pokémon type to its hex color by reading the --type-* CSS +// custom properties once and memoising. Type colors do not change between // light and dark, so the cache is safe for the session. const TYPES = [ 'normal', 'fire', 'water', 'electric', 'grass', 'ice', 'fighting', 'poison', diff --git a/src/styles/layout.css b/src/styles/layout.css index 3c91496..1eed1b8 100644 --- a/src/styles/layout.css +++ b/src/styles/layout.css @@ -647,7 +647,7 @@ text-transform: capitalize; } -/* Cover tiles: a clean split of the two version colours, no gloss. */ +/* Cover tiles: a clean split of the two version colors, no gloss. */ .gamecard--cover { position: relative; overflow: hidden; diff --git a/src/views/SettingsView.js b/src/views/SettingsView.js index 7821c1e..b2dd0f4 100644 --- a/src/views/SettingsView.js +++ b/src/views/SettingsView.js @@ -51,7 +51,7 @@ export async function SettingsView() { }), ), ); - const accentField = el('div', { class: 'field' }, el('span', {}, 'Accent colour'), accentRow); + const accentField = el('div', { class: 'field' }, el('span', {}, 'Accent color'), accentRow); const fontSizeField = selectField('Text size', st.fontScale || 'default', [ ['small', 'Small'], @@ -145,9 +145,7 @@ export async function SettingsView() { const who = dex.trainer || dex.game; const choice = await chooseDialog({ title: `${dex.game}${dex.trainer ? ` · ${dex.trainer}` : ''}`, - body: `${dex.seen.length} seen · ${dex.caught.length} caught in this save (${dex.caught.length} of ${ - [151, 251, 386][dex.gen - 1] - } for the game). Your caught record is shared across every game — imported species also count toward the National Dex and any other game they appear in.`, + body: `${dex.seen.length} seen · ${dex.caught.length} caught in this save.`, choices: [ { key: 'merge', label: 'Add to my Pokédex' }, { key: 'replace', label: 'Replace mine with this', class: 'button--danger' },