This repository has been archived on 2026-04-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
interaktive-systeme/app/login.tsx
2023-12-08 15:44:32 +01:00

46 lines
No EOL
1.4 KiB
TypeScript

import { View, Text, SafeAreaView, TextInput, Button} from 'react-native'
import React, { useEffect, useState } from 'react'
import { useAuth } from './contexts/AuthContext'
import { Redirect } from 'expo-router';
import { FontAwesome } from "@expo/vector-icons";
import { Input } from '../components';
export default function login() {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("")
const {authState, onLogin} = useAuth();
// const {authState, onLogin} = useAuth();
// useEffect(() => {
// login()
// }, [])
const login = async() => {
await onLogin!(email, password);
}
return (
<SafeAreaView style={{flex: 1, justifyContent: "center"}}>
{authState?.authenticated &&
<Redirect href={"/"}></Redirect>}
<Input
placeholder={'Email'}
label='Email or Username'
leftIcon={<FontAwesome name="user" size={20} />}
onChangeHandler={setEmail}
/>
<Input
placeholder={'Enter Password'}
label='Password'
leftIcon={<FontAwesome name="key" size={20} />}
rightIcon={<FontAwesome name="key" size={20} />}
onChangeHandler={setPassword}
secure = {true}
/>
<Button title='login' onPress={login}></Button>
</SafeAreaView>
);
}