From 8e91edd9d846e4fb2bcaa0cee10b859ed37f8270 Mon Sep 17 00:00:00 2001 From: Clemens <31499125+ceviixx@users.noreply.github.com> Date: Thu, 13 Nov 2025 10:35:05 +0100 Subject: [PATCH] fix: address code review comments - Use DEFAULT_THEME constant for theme reset - Type user selector properly - Include LOCALE_CONFIG in preferences cleanup - Add newline to migration file --- prisma/migrations/15_add_user_preferences/migration.sql | 2 +- src/app/(main)/settings/preferences/ThemeSetting.tsx | 3 ++- src/components/hooks/usePreferences.ts | 3 ++- src/lib/client.ts | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/prisma/migrations/15_add_user_preferences/migration.sql b/prisma/migrations/15_add_user_preferences/migration.sql index 85eefe73..b5d6e9db 100644 --- a/prisma/migrations/15_add_user_preferences/migration.sql +++ b/prisma/migrations/15_add_user_preferences/migration.sql @@ -2,4 +2,4 @@ ALTER TABLE "user" ADD COLUMN "date_range" VARCHAR(50), ADD COLUMN "timezone" VARCHAR(100), ADD COLUMN "language" VARCHAR(10), -ADD COLUMN "theme" VARCHAR(20); \ No newline at end of file +ADD COLUMN "theme" VARCHAR(20); diff --git a/src/app/(main)/settings/preferences/ThemeSetting.tsx b/src/app/(main)/settings/preferences/ThemeSetting.tsx index 1b1efd43..f4b0fda2 100644 --- a/src/app/(main)/settings/preferences/ThemeSetting.tsx +++ b/src/app/(main)/settings/preferences/ThemeSetting.tsx @@ -1,6 +1,7 @@ import { Row, Button, Icon, useTheme } from '@umami/react-zen'; import { useMessages, usePreferences } from '@/components/hooks'; import { Sun, Moon } from '@/components/icons'; +import { DEFAULT_THEME } from '@/lib/constants'; export function ThemeSetting() { const { theme, setTheme } = useTheme(); @@ -13,7 +14,7 @@ export function ThemeSetting() { }; const handleReset = () => { - setTheme('light'); + setTheme(DEFAULT_THEME); updatePreferences({ theme: null }); }; diff --git a/src/components/hooks/usePreferences.ts b/src/components/hooks/usePreferences.ts index 6e95f8b4..06d5c784 100644 --- a/src/components/hooks/usePreferences.ts +++ b/src/components/hooks/usePreferences.ts @@ -1,7 +1,8 @@ +import { User } from '@/generated/prisma/client'; import { useApi } from './useApi'; import { useApp } from '@/store/app'; -const userSelector = (state: { user: any }) => state.user; +const userSelector = (state: { user: User }) => state.user; export function usePreferences() { const { post } = useApi(); diff --git a/src/lib/client.ts b/src/lib/client.ts index 7113407b..8fe190e2 100644 --- a/src/lib/client.ts +++ b/src/lib/client.ts @@ -67,5 +67,6 @@ export function setClientPreferences(preferences: { export function removeClientPreferences() { removeItem(DATE_RANGE_CONFIG); removeItem(TIMEZONE_CONFIG); + removeItem(LOCALE_CONFIG); removeItem(THEME_CONFIG); }