File size: 775 Bytes
41e1749 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | // Single Supabase client instance
let _supabaseClient = null;
/**
* Get or create Supabase client
* @returns {object|null}
*/
function getSupabaseClient() {
if (_supabaseClient) return _supabaseClient;
const config = getSupabaseConfig();
if (!config.isConfigured) {
console.warn('Supabase not configured — set meta tags supabase-url and supabase-anon-key');
return null;
}
if (typeof supabase === 'undefined' || !supabase.createClient) {
console.warn('Supabase library not loaded');
return null;
}
_supabaseClient = supabase.createClient(config.url, config.anonKey, {
auth: {
detectSessionInUrl: true,
persistSession: true,
autoRefreshToken: true,
flowType: 'pkce'
}
});
return _supabaseClient;
}
|