From 1adc06d11fbb57ffb2a8c5026d05419b26aa0b68 Mon Sep 17 00:00:00 2001 From: chris Date: Fri, 4 Sep 2026 11:45:54 -0400 Subject: [PATCH] Un-gate the form dex from the selected game MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Second thought on the previous commit: gating " Dex" to games that include the species contradicted the app's own model. Caught/seen tracking here is unified across games by design, and there's no game-dependent data on this tab (unlike Locations/Moves, which really do vary by game and are rightly gated) — it's the same fixed set of letters/patterns/decorations regardless of which game is selected. Hiding it just because you switched games to browse something else would make already-tracked progress look lost. Show it whenever the species has cosmetic forms, full stop. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_017Ve7HLspzeG2xDPtJQ8vmu --- src/views/PokemonDetail.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/views/PokemonDetail.js b/src/views/PokemonDetail.js index e1c4f18..2b580f5 100644 --- a/src/views/PokemonDetail.js +++ b/src/views/PokemonDetail.js @@ -427,11 +427,13 @@ export async function PokemonDetail(nationalId) { // ---- Form dex (Unown letters, Vivillon patterns, Alcremie decorations…) ---- // A checklist of purely-cosmetic appearances, tracked separately from the - // species' own caught flag. Only offered when this Pokémon is actually in - // the currently selected game's dex (`pos >= 0`) — no Vivillon checklist - // for a game it was never released in. + // species' own caught flag. Unlike Locations/Moves this isn't gated to the + // selected game: it's the same fixed set of letters/patterns/decorations + // regardless of game, and — like the rest of the app's tracking — your + // progress on it is global, not per-game, so it shouldn't vanish just + // because you switched your active game to browse something else. let formDexPanel = null; - if (cosmeticForms.length > 1 && pos >= 0) { + if (cosmeticForms.length > 1) { const slots = [ { slug: snapSpecies.name, id: nationalId, name: 'Default', sprite: null }, ...cosmeticForms,