summaryrefslogtreecommitdiff
path: root/makima/frontend/src/lib/supabase.ts
diff options
context:
space:
mode:
Diffstat (limited to 'makima/frontend/src/lib/supabase.ts')
-rw-r--r--makima/frontend/src/lib/supabase.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/makima/frontend/src/lib/supabase.ts b/makima/frontend/src/lib/supabase.ts
new file mode 100644
index 0000000..eedff10
--- /dev/null
+++ b/makima/frontend/src/lib/supabase.ts
@@ -0,0 +1,26 @@
+import { createClient, SupabaseClient, Session, User } from "@supabase/supabase-js";
+
+// Supabase configuration from environment variables
+const SUPABASE_URL = import.meta.env.VITE_SUPABASE_URL as string | undefined;
+const SUPABASE_ANON_KEY = import.meta.env.VITE_SUPABASE_ANON_KEY as string | undefined;
+
+// Only create client if configuration is available
+let supabaseClient: SupabaseClient | null = null;
+
+if (SUPABASE_URL && SUPABASE_ANON_KEY) {
+ supabaseClient = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
+ auth: {
+ autoRefreshToken: true,
+ persistSession: true,
+ detectSessionInUrl: true,
+ },
+ });
+}
+
+export const supabase = supabaseClient;
+
+export function isAuthConfigured(): boolean {
+ return supabaseClient !== null;
+}
+
+export type { Session, User };