Files
chad/client/app/middleware/02.user-preferences.global.ts
2026-01-21 22:39:08 +06:00

27 lines
692 B
TypeScript

import type { SyncedPreferences } from '~/composables/use-preferences'
import chadApi from '#shared/chad-api'
export default defineNuxtRouteMiddleware(async () => {
const { me } = useAuth()
if (!me.value)
return
const { fetched, toggleInputHotkey, toggleOutputHotkey } = usePreferences()
if (fetched.value)
return
try {
const preferences = await chadApi<SyncedPreferences>('/preferences', { method: 'GET' })
if (!preferences)
return
toggleInputHotkey.value = preferences.toggleInputHotkey ?? toggleInputHotkey.value
toggleOutputHotkey.value = preferences.toggleOutputHotkey ?? toggleOutputHotkey.value
fetched.value = true
}
catch {}
})