add user settings
This commit is contained in:
31
src/hooks/useUserSettings.ts
Normal file
31
src/hooks/useUserSettings.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
'use client'
|
||||
|
||||
import { useEffect, useState } from 'react'
|
||||
import type { UserSettings } from '@/types'
|
||||
|
||||
const DEFAULTS: UserSettings = {
|
||||
mixedAutoplay: true,
|
||||
mixedLoop: true,
|
||||
mixedMuted: true,
|
||||
moviesAutoplay: true,
|
||||
moviesLoop: false,
|
||||
moviesMuted: false,
|
||||
tvAutoplay: true,
|
||||
tvLoop: false,
|
||||
tvMuted: false,
|
||||
}
|
||||
|
||||
export function useUserSettings(): UserSettings {
|
||||
const [settings, setSettings] = useState<UserSettings>(DEFAULTS)
|
||||
|
||||
useEffect(() => {
|
||||
fetch('/api/settings')
|
||||
.then((r) => (r.ok ? r.json() : null))
|
||||
.then((data: UserSettings | null) => {
|
||||
if (data) setSettings(data)
|
||||
})
|
||||
.catch(() => {/* fall back to defaults */})
|
||||
}, [])
|
||||
|
||||
return settings
|
||||
}
|
||||
Reference in New Issue
Block a user