import React, { useState } from 'react'; import { View, TextInput, Button, StyleSheet, Text } from 'react-native'; import { signInWithEmailAndPassword, createUserWithEmailAndPassword } from 'firebase/auth'; import { doc, setDoc, getDoc } from 'firebase/firestore'; import { auth, db } from '../config/firebase'; export default function LoginScreen({ navigation }: any) { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [isAdmin, setIsAdmin] = useState(false); const handleLogin = async () => { try { const userCredential = await signInWithEmailAndPassword(auth, email, password); const userDoc = await getDoc(doc(db, 'users', userCredential.user.uid)); const role = userDoc.data()?.role || 'user'; navigation.replace(role === 'admin' ? 'Admin' : 'Profile'); } catch (error: any) { alert(error.message); } }; const handleRegister = async () => { try { const userCredential = await createUserWithEmailAndPassword(auth, email, password); await setDoc(doc(db, 'users', userCredential.user.uid), { email, role: isAdmin ? 'admin' : 'user', }); navigation.replace(isAdmin ? 'Admin' : 'Profile'); } catch (error: any) { alert(error.message); } }; return (