import React from 'react'; import { View, Text, TouchableOpacity, StyleSheet, SafeAreaView, ScrollView, StatusBar, } from 'react-native'; import { LinearGradient } from 'expo-linear-gradient'; import { useTranslation } from 'react-i18next'; import AppColors, { KurdistanColors } from '../theme/colors'; interface DashboardScreenProps { onNavigateToWallet: () => void; onNavigateToSettings: () => void; } const DashboardScreen: React.FC = ({ onNavigateToWallet, onNavigateToSettings, }) => { const { t } = useTranslation(); const menuItems = [ { key: 'wallet', title: t('dashboard.wallet'), icon: '๐Ÿ’ผ', color: KurdistanColors.kesk, onPress: onNavigateToWallet, }, { key: 'staking', title: t('dashboard.staking'), icon: '๐Ÿ”’', color: KurdistanColors.zer, onPress: () => console.log('Navigate to Staking'), }, { key: 'governance', title: t('dashboard.governance'), icon: '๐Ÿ—ณ๏ธ', color: KurdistanColors.sor, onPress: () => console.log('Navigate to Governance'), }, { key: 'dex', title: t('dashboard.dex'), icon: '๐Ÿ’ฑ', color: '#2196F3', onPress: () => console.log('Navigate to DEX'), }, { key: 'history', title: t('dashboard.history'), icon: '๐Ÿ“œ', color: '#9C27B0', onPress: () => console.log('Navigate to History'), }, { key: 'settings', title: t('dashboard.settings'), icon: 'โš™๏ธ', color: '#607D8B', onPress: onNavigateToSettings, }, ]; return ( {/* Header */} Welcome! {t('dashboard.title')} PZK {/* Balance Card */} {t('dashboard.balance')} 0.00 HEZ {t('dashboard.totalStaked')} 0.00 {t('dashboard.rewards')} 0.00 {/* Quick Actions */} Quick Actions {menuItems.map((item) => ( {item.icon} {item.title} ))} {/* Active Proposals */} {t('dashboard.activeProposals')} 0 Active Proposals View All ); }; const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#F5F5F5', }, header: { paddingTop: 20, paddingBottom: 30, paddingHorizontal: 20, borderBottomLeftRadius: 30, borderBottomRightRadius: 30, }, headerContent: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', }, greeting: { fontSize: 14, color: KurdistanColors.spi, opacity: 0.9, }, headerTitle: { fontSize: 24, fontWeight: 'bold', color: KurdistanColors.spi, }, logoContainer: { width: 50, height: 50, borderRadius: 25, backgroundColor: KurdistanColors.spi, justifyContent: 'center', alignItems: 'center', }, logoText: { fontSize: 16, fontWeight: 'bold', color: KurdistanColors.kesk, }, balanceCard: { backgroundColor: KurdistanColors.spi, margin: 20, marginTop: -20, borderRadius: 20, padding: 24, shadowColor: '#000', shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.1, shadowRadius: 12, elevation: 6, }, balanceLabel: { fontSize: 14, color: '#666', marginBottom: 8, }, balanceAmount: { fontSize: 36, fontWeight: 'bold', color: KurdistanColors.kesk, marginBottom: 20, }, balanceStats: { flexDirection: 'row', justifyContent: 'space-around', }, statItem: { flex: 1, alignItems: 'center', }, statLabel: { fontSize: 12, color: '#999', marginBottom: 4, }, statValue: { fontSize: 18, fontWeight: '600', color: KurdistanColors.reลŸ, }, statDivider: { width: 1, backgroundColor: '#E0E0E0', }, section: { padding: 20, }, sectionTitle: { fontSize: 18, fontWeight: '600', color: KurdistanColors.reลŸ, marginBottom: 16, }, menuGrid: { flexDirection: 'row', flexWrap: 'wrap', gap: 12, }, menuItem: { width: '47%', backgroundColor: KurdistanColors.spi, borderRadius: 16, padding: 20, alignItems: 'center', shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.05, shadowRadius: 6, elevation: 3, }, menuIconContainer: { width: 60, height: 60, borderRadius: 30, justifyContent: 'center', alignItems: 'center', marginBottom: 12, }, menuIcon: { fontSize: 28, }, menuTitle: { fontSize: 14, fontWeight: '600', color: KurdistanColors.reลŸ, textAlign: 'center', }, proposalsCard: { backgroundColor: KurdistanColors.spi, borderRadius: 16, padding: 24, alignItems: 'center', shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.05, shadowRadius: 6, elevation: 3, }, proposalsCount: { fontSize: 48, fontWeight: 'bold', color: KurdistanColors.kesk, marginBottom: 8, }, proposalsLabel: { fontSize: 14, color: '#666', marginBottom: 16, }, proposalsButton: { backgroundColor: KurdistanColors.kesk, paddingHorizontal: 24, paddingVertical: 12, borderRadius: 8, }, proposalsButtonText: { fontSize: 14, fontWeight: '600', color: KurdistanColors.spi, }, }); export default DashboardScreen;