feat: add theme palettes (#1326)

Add Neutral, Indigo, Forest, and Sand palettes independently of Light, Dark, and System. Persist and hydrate the selection, add the accessible settings picker, and include the validated review fixes for keyboard navigation and Swedish copy.
This commit is contained in:
Mattsson
2026-08-01 16:02:12 +02:00
committed by GitHub
parent f24e1076cf
commit d684e3c440
10 changed files with 422 additions and 8 deletions
+25
View File
@@ -0,0 +1,25 @@
import { describe, expect, it } from 'vitest'
import {
DEFAULT_PALETTE,
PALETTE_STORAGE_KEY,
PALETTE_VALUES,
isPalette,
} from '@/lib/theme/palettes'
describe('palettes', () => {
it('keeps neutral as the backward-compatible default', () => {
expect(DEFAULT_PALETTE).toBe('neutral')
expect(PALETTE_STORAGE_KEY).toBe('accounted-palette')
})
it.each(PALETTE_VALUES)('accepts the %s palette', (palette) => {
expect(isPalette(palette)).toBe(true)
})
it.each([null, undefined, '', 'light', 'dark', 'sepia', 1])(
'rejects unsupported palette value %s',
(value) => {
expect(isPalette(value)).toBe(false)
},
)
})