Files
next-template/src/utils/supabase/client.ts

23 lines
567 B
TypeScript

'use client';
import { createBrowserClient } from '@supabase/ssr';
import type { Database, SupabaseClient } from '@/utils/supabase';
import { useMemo } from 'react';
let client: SupabaseClient | undefined;
const getSupbaseClient = (): SupabaseClient | undefined => {
if (client) return client;
client = createBrowserClient<Database>(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
);
return client;
};
const useSupabaseClient = () => {
return useMemo(getSupbaseClient, []);
};
export { useSupabaseClient };