23 lines
567 B
TypeScript
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 };
|