Openstatus www.openstatus.dev
at 4c0f4c00a38753a5d0dfd7e7b7b7706dec6f1503 17 lines 534 B view raw
1import { cookies } from "next/headers"; 2 3import { COOKIE_NAME } from "./shared"; 4import { preferencesSchema } from "./validation"; 5 6export async function getPreferredSettings() { 7 const cookieStore = await cookies(); 8 const cookie = cookieStore.get(COOKIE_NAME); 9 const parsed = cookie ? JSON.parse(cookie.value) : {}; 10 const settings = preferencesSchema.safeParse(parsed); 11 if (!settings.success) return undefined; 12 return settings.data; 13} 14 15export type PreferredSettings = Awaited< 16 ReturnType<typeof getPreferredSettings> 17>;