26 lines
832 B
TypeScript
26 lines
832 B
TypeScript
import { createClient } from "@supabase/supabase-js";
|
|
import type { Database } from "./database.types";
|
|
|
|
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL;
|
|
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY;
|
|
|
|
export const isSupabaseConfigured = Boolean(supabaseUrl && supabaseAnonKey);
|
|
|
|
if (!isSupabaseConfigured) {
|
|
throw new Error(
|
|
"Supabase environment variables are missing. Please set VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY.",
|
|
);
|
|
}
|
|
|
|
export const supabase = createClient<Database>(supabaseUrl!, supabaseAnonKey!, {
|
|
auth: {
|
|
autoRefreshToken: true,
|
|
persistSession: true,
|
|
detectSessionInUrl: true,
|
|
},
|
|
});
|
|
|
|
export const auth = supabase.auth;
|
|
export const db = supabase.from.bind(supabase);
|
|
export const storage = supabase.storage;
|
|
export const channel = supabase.channel.bind(supabase);
|