import { createClient } from "@supabase/supabase-js";

// Public variables (safe for client-side)
const SUPABASE_URL = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL || "";
const SUPABASE_ANON_KEY = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY || "";

// Private variable (server-side only)
const SUPABASE_SERVICE_ROLE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY || "";

// Determine if we're on server side
const isServerSide = typeof window === 'undefined';

if (!SUPABASE_URL) {
  throw new Error("Supabase URL is missing");
}

// Create two different clients for different use cases
export const supabaseClient = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
  auth: { persistSession: true },
});

// Only create service role client on server-side
export const supabaseAdmin = isServerSide
  ? createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, {
      auth: { persistSession: false },
    })
  : null;

  