naim-firebase-auth-wrapper
Version:
React components and hooks for Firebase Authentication and Firestore with Mantine UI
50 lines • 1.28 kB
TypeScript
import { User } from 'firebase/auth';
export interface FirebaseConfig {
apiKey: string;
authDomain: string;
projectId: string;
storageBucket: string;
messagingSenderId: string;
appId: string;
}
export interface AuthContextType {
user: User | null;
loading: boolean;
error: Error | null;
signInWithGoogle: () => Promise<void>;
signInWithEmail: (email: string, password: string) => Promise<void>;
signUp: (email: string, password: string) => Promise<void>;
signOut: () => Promise<void>;
}
export interface ThemeColors {
primary: string;
secondary: string;
}
export interface AuthProviderProps {
config?: FirebaseConfig;
colors?: ThemeColors;
children: React.ReactNode;
}
export interface AuthComponentProps {
onSuccess?: () => void;
onError?: (error: Error) => void;
title?: string;
logo?: React.ReactNode;
}
export interface UserRegistration {
email: string;
password: string;
displayName: string;
}
export interface UserProfile {
uid: string;
email: string;
displayName: string;
phoneNumber?: string;
dateOfBirth?: string;
address?: string;
organizations?: string[];
role?: 'admin' | 'user';
createdAt: Date;
}
//# sourceMappingURL=index.d.ts.map