All files / src/common/contexts SupabaseContext.tsx

88.23% Statements 15/17
66.66% Branches 2/3
100% Functions 2/2
88.23% Lines 15/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 271x   1x           1x   1x 21x 21x 21x 21x   21x   1x 30x 30x     30x 30x   1x
import { createContext, useContext } from 'react';
import { SupabaseClient } from '@supabase/supabase-js';
import { supabase } from '../services/supabaseClient';
 
type SupabaseContextType = {
  supabase: SupabaseClient;
};
 
const SupabaseContext = createContext<SupabaseContextType | undefined>(undefined);
 
export const SupabaseProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
  return (
    <SupabaseContext.Provider value={{ supabase }}>
      {children}
    </SupabaseContext.Provider>
  );
};
 
export const useSupabase = () => {
  const context = useContext(SupabaseContext);
  if (context === undefined) {
    throw new Error('useSupabase must be used within a SupabaseProvider');
  }
  return context;
};
 
export default SupabaseContext;