/** * Supabase Server Client Utility * Creates server-side Supabase clients with cookie handling for SSR */ import { createServerClient } from '@supabase/ssr'; import { cookies } from 'next/headers'; /** * Creates a Supabase client for server-side usage * Handles cookie management for authentication in Next.js server components * * @returns {Promise} Supabase server client instance */ export async function createClient() { 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) ); } catch { // Handle server component context } }, }, } ); }