Files
website/src/lib/tracker-icons.ts
Stan Runge 16684d6688
All checks were successful
Deploy production / deploy (push) Successful in 1m19s
math tracker: own icon colour (blue sigma tile; indigo is games)
2026-10-26 11:09:36 +00:00

497 lines
18 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Colourful tracker tiles for the header menu: a gradient rounded tile per tracker with a
// small inline SVG icon (24×24, stroke paths). No icon library: each icon is a few path
// strings, so the whole set is a couple of KB.
/** A circle as a path, so every icon is just a list of `d` strings. */
const c = (cx: number, cy: number, r: number) =>
`M${cx - r} ${cy}a${r} ${r} 0 1 0 ${2 * r} 0a${r} ${r} 0 1 0 ${-2 * r} 0`;
export type TrackerIcon = {
/** Gradient start and end (top-left to bottom-right). */
from: string;
to: string;
/** Icon colour; white unless the tile is light (yellow, lime). */
ink: string;
/** Filled glyph (brand marks from simple-icons) instead of stroked outline paths. */
fill?: boolean;
paths: string[];
};
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',
to: '#2563eb',
ink: WHITE,
paths: [c(12, 12, 9), 'm8.5 12 2.5 2.5 4.5-5']
},
money: {
from: '#34d399',
to: '#059669',
ink: WHITE,
paths: [c(12, 12, 9), 'M15.5 8.6a4 4 0 1 0 0 6.8', 'M7 10.8h6M7 13.2h6']
},
reading: {
from: '#2dd4bf',
to: '#0d9488',
ink: WHITE,
paths: [
'M12 7v14',
'M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'
]
},
cars: {
from: '#f87171',
to: '#dc2626',
ink: WHITE,
paths: ['M3 16v-3.5L5.5 7h13l2.5 5.5V16', 'M3 12.5h18', c(7.5, 16.5, 2), c(16.5, 16.5, 2)]
},
music: {
from: '#a78bfa',
to: '#7c3aed',
ink: WHITE,
paths: ['M9 18V5l12-2v13', c(6, 18, 3), c(18, 16, 3)]
},
movies: {
from: '#fbbf24',
to: '#f2552c',
ink: WHITE,
// clapperboard
paths: [
'M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z',
'm6.2 5.3 3.1 3.9',
'm12.4 3.4 3.1 4',
'M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z'
]
},
pc: {
from: '#22d3ee',
to: '#0891b2',
ink: WHITE,
paths: ['M4 4h16v11H4z', 'M9 19h6M12 15v4', 'M8 8h3v3H8z', 'M14 8.5h2M14 11h2']
},
ai: {
from: '#fda4af',
to: '#8b5cf6',
ink: WHITE,
// sparkles
paths: [
'M9.94 15.5A2 2 0 0 0 8.5 14.06l-6.14-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0L14.06 8.5a2 2 0 0 0 1.44 1.44l6.14 1.58a.5.5 0 0 1 0 .96l-6.14 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z',
'M20 3v4M22 5h-4M4 17v2M5 18H3'
]
},
math: {
from: '#60a5fa',
to: '#1e40af',
ink: WHITE,
// sigma
paths: ['M18 7V4H6l6 8-6 8h12v-3']
},
notes: {
from: '#fde68a',
to: '#f59e0b',
ink: '#422006',
// notebook with a pen line
paths: [
'M6 3h11a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6z',
'M6 3v18',
'M4 7h3M4 12h3M4 17h3',
'M10 8h6M10 12h6M10 16h3'
]
},
health: {
from: '#f472b6',
to: '#db2777',
ink: WHITE,
paths: [
'M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z',
'M3.2 12h6.3l.5-1 2 4.5 2-7 1.5 3.5h5.3'
]
},
groceries: {
from: '#bef264',
to: '#65a30d',
ink: '#1a2e05',
paths: [
c(8, 20.5, 1.2),
c(18.5, 20.5, 1.2),
'M2 2.5h2.2l2.6 12a2 2 0 0 0 2 1.5h9.5a2 2 0 0 0 2-1.5L22 7H5.2'
]
},
houses: {
from: '#fb923c',
to: '#ea580c',
ink: WHITE,
paths: ['M3 10.5 12 3l9 7.5', 'M5 9.5V20h14V9.5', 'M10 20v-6h4v6']
},
holders: {
from: '#38bdf8',
to: '#6d28d9',
ink: WHITE,
// id card
paths: [
'M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z',
c(9, 10.5, 2),
'M5.8 16a3.4 3.4 0 0 1 6.4 0',
'M15 10h4M15 14h3'
]
},
energy: {
from: '#fde047',
to: '#eab308',
ink: '#422006',
paths: ['M13 2 3 14h9l-1 8 10-12h-9l1-8z']
},
games: {
from: '#818cf8',
to: '#4338ca',
ink: WHITE,
paths: [
'M6 11h4M8 9v4M15 12h.01M18 10h.01',
'M17.3 5H6.7a4 4 0 0 0-4 3.6C2.6 9.4 2 14.5 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.4-1.4A2 2 0 0 1 9.8 16h4.4a2 2 0 0 1 1.4.6L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.5-.6-6.6-.7-7.3A4 4 0 0 0 17.3 5z'
]
},
skins: {
from: '#e879f9',
to: '#a21caf',
ink: WHITE,
paths: [c(12, 12, 8), c(12, 12, 2.5), 'M22 12h-4M6 12H2M12 6V2M12 22v-4']
},
pets: {
from: '#d6a46a',
to: '#92602a',
ink: WHITE,
paths: [
c(11, 4, 2),
c(18, 8, 2),
c(20, 16, 2),
'M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.8 1C6.5 17.5 4.5 17 4.5 17A3.5 3.5 0 0 1 5.5 10Z'
]
},
planes: {
from: '#7dd3fc',
to: '#0284c7',
ink: WHITE,
paths: [
'M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'
]
},
trains: {
from: '#fdba74',
to: '#c2410c',
ink: WHITE,
paths: [
'M8 3.1V7a4 4 0 0 0 8 0V3.1',
'm9 15-1-1',
'm15 15 1-1',
'M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z',
'm8 19-2 3',
'm16 19 2 3'
]
},
wildlife: {
from: '#86efac',
to: '#15803d',
ink: WHITE,
paths: [
'M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z',
'M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12'
]
},
spotting: {
from: '#fbbf24',
to: '#e11d48',
ink: WHITE,
// binoculars
paths: [
'M10 10h4',
'M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3',
'M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z',
'M22 16H2',
'M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z',
'M9 7V4a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v3'
]
},
lists: {
from: '#94a3b8',
to: '#475569',
ink: WHITE,
paths: ['M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01']
},
// Games (keys are each game's `icon` in gameTrackers): brand marks where simple-icons has
// a clean glyph, otherwise a lucide-style outline that hints at the game.
'game-osu': {
from: '#ff79b0',
to: '#e6338a',
ink: WHITE,
fill: true,
paths: [
'M7.698 10.362a1.94 1.94 0 0 0-.7-.516q-.421-.189-.988-.189c-.567 0-.704.063-.982.189s-.51.298-.692.516q-.273.328-.413.777q-.139.448-.139.96q0 .511.14.952q.139.44.412.767q.274.329.692.512t.982.184c.565 0 .707-.062.988-.184q.422-.184.7-.512q.279-.327.413-.767q.135-.44.135-.952a3.3 3.3 0 0 0-.135-.96a2.1 2.1 0 0 0-.413-.777m-.965 2.81q-.22.372-.723.372q-.494 0-.713-.372q-.22-.373-.22-1.073c0-.7.073-.824.22-1.073q.22-.372.713-.372q.503 0 .723.372q.22.373.22 1.073t-.22 1.073m11.89-.83l-.09-4.39a4.5 4.5 0 0 1 .69-.054q.351 0 .701.054l-.09 4.39q-.315.053-.601.053a3.5 3.5 0 0 1-.61-.054m1.319 1.4q0 .332-.054.664a4 4 0 0 1-.655.054a4 4 0 0 1-.664-.054a4 4 0 0 1-.054-.655q0-.323.054-.665a4 4 0 0 1 .655-.054q.323 0 .664.054q.054.341.054.656m-3.223-4.03q.315 0 .638.053v4.461q-.288.099-.759.193a5.3 5.3 0 0 1-1.863.023a1.7 1.7 0 0 1-.74-.305q-.32-.234-.507-.683q-.189-.449-.189-1.193V9.765a4 4 0 0 1 .638-.054q.313 0 .637.054v2.46q0 .367.058.606a.9.9 0 0 0 .18.377a.66.66 0 0 0 .3.197q.18.058.422.058q.332 0 .557-.062V9.765a4 4 0 0 1 .628-.054m-4.362 2.683q.08.225.08.548a1.4 1.4 0 0 1-.542 1.117q-.265.212-.642.333q-.378.12-.853.12a5 5 0 0 1-.395-.013a3 3 0 0 1-.346-.045a4 4 0 0 1-.327-.076a4 4 0 0 1-.35-.116a2.6 2.6 0 0 1 .085-.49a3 3 0 0 1 .175-.48q.296.117.561.175q.265.06.552.059q.126 0 .274-.023a1 1 0 0 0 .274-.08a.7.7 0 0 0 .21-.153a.35.35 0 0 0 .086-.247q0-.216-.13-.31a1.3 1.3 0 0 0-.364-.166l-.556-.162q-.503-.143-.786-.426q-.282-.283-.283-.848q0-.682.49-1.068q.489-.386 1.332-.386q.35 0 .692.062q.341.063.691.189a2.5 2.5 0 0 1-.09.485a2.3 2.3 0 0 1-.17.44a4 4 0 0 0-.476-.158a2.2 2.2 0 0 0-.548-.067q-.305 0-.476.094a.32.32 0 0 0-.17.301q0 .197.121.278t.346.153l.511.153q.252.072.454.175t.345.255t.225.377M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12c6.628 0 12-5.373 12-12S18.628 0 12 0m0 22.8C6.035 22.8 1.2 17.965 1.2 12S6.035 1.2 12 1.2S22.8 6.035 22.8 12S17.965 22.8 12 22.8'
]
},
'game-cs2': {
from: '#fcd34d',
to: '#d97706',
ink: WHITE,
fill: true,
paths: [
'M21.71 3.235a.02.02 0 0 1-.022-.022c.002-.081.004-.37.005-.424c0-.129-.143-.183-.212-.083l-.229.333a.02.02 0 0 1-.02.01h-6.55a.047.047 0 0 1-.048-.046l-.013-.177a.048.048 0 0 1 .056-.048l.335.032a.06.06 0 0 0 .063-.045l.244-.989a.05.05 0 0 0-.03-.054l-.227-.085a.04.04 0 0 1-.026-.03c-.041-.171-.377-1.323-1.993-1.58c-.787-.125-1.302.21-1.577.478a1.6 1.6 0 0 0-.302.41l-.097.212a2 2 0 0 0-.046.234l.051.982a.11.11 0 0 0 .043.085l.354.153l-.196.325a.055.055 0 0 1-.053.04s-.417.01-.622.02c-.386.015-1.245.485-1.878 1.838l-.724 1.55a.07.07 0 0 1-.068.04l-.578.001c-.035 0-.073.028-.088.06L6.364 9a.11.11 0 0 0 .017.108l.627.392a.06.06 0 0 1 .02.058l-.328.967a.2.2 0 0 1-.023.062l-.435.382a.1.1 0 0 0-.035.06l-.598 1.53a.06.06 0 0 1-.06.045l-.336.002a.163.163 0 0 0-.162.149l-.201 2.288l-.016.121l-.158.908a.13.13 0 0 1-.034.055l-.558.427a4.8 4.8 0 0 0-.767 1.001l-1.86 3.924a.8.8 0 0 0-.078.322l.132.235c.002.084-.032.456-.07.53l-.624 1.09a.1.1 0 0 0-.003.085l.03.07l.094.187L2.829 24c.118.011.247-.14.251-.3l.103-1.297l-.027-.195l3.606-4.232c.095-.114.222-.317.286-.45l1.719-3.79a.17.17 0 0 1 .1-.088l.109-.035a.17.17 0 0 1 .183.053c.15.181.504.781.676 1.032c.143.208.85 1.23 1.158 1.567c.086.093.349.198.466.27a.083.083 0 0 1 .03.112l-1.03 1.808l-.455 2.136a1 1 0 0 0-.036.152l-.412 1.483c.003.188-.14.286-.153.507l-.15 1.084a.06.06 0 0 0 .059.061l2.544.014q.142-.001.286-.006l.075-.007c.124-.016.563-.076.75-.15a.6.6 0 0 0 .227-.13c.185-.194.2-.278.203-.398a.3.3 0 0 0-.028-.105a.12.12 0 0 0-.06-.047l-1.18-.356a.37.37 0 0 1-.19-.134l-.317-.47a.09.09 0 0 1 .018-.097l.618-.609a.2.2 0 0 0 .048-.072l1.904-4.488c.089-.285.059-.605 0-.944c-.044-.25-.686-1.326-.854-1.624l-1.286-2.251c-.079-.138-.19-.133-.228-.276l-.073-1.118a.04.04 0 0 1 .036-.05l.33-.028a.1.1 0 0 0 .075-.048l1.147-2.155a.1.1 0 0 0-.002-.094l-.235-.29a.09.09 0 0 1-.001-.088l.352-.38a.054.054 0 0 1 .073-.02l.934.526a.4.4 0 0 0 .186.05c.26-.001.686-.154.908-.29a.4.4 0 0 0 .139-.148l.458-1.07c.006-.014.027-.012.03.003l.127.595a.064.064 0 0 0 .079.05l1.35-.3a.066.066 0 0 0 .05-.078l-.319-1.344a.07.07 0 0 1 .01-.054l.13-.203a.3.3 0 0 0 .037-.082l.159-.725a.04.04 0 0 1 .04-.032l3.732.005a.09.09 0 0 0 .093-.093v-.634a.02.02 0 0 1 .022-.021h1.439a.047.047 0 0 0 .046-.047V3.28a.047.047 0 0 0-.046-.047h-1.44z'
]
},
'game-pubg': {
from: '#fde68a',
to: '#b45309',
ink: '#422006',
paths: [
'M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23',
'm8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59'
]
},
'game-r6': {
from: '#94a3b8',
to: '#1e293b',
ink: WHITE,
paths: [
'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',
'M14 8.5h-2a2 2 0 0 0-2 2v3.5a2 2 0 0 0 4 0v-.5a2 2 0 0 0-4 0'
]
},
'game-tarkov': {
from: '#bdb76b',
to: '#4d4a26',
ink: WHITE,
paths: [
'M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z',
'M8 10h8',
'M8 18h8',
'M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6',
'M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'
]
},
'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',
ink: WHITE,
fill: true,
paths: [
'M23.792 2.152a.25.25 0 0 0-.098.083q-5.077 6.345-10.15 12.69c-.107.093-.025.288.119.265c2.439.003 4.877 0 7.316.001a.66.66 0 0 0 .552-.25l2.324-2.903a.72.72 0 0 0 .144-.49c-.002-3.077 0-6.153-.003-9.23c.016-.11-.1-.206-.204-.167zM.077 2.166c-.077.038-.074.132-.076.205q.002 4.612.001 9.225a.68.68 0 0 0 .158.463l7.64 9.55c.12.152.308.25.505.247c2.455 0 4.91.003 7.365 0c.142.02.222-.174.116-.265C10.661 15.176 5.526 8.766.4 2.35c-.08-.094-.174-.272-.322-.184z'
]
},
'game-lol': {
from: '#e2c27a',
to: '#0e4a5c',
ink: WHITE,
fill: true,
paths: [
'm1.912 0l1.212 2.474v19.053L1.912 24h14.73l1.337-4.682H8.33V0ZM12 1.516c-.913 0-1.798.112-2.648.312v1.74A9.7 9.7 0 0 1 12 3.2c5.267 0 9.536 4.184 9.536 9.348a9.2 9.2 0 0 1-2.3 6.086l-.273.954l-.602 2.112c2.952-1.993 4.89-5.335 4.89-9.122C23.25 6.468 18.213 1.516 12 1.516m0 2.673c-.924 0-1.814.148-2.648.414v13.713h8.817a8.25 8.25 0 0 0 2.36-5.768c0-4.617-3.818-8.359-8.529-8.359M2.104 7.312A10.86 10.86 0 0 0 .75 12.576c0 1.906.492 3.7 1.355 5.266z'
]
},
'game-overwatch': {
from: '#fdba74',
to: '#f97316',
ink: '#431407',
paths: [c(12, 12, 9), 'm8 7.5 4 7 4-7', 'M7 15.5h10']
},
'game-minecraft': {
from: '#86efac',
to: '#166534',
ink: WHITE,
paths: [
'm14 13-8.381 8.38a1 1 0 0 1-3.001-3L11 9.999',
'M15.973 4.027A13 13 0 0 0 5.902 2.373c-1.398.342-1.092 2.158.277 2.601a19.9 19.9 0 0 1 5.822 3.024',
'M16.001 11.999a19.9 19.9 0 0 1 3.024 5.824c.444 1.369 2.26 1.676 2.603.278A13 13 0 0 0 20 8.069',
'M18.352 3.352a1.205 1.205 0 0 0-1.704 0l-5.296 5.296a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l5.296-5.296a1.205 1.205 0 0 0 0-1.704z'
]
},
'game-factorio': {
from: '#f0b16a',
to: '#7c4a1e',
ink: WHITE,
paths: [
'M11 10.27 7 3.34',
'm11 13.73-4 6.93',
'M12 22v-2',
'M12 2v2',
'M14 12h8',
'm17 20.66-1-1.73',
'm17 3.34-1 1.73',
'M2 12h2',
'm20.66 17-1.73-1',
'm20.66 7-1.73 1',
'm3.34 17 1.73-1',
'm3.34 7 1.73 1',
c(12, 12, 2),
c(12, 12, 8)
]
},
'game-ksp': {
from: '#93c5fd',
to: '#1e3a8a',
ink: WHITE,
paths: [
'M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5',
'M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09',
'M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z',
'M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05'
]
},
'game-smash': {
from: '#f87171',
to: '#991b1b',
ink: WHITE,
paths: [c(12, 12, 9), 'M9.5 3.4v17.2', 'M3 14.5h18']
},
'game-cubing': {
from: '#4ade80',
to: '#1d4ed8',
ink: WHITE,
paths: ['M4 4h16v16H4z', 'M9.33 4v16M14.67 4v16', 'M4 9.33h16M4 14.67h16']
},
'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',
ink: WHITE,
paths: [
'M10 2v15',
'M7 22a4 4 0 0 1-4-4 1 1 0 0 1 1-1h16a1 1 0 0 1 1 1 4 4 0 0 1-4 4z',
'M9.159 2.46a1 1 0 0 1 1.521-.193l9.977 8.98A1 1 0 0 1 20 13H4a1 1 0 0 1-.824-1.567z'
]
},
// /stats sections (header stats menu, home page, stats nav). Keys are `stats-<section>`.
'stats-overview': {
from: '#3b82f6',
to: '#6366f1',
ink: WHITE,
paths: ['M3 3v16a2 2 0 0 0 2 2h16', 'm19 9-5 5-4-4-3 3']
},
'stats-economy': {
from: '#10b981',
to: '#0d9488',
ink: WHITE,
paths: ['M16 7h6v6', 'm22 7-8.5 8.5-5-5L2 17']
},
'stats-energy': {
from: '#f97316',
to: '#e11d48',
ink: WHITE,
paths: ['M13 2 3 14h9l-1 8 10-12h-9l1-8z']
},
'stats-gouda': {
from: '#eab308',
to: '#f97316',
ink: WHITE,
paths: [
'M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0',
c(12, 10, 3)
]
},
'stats-countries': {
from: '#a855f7',
to: '#ec4899',
ink: WHITE,
paths: [c(12, 12, 10), 'M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20', 'M2 12h20']
},
'stats-curacao': {
from: '#22d3ee',
to: '#0e7490',
ink: WHITE,
paths: [
'M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4',
'M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3',
'M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35',
'M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14'
]
},
'stats-elections': {
from: '#06b6d4',
to: '#3b82f6',
ink: WHITE,
paths: ['m9 12 2 2 4-4', 'M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z', 'M22 19H2']
},
'stats-history': {
from: '#b45309',
to: '#eab308',
ink: WHITE,
paths: [
'M15 12h-5',
'M15 8h-5',
'M19 17V5a2 2 0 0 0-2-2H4',
'M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3'
]
},
'stats-opinions': {
from: '#ec4899',
to: '#f97316',
ink: WHITE,
paths: ['M7.9 20A9 9 0 1 0 4 16.1L2 22Z']
},
'stats-polls': {
from: '#f472b6',
to: '#db2777',
ink: WHITE,
paths: ['M3 3v16a2 2 0 0 0 2 2h16', 'M18 17V9', 'M13 17V5', 'M8 17v-3']
},
'stats-world': {
from: '#38bdf8',
to: '#0369a1',
ink: WHITE,
paths: [
c(12, 12, 10),
'm16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z'
]
}
};
/** Neutral fallback for a tracker without its own tile yet. */
export const defaultTrackerIcon: TrackerIcon = {
from: '#a1a1aa',
to: '#52525b',
ink: WHITE,
paths: ['M4 20V10M10 20V4M16 20v-7M22 20H2']
};