import React, {useState} from 'react'; import {StyleSheet, ActivityIndicator, SafeAreaView, View} from 'react-native'; import {useAuthStore} from '@/store/authStore'; import {useRouter, Link} from 'expo-router'; import {Box} from "@/components/ui/box" import {Button, ButtonText, ButtonIcon} from "@/components/ui/button" import {Center} from "@/components/ui/center" import {Heading} from "@/components/ui/heading" import {Input, InputField} from "@/components/ui/input" import {Text} from "@/components/ui/text" import {VStack} from "@/components/ui/vstack" import {HStack} from "@/components/ui/hstack" import {ArrowRightIcon} from "@/components/ui/icon" import {Divider} from '@/components/ui/divider'; import {Ionicons} from "@expo/vector-icons"; export default function Login() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const {signIn, isLoading} = useAuthStore(); const router = useRouter(); const handleInternalLogin = async () => { if (!email || !password) { alert('Proszę wprowadzić email i hasło.'); return; } try { await signIn(email, password); alert(`Zalogowano jako ${email}`); router.replace('/'); } catch (e) { alert("Błąd logowania: " + (e.response?.data?.message || e.message)); } } if (isLoading) { return ( ); } return (
Logowanie lub
); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', padding: 20, }, input: { borderWidth: 1, borderColor: '#ddd', borderRadius: 5, marginBottom: 15, padding: 10, }, errorText: { color: 'red', marginBottom: 10, }, signupbutton: { fontWeight: '300', }, });