// packages/api-client/src/supabase-browser.ts // 브라우저 컴포넌트용 Supabase 클라이언트 (캐싱 싱글턴). // Database 제네릭 주입 (@supabase/ssr 0.10 + supabase-js 2.103 정합). import { createBrowserClient } from '@supabase/ssr' import type { Database } from './types' let cachedClient: ReturnType> | null = null export function getSupabaseBrowserClient(): ReturnType> { if (cachedClient) return cachedClient const url = process.env.NEXT_PUBLIC_SUPABASE_URL ?? 'https://placeholder.supabase.co' const key = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ?? 'placeholder-anon-key' cachedClient = createBrowserClient(url, key) return cachedClient } export function isSupabaseConfigured(): boolean { return Boolean(process.env.NEXT_PUBLIC_SUPABASE_URL && process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY) }