import { View, Text, TouchableOpacity, Alert, ScrollView } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; import { useAuthStore } from '../../stores/authStore'; import { router } from 'expo-router'; export default function ProfileScreen() { const { user, logout, tenantSlug } = useAuthStore(); const initials = `${user?.firstName?.[0] ?? ''}${user?.lastName?.[0] ?? ''}`.toUpperCase() || 'U'; const fullName = `${user?.firstName ?? ''} ${user?.lastName ?? ''}`.trim(); const role = user?.roles?.[0] ?? user?.role ?? 'Staff'; const handleLogout = () => { Alert.alert('Sign Out', 'Are you sure you want to sign out?', [ { text: 'Cancel', style: 'cancel' }, { text: 'Sign Out', style: 'destructive', onPress: async () => { await logout(); router.replace('/(auth)/company-code'); } }, ]); }; return ( {/* Header */} {initials} {fullName} {role} {/* Info */} {[ { label: 'Email', value: user?.email }, { label: 'Company', value: tenantSlug }, { label: 'Role', value: role }, ].map((row, i, arr) => ( {row.label} {row.value ?? '—'} ))} {/* User Management — admin only */} {(user?.roles?.includes('ADMIN') || user?.role === 'ADMIN' || role === 'ADMIN') && ( router.push('/(app)/users')} activeOpacity={0.7} > User Management Add & manage team members )} {/* App version */} App FiberOps Mobile v1.0.0 {/* Sign out */} Sign Out ); }