Show all theme presets in onboarding flow, not just 5 hardcoded ones

Dynamically generate the onboarding theme options from themePresets so
new themes (midnight, toxic, lavender, ocean, sunset) appear
automatically without manual updates.
This commit is contained in:
Mary Kate Fain
2026-02-25 12:04:31 -06:00
parent 57354df633
commit 5e476b8428
+8 -2
View File
@@ -227,8 +227,14 @@ const THEMES: ThemeOption[] = [
{ id: 'system', label: 'System', description: 'Matches your device', preview: '', splitPreview: true, builtinTheme: 'system' },
{ id: 'dark', label: 'Dark', description: 'Deep purple dark theme', preview: 'bg-[hsl(228,20%,10%)]', builtinTheme: 'dark' },
{ id: 'light', label: 'Light', description: 'Clean and bright', preview: 'bg-white border border-border', builtinTheme: 'light' },
{ id: 'black', label: 'Black', description: 'True OLED black', preview: 'bg-black', presetId: 'black' },
{ id: 'pink', label: 'Pink', description: 'Warm and playful', preview: 'bg-[hsl(330,100%,96%)]', presetId: 'pink' },
// Generate entries from all theme presets
...Object.entries(themePresets).map(([id, preset]) => ({
id,
label: preset.label,
description: `${preset.emoji} ${preset.label} theme`,
preview: `bg-[hsl(${preset.tokens.background})]`,
presetId: id,
})),
];
interface ContentKind {