games: split Call of Duty into one entry per title and Pokémon into one per generation (remakes and spin-offs separate), full names, official logo for each (Steam icons / English logos); data migration moves bo2 status+aliases to black-ops-2; /trackers/games/bo2 and /pokemon redirect; three-column games flyout
All checks were successful
Deploy production / deploy (push) Successful in 1m16s

This commit is contained in:
2026-10-25 18:54:40 +00:00
parent 942c436d03
commit e4162d3a78
34 changed files with 29842 additions and 61 deletions

View File

@@ -19,6 +19,21 @@ export type TrackerIcon = {
const WHITE = '#ffffff';
// Shared glyphs for the per-title Call of Duty (crosshair) and per-generation Pokémon (Poké Ball)
// fallback tiles; each entry only changes the colours.
const codTile: TrackerIcon = {
from: '#fb923c',
to: '#9a3412',
ink: WHITE,
paths: [c(12, 12, 9), 'M21 12h-4M7 12H3M12 7V3M12 21v-4', c(12, 12, 1)]
};
const pokemonTile: TrackerIcon = {
from: '#fb7185',
to: '#c81e4a',
ink: WHITE,
paths: [c(12, 12, 9), 'M3 12h6M15 12h6', c(12, 12, 3)]
};
export const trackerIcons: Record<string, TrackerIcon> = {
tasks: {
from: '#60a5fa',
@@ -228,12 +243,13 @@ export const trackerIcons: Record<string, TrackerIcon> = {
'M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'
]
},
'game-bo2': {
from: '#fb923c',
to: '#9a3412',
ink: WHITE,
paths: [c(12, 12, 9), 'M21 12h-4M7 12H3M12 7V3M12 21v-4', c(12, 12, 1)]
},
'game-black-ops-2': { ...codTile, from: '#f58147', to: '#863913' },
'game-black-ops': { ...codTile, from: '#f59b47', to: '#864b13' },
'game-ghosts': { ...codTile, from: '#f5b547', to: '#865c13' },
'game-advanced-warfare': { ...codTile, from: '#f5d047', to: '#866d13' },
'game-black-ops-3': { ...codTile, from: '#f5ea47', to: '#867e13' },
'game-infinite-warfare': { ...codTile, from: '#e7f547', to: '#7c8613' },
'game-wwii': { ...codTile, from: '#cdf547', to: '#6b8613' },
'game-valorant': {
from: '#ff6b77',
to: '#9f1239',
@@ -313,12 +329,28 @@ export const trackerIcons: Record<string, TrackerIcon> = {
ink: WHITE,
paths: ['M4 4h16v16H4z', 'M9.33 4v16M14.67 4v16', 'M4 9.33h16M4 14.67h16']
},
'game-pokemon': {
from: '#fb7185',
to: '#c81e4a',
ink: WHITE,
paths: [c(12, 12, 9), 'M3 12h6M15 12h6', c(12, 12, 3)]
'game-pokemon-red-blue-yellow': { ...pokemonTile, from: '#f37868', to: '#9c2b1c' },
'game-pokemon-gold-silver-crystal': { ...pokemonTile, from: '#f3a668', to: '#9c551c' },
'game-pokemon-ruby-sapphire-emerald': { ...pokemonTile, from: '#f3d568', to: '#9c801c' },
'game-pokemon-colosseum': { ...pokemonTile, from: '#e3f368', to: '#8d9c1c' },
'game-pokemon-xd': { ...pokemonTile, from: '#b4f368', to: '#629c1c' },
'game-pokemon-firered-leafgreen': { ...pokemonTile, from: '#86f368', to: '#379c1c' },
'game-pokemon-diamond-pearl-platinum': { ...pokemonTile, from: '#68f378', to: '#1c9c2b' },
'game-pokemon-heartgold-soulsilver': { ...pokemonTile, from: '#68f3a6', to: '#1c9c55' },
'game-pokemon-black-white': { ...pokemonTile, from: '#68f3d5', to: '#1c9c80' },
'game-pokemon-x-y': { ...pokemonTile, from: '#68e3f3', to: '#1c8d9c' },
'game-pokemon-omega-ruby-alpha-sapphire': { ...pokemonTile, from: '#68b4f3', to: '#1c629c' },
'game-pokemon-sun-moon': { ...pokemonTile, from: '#6886f3', to: '#1c379c' },
'game-pokemon-lets-go': { ...pokemonTile, from: '#7868f3', to: '#2b1c9c' },
'game-pokemon-sword-shield': { ...pokemonTile, from: '#a668f3', to: '#551c9c' },
'game-pokemon-brilliant-diamond-shining-pearl': {
...pokemonTile,
from: '#d568f3',
to: '#801c9c'
},
'game-pokemon-legends-arceus': { ...pokemonTile, from: '#f368e3', to: '#9c1c8d' },
'game-pokemon-scarlet-violet': { ...pokemonTile, from: '#f368b4', to: '#9c1c62' },
'game-pokemon-legends-z-a': { ...pokemonTile, from: '#f36886', to: '#9c1c37' },
'game-sot': {
from: '#5eead4',
to: '#0f766e',