feat(theme): add halloween special theme

This commit is contained in:
Tommaso Casaburi
2026-05-29 17:45:18 +07:00
parent e082c7b428
commit 0469f61a45
14 changed files with 301 additions and 35 deletions
+11 -3
View File
@@ -26,10 +26,13 @@ describe('snow', () => {
mathRandomSpy.mockRestore();
});
it('prefers the special theme store and otherwise falls back to christmas dates', async () => {
it('shows snow only for christmas special theme dates', async () => {
const useSpecialThemeStore = (await import('../../stores/use-special-theme-store')).default;
const { shouldShowSnow } = await import('../snow');
vi.useFakeTimers();
vi.setSystemTime(new Date('2024-12-24T00:00:00Z'));
useSpecialThemeStore.setState({ isEnabled: true });
expect(shouldShowSnow()).toBe(true);
@@ -37,10 +40,15 @@ describe('snow', () => {
expect(shouldShowSnow()).toBe(false);
useSpecialThemeStore.setState({ isEnabled: null });
vi.useFakeTimers();
vi.setSystemTime(new Date('2024-12-24T00:00:00Z'));
expect(shouldShowSnow()).toBe(true);
vi.setSystemTime(new Date('2024-10-31T00:00:00Z'));
useSpecialThemeStore.setState({ isEnabled: true });
expect(shouldShowSnow()).toBe(false);
useSpecialThemeStore.setState({ isEnabled: null });
expect(shouldShowSnow()).toBe(false);
vi.setSystemTime(new Date('2024-07-04T00:00:00Z'));
expect(shouldShowSnow()).toBe(false);
});