import { createServerClient, type CookieOptions } from "@supabase/ssr"; import { cookies } from "next/headers"; import { ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies"; const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL; const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY; export const createClient = (cookieStore: ReadonlyRequestCookies) => { return createServerClient( supabaseUrl!, supabaseKey!, { cookies: { getAll() { return cookieStore.getAll() }, setAll(cookiesToSet) { try { cookiesToSet.forEach(({ name, value, options }) => cookieStore.set(name, value, options)) } catch { // `setAll` called from Server Component - ignored if middleware handles session refresh } }, }, }, ); };