@@ -5,7 +5,6 @@ import { zodResolver } from "@hookform/resolvers/zod";
55import { useForm } from "react-hook-form" ;
66import * as z from "zod" ;
77import { api } from "@/trpc/react" ;
8- import { useSession } from "next-auth/react" ;
98import { DashboardShell } from "@/components/dashboard/DashboardShell" ;
109import { DashboardHeader } from "@/components/dashboard/DashboardHeader" ;
1110import { Button } from "@/components/ui/button" ;
@@ -21,9 +20,8 @@ const settingsFormSchema = z.object({
2120type SettingsFormValues = z . infer < typeof settingsFormSchema >
2221
2322export default function SettingsPage ( ) {
24- const { theme , setTheme } = useTheme ( ) ;
23+ const { setTheme } = useTheme ( ) ;
2524 const [ isLoading , setIsLoading ] = useState ( false ) ;
26- const { data : session } = useSession ( ) ;
2725
2826 // Get user preferences from server action
2927 const { data : userPreferences } = api . user . getPreferences . useQuery ( ) ;
@@ -42,29 +40,25 @@ export default function SettingsPage() {
4240 } ) ;
4341 setIsLoading ( false ) ;
4442 } ,
45- } )
46-
47- // Get user preferences from session
48- // const userPreferences = (preferences as { darkMode?: boolean }) || {}
49-
43+ } ) ;
5044
5145 // form state
5246 const form = useForm < SettingsFormValues > ( {
5347 resolver : zodResolver ( settingsFormSchema ) ,
5448 defaultValues : {
55- darkMode : userPreferences ?. darkMode ?? theme === "dark" ,
49+ darkMode : false ,
5650 } ,
5751 } ) ;
5852
5953
6054 // Update form when session/theme changes
6155 useEffect ( ( ) => {
62- if ( session ?. user ) {
56+ if ( userPreferences ?. darkMode !== undefined ) {
6357 form . reset ( {
64- darkMode : userPreferences ? .darkMode ?? theme === "dark" ,
58+ darkMode : userPreferences . darkMode , // either true or false
6559 } ) ;
6660 }
67- } , [ session , theme , form , userPreferences ?. darkMode ] ) ;
61+ } , [ form , userPreferences ?. darkMode ] ) ;
6862
6963
7064 // handle form submit to update prefereneces
0 commit comments