stats: world opinions moves to /stats/opinions/world, the energy tracker merges into /stats/energy (live NED section), 301s from /projects/world-opinions and /projects/energy, tracker-style icons for the stats header, nav, sub-tabs and home grid
Deploy production / deploy (push) Successful in 1m18s

This commit is contained in:
stan committed 2026-10-26 00:16:08 +00:00
1 parent be3473caa0
commit d71e39f40a
25 files changed
+405 -2235

No files matched your search

+20 -15
View File
@@ -18,12 +18,6 @@ export const projects = [
href: '/projects/derby',
external: false
},
{
name: 'world opinions (warning: AI slop)',
subtitle: 'ideologies, values and biases across countries',
href: '/projects/world-opinions',
external: false
},
{
name: 'language learner (warning: AI slop)',
subtitle: 'Dutch, Korean and English, from zero to fluent',
@@ -36,48 +30,66 @@ export const projects = [
export const statsPages = [
{
name: 'economy',
icon: 'stats-economy',
subtitle: 'rates, inflation, bond spreads, GDP and debt',
href: '/stats/economy',
external: false
},
{
name: 'energy',
subtitle: 'tariffs, oil and gas, renewables, heat pumps and EVs',
icon: 'stats-energy',
subtitle: 'live grid mix and gas storage, tariffs, oil and gas, renewables, heat pumps and EVs',
href: '/stats/energy',
external: false
},
{
name: 'gouda',
icon: 'stats-gouda',
subtitle: 'population, housing and neighbourhoods in Gouda',
href: '/stats/gouda',
external: false
},
{
name: 'countries',
icon: 'stats-countries',
subtitle: 'the Netherlands, Curaçao, the US, Korea, China and more side by side',
href: '/stats/countries',
external: false
},
{
name: 'elections',
icon: 'stats-elections',
subtitle: 'Dutch elections since 1918, Gouda per polling station, US presidential',
href: '/stats/elections',
external: false
},
{
name: 'history',
icon: 'stats-history',
subtitle: 'the long run, a sourced timeline, politics and culture of five places',
href: '/stats/history',
external: false
},
{
name: 'opinions',
subtitle: 'polls, Eurobarometer, happiness, search trends and party positions',
icon: 'stats-opinions',
subtitle: 'polls, Eurobarometer, happiness, party positions and world opinions',
href: '/stats/opinions',
external: false
}
] as const;
/** Sub-tabs of a /stats section (second row under the stats nav), keyed by the section path. */
export const statsSubPages: Record<
string,
readonly { name: string; href: string; icon: string }[]
> = {
'/stats/opinions': [
{ name: 'polls & surveys', href: '/stats/opinions', icon: 'stats-polls' },
{ name: 'world', href: '/stats/opinions/world', icon: 'stats-world' }
]
};
type Tracker = {
name: string;
subtitle: string;
@@ -381,13 +393,6 @@ const allTrackers: readonly (Tracker & { private: boolean })[] = [
external: false,
private: true
},
{
name: 'energy',
subtitle: 'Dutch electricity mix, utilization and gas storage',
href: '/projects/energy',
external: false,
private: false
},
{
name: 'games',
subtitle: 'every pokemon in every game, and call of duty camo mastery',