Simplify the import dialog copy; spell it "color"
- The save-import dialog body is now just "N seen · N caught in this save." — the button labels carry the merge/replace meaning. - "colour" → "color" throughout (the visible "Accent color" field, plus comments and README for consistency). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Ve7HLspzeG2xDPtJQ8vmu
This commit is contained in:
parent
840031c48a
commit
d275117569
@ -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.
|
||||
|
||||
@ -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 } = {}) {
|
||||
|
||||
@ -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 = {
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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' },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user