import { Ionicons, MaterialCommunityIcons, MaterialIcons } from '@expo/vector-icons'; import { useRouter } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; import React, { useEffect, useState } from "react"; import { StyleSheet, Text, TouchableOpacity, View } from "react-native"; const PRIMARY = '#A24BFA'; const BG = '#0c0a0a'; const NAV_ITEMS = [ { key: 'profile', label: 'Profilom', icon: (color: string) => }, { key: 'schedule', label: 'Beosztás', icon: (color: string) => }, { key: 'requests', label: 'Kérelmek', icon: (color: string) => }, ]; export default function Profile() { const [fullName, setFullName] = useState(''); const [email, setEmail] = useState(''); const [userId, setUserId] = useState(''); const [activeTab, setActiveTab] = useState('profile'); const router = useRouter(); useEffect(() => { (async () => { const name = await SecureStore.getItemAsync('fullName'); const mail = await SecureStore.getItemAsync('email'); const uid = await SecureStore.getItemAsync('userId'); setFullName(name || ''); setEmail(mail || ''); setUserId(uid || ''); })(); }, []); async function handleLogout() { await SecureStore.deleteItemAsync('cookie'); await SecureStore.deleteItemAsync('userId'); await SecureStore.deleteItemAsync('email'); await SecureStore.deleteItemAsync('password'); await SecureStore.deleteItemAsync('fullName'); router.replace('/'); } function renderContent() { if (activeTab === 'profile') { return ( Név: {fullName} Email: {email} UserID: {userId} Kijelentkezés ); } else if (activeTab === 'schedule') { return ( Beosztás funkció hamarosan… ); } else if (activeTab === 'requests') { return ( Kérelmek funkció hamarosan… ); } } return ( Profil {renderContent()} {NAV_ITEMS.map(item => ( setActiveTab(item.key)} > {item.icon(activeTab === item.key ? PRIMARY : '#bdbdbd')} {item.label} ))} ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: BG, justifyContent: 'center', alignItems: 'center', paddingBottom: 64, }, title: { color: '#fff', fontWeight: 'bold', fontSize: 28, textAlign: 'center', marginBottom: 24, marginTop: 32, }, card: { backgroundColor: 'rgba(24, 20, 28, 0.95)', borderRadius: 24, padding: 32, width: '90%', maxWidth: 400, shadowColor: '#000', shadowOpacity: 0.3, shadowRadius: 24, shadowOffset: { width: 0, height: 8 }, elevation: 8, marginBottom: 32, }, label: { color: '#bdbdbd', fontSize: 16, marginTop: 12, fontWeight: 'bold', }, value: { color: PRIMARY, fontSize: 18, marginBottom: 8, }, navBar: { flexDirection: 'row', justifyContent: 'space-around', alignItems: 'center', backgroundColor: 'rgba(24, 20, 28, 0.98)', borderTopWidth: 1, borderTopColor: '#222', position: 'absolute', bottom: 0, left: 0, right: 0, height: 64, paddingHorizontal: 16, }, navItem: { flex: 1, alignItems: 'center', justifyContent: 'center', }, navLabel: { fontSize: 13, marginTop: 2, fontWeight: 'bold', }, logoutButton: { backgroundColor: PRIMARY, borderRadius: 12, paddingVertical: 16, alignItems: 'center', marginTop: 32, shadowColor: PRIMARY, shadowOpacity: 0.3, shadowRadius: 8, shadowOffset: { width: 0, height: 2 }, elevation: 2, }, logoutText: { color: '#fff', fontWeight: 'bold', fontSize: 18, letterSpacing: 1, }, });