import { createClient } from '@supabase/supabase-js'

const supabaseUrl = import.meta.env.VITE_SUPABASE_URL as string
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY as string

/**
 * Supabase client singleton.
 * Returns null if env vars are not configured (local-only mode).
 *
 * The client auto-derives API paths from the base URL:
 *   - REST: ${supabaseUrl}/rest/v1/
 *   - Auth: ${supabaseUrl}/auth/v1/
 */
export const supabase =
  supabaseUrl && supabaseAnonKey
    ? createClient(supabaseUrl, supabaseAnonKey, {
        auth: {
          persistSession: true,
          autoRefreshToken: true,
          detectSessionInUrl: true,
        },
      })
    : null

export function isSupabaseConfigured(): boolean {
  return supabase !== null
}
