Files
mmm-projet/app/login/login.tsx

80 lines
2.0 KiB
TypeScript

import React, { useState } from "react";
import { View, Text, TextInput, Button, StyleSheet } from "react-native";
import {
signInWithEmailAndPassword,
createUserWithEmailAndPassword,
} from "firebase/auth";
import { doc, setDoc } from "firebase/firestore";
import { auth, db } from "../../firebase_config";
import { router } from "expo-router";
const DEFAULT_ROLE = "resp";
const LoginScreen: React.FC = () => {
const [email, setEmail] = useState<string>("");
const [password, setPassword] = useState<string>("");
const handleLogin = async () => {
try {
await signInWithEmailAndPassword(auth, email, password);
router.replace("/(tabs)");
} catch (error: any) {
alert(error.message);
}
};
/*const handleRegister = async () => {
try {
await createUserWithEmailAndPassword(auth, email, password);
router.replace("/(tabs)");
} catch (error: any) {
alert(error.message);
}
}; */
return (
<View style={styles.container}>
<Text style={styles.title}>Se connecter / S'incrire</Text>
<TextInput
style={[styles.input, { color: 'white' }]}
placeholder="Email:"
placeholderTextColor={'white'}
value={email}
onChangeText={setEmail}
autoCapitalize="none"
/>
<TextInput
style={[styles.input, { color: 'white' }]}
placeholder="Mot de passe:"
placeholderTextColor={'white'}
value={password}
onChangeText={setPassword}
secureTextEntry
/>
<Button title="Se connecter" onPress={handleLogin} />
<View style={{ height: 10 }} />
{/* <Button title="S'inscrire" onPress={handleRegister} /> */}
</View>
);
};
export default LoginScreen;
const styles = StyleSheet.create({
container: { flex: 1, justifyContent: "center", padding: 20 },
title: {
fontSize: 22,
fontWeight: "bold",
marginBottom: 20,
textAlign: "center",
},
input: {
borderWidth: 1,
borderColor: "#ccc",
borderRadius: 8,
padding: 10,
marginBottom: 10,
},
});