diff --git a/src/components/auth/ProtectedRoute.tsx b/src/components/auth/ProtectedRoute.tsx index 2ed2fdd..482e80c 100644 --- a/src/components/auth/ProtectedRoute.tsx +++ b/src/components/auth/ProtectedRoute.tsx @@ -1,7 +1,6 @@ import React from 'react'; import { Navigate, useLocation } from 'react-router-dom'; -import { useAuth } from '../../hooks/useAuth'; -import type { AuthContextType } from '../../hooks/useAuth'; +import { useAuth, AuthContextType } from '../../hooks/useAuth'; interface ProtectedRouteProps { children: React.ReactNode; diff --git a/src/hooks/useAuth.tsx b/src/hooks/useAuth.tsx index 6218956..dceb819 100644 --- a/src/hooks/useAuth.tsx +++ b/src/hooks/useAuth.tsx @@ -3,7 +3,7 @@ import { useNavigate } from 'react-router-dom'; import { supabase } from '../lib/supabase'; import { User } from '@supabase/supabase-js'; -interface AuthContextType { +export interface AuthContextType { user: User | null; loading: boolean; error: string | null; @@ -70,9 +70,12 @@ export function AuthProvider({ children }: { children: React.ReactNode }) { }; }, [navigate]); - const value = { + const value: AuthContextType = { user, loading, + error: null, + signIn: async () => ({}), + signUp: async () => ({}), signOut: async () => { await supabase.auth.signOut(); setUser(null); diff --git a/src/pages/admin/UserManagementPage.tsx b/src/pages/admin/UserManagementPage.tsx index b5760eb..b94bfde 100644 --- a/src/pages/admin/UserManagementPage.tsx +++ b/src/pages/admin/UserManagementPage.tsx @@ -2,8 +2,7 @@ import React from 'react'; import { supabase } from '../../lib/supabase'; import { User } from '@supabase/supabase-js'; -interface AdminUser { - id: string; +interface AdminUser extends User { email: string; user_metadata?: { role?: string; @@ -26,8 +25,11 @@ export function UserManagementPage() { if (error) throw error; const validUsers = users?.filter((user): user is AdminUser => - typeof user.email === 'string' - ) || []; + typeof user.email === 'string' && user.email !== undefined + ).map(user => ({ + ...user, + email: user.email!, + })) || []; setUsers(validUsers); } catch (err) {