import { CookieOptions, createServerClient } from '@supabase/ssr'; import { cookies } from 'next/headers'; export const COOKIE_OPTIONS: CookieOptions = { path: '/', secure: process.env.NODE_ENV === 'production', // Only use secure in production sameSite: 'lax', // Type assertion to fix the error httpOnly: true, // Make cookies HttpOnly maxAge: 60 * 60 * 24 * 7 // 1 week }; export const createClient = async () => { const cookieStore = await cookies(); return createServerClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, { cookies: { getAll() { return cookieStore.getAll(); }, setAll(cookiesToSet) { try { cookiesToSet.forEach(({ name, value, options }) => cookieStore.set(name, value, { ...options, ...COOKIE_OPTIONS }) ); } catch { // The `setAll` method was called from a Server Component. // This can be ignored if you have middleware refreshing // user sessions. } } } } ); };