import React, { useState } from 'react'; import { View, Text, StyleSheet, TouchableOpacity, ScrollView, SafeAreaView, StatusBar, Image, } from 'react-native'; import { LinearGradient } from 'expo-linear-gradient'; import AsyncStorage from '@react-native-async-storage/async-storage'; import { KurdistanColors } from '../theme/colors'; import PrivacyPolicyModal from '../components/PrivacyPolicyModal'; import TermsOfServiceModal from '../components/TermsOfServiceModal'; import kurdistanMapImage from '../../assets/kurdistan-map.png'; interface WelcomeScreenProps { onContinue?: () => void; } const WelcomeScreen: React.FC = ({ onContinue }) => { const [agreed, setAgreed] = useState(false); const [privacyModalVisible, setPrivacyModalVisible] = useState(false); const [termsModalVisible, setTermsModalVisible] = useState(false); const handleContinue = async () => { if (!agreed) return; try { await AsyncStorage.setItem('@pezkuwi/privacy_consent_accepted', 'true'); if (onContinue) { onContinue(); } } catch (_error) { if (__DEV__) console.error('Error saving privacy consent:', _error); } }; return ( {/* Logo and Title */} Pezkuwi Super App The First Digital Nation {/* Introduction */} Welcome to Pezkuwi, where blockchain technology transcends financial applications to address fundamental human challenges — statelessness, governance, and social justice. Pezkuwi is a pioneering experiment in digital statehood, merging technology with sociology, economy with politics. Starting with the Kurdish digital nation, we are building the world's first territory-independent nation governed by algorithmic sovereignty and social trust rather than borders and bureaucracy. Our meritocratic TNPoS consensus and modular digital nation infrastructure represent a new paradigm for Web3 — proving that decentralization is not just a technical promise, but a pathway to true self-governance. Digital Citizenship & Identity Decentralized Governance Non-Custodial Wallet Community-Driven Economy {/* Privacy Consent Checkbox */} setAgreed(!agreed)} activeOpacity={0.7} > {agreed && } I agree to the{' '} { e.stopPropagation(); setPrivacyModalVisible(true); }} > Privacy Policy {' '}and{' '} { e.stopPropagation(); setTermsModalVisible(true); }} > Terms of Service {/* Continue Button */} Get Started {/* Footer */} setPrivacyModalVisible(true)}> Privacy Policy setTermsModalVisible(true)}> Terms of Service Pezkuwi Blockchain • Est. 2024 • {new Date().getFullYear()} Building the future of decentralized governance since the launch of PezkuwiChain testnet {/* Privacy Policy Modal */} setPrivacyModalVisible(false)} /> {/* Terms of Service Modal */} setTermsModalVisible(false)} /> ); }; const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: KurdistanColors.kesk, }, gradient: { flex: 1, }, scrollContent: { flexGrow: 1, padding: 20, paddingTop: 40, }, header: { alignItems: 'center', marginBottom: 40, }, logoContainer: { width: 120, height: 120, borderRadius: 60, backgroundColor: KurdistanColors.spi, justifyContent: 'center', alignItems: 'center', marginBottom: 20, boxShadow: '0 4px 8px rgba(0, 0, 0, 0.3)', elevation: 8, padding: 10, }, logoImage: { width: '100%', height: '100%', }, title: { fontSize: 28, fontWeight: 'bold', color: KurdistanColors.spi, textAlign: 'center', marginBottom: 8, }, subtitle: { fontSize: 16, color: KurdistanColors.spi, textAlign: 'center', opacity: 0.9, }, introSection: { backgroundColor: 'rgba(255, 255, 255, 0.15)', borderRadius: 16, padding: 20, marginBottom: 30, borderWidth: 1, borderColor: 'rgba(255, 255, 255, 0.3)', }, introText: { fontSize: 15, lineHeight: 24, color: KurdistanColors.spi, textAlign: 'center', marginBottom: 16, }, featuresList: { marginTop: 12, gap: 12, }, featureItem: { flexDirection: 'row', alignItems: 'center', paddingVertical: 4, }, featureBullet: { fontSize: 20, color: KurdistanColors.zer, marginRight: 12, fontWeight: 'bold', }, featureText: { fontSize: 15, color: KurdistanColors.spi, fontWeight: '500', }, consentContainer: { marginBottom: 20, backgroundColor: 'rgba(255, 255, 255, 0.15)', borderRadius: 12, padding: 16, borderWidth: 1, borderColor: 'rgba(255, 255, 255, 0.3)', }, checkboxContainer: { flexDirection: 'row', alignItems: 'flex-start', }, checkbox: { width: 24, height: 24, borderRadius: 6, borderWidth: 2, borderColor: KurdistanColors.spi, marginRight: 12, justifyContent: 'center', alignItems: 'center', backgroundColor: 'transparent', }, checkboxChecked: { backgroundColor: KurdistanColors.spi, }, checkmark: { color: KurdistanColors.kesk, fontSize: 16, fontWeight: 'bold', }, consentText: { flex: 1, fontSize: 14, lineHeight: 20, color: KurdistanColors.spi, }, consentLink: { fontWeight: 'bold', textDecorationLine: 'underline', }, continueButton: { backgroundColor: KurdistanColors.spi, borderRadius: 12, padding: 16, alignItems: 'center', marginBottom: 20, boxShadow: '0 4px 6px rgba(0, 0, 0, 0.3)', elevation: 6, }, continueButtonDisabled: { opacity: 0.4, }, continueButtonText: { fontSize: 18, fontWeight: 'bold', color: KurdistanColors.kesk, }, footer: { alignItems: 'center', paddingTop: 20, gap: 8, }, footerLink: { paddingVertical: 4, }, footerLinkText: { fontSize: 13, color: KurdistanColors.spi, fontWeight: '600', textDecorationLine: 'underline', }, footerDivider: { fontSize: 12, color: KurdistanColors.spi, opacity: 0.5, marginHorizontal: 8, }, footerText: { fontSize: 12, color: KurdistanColors.spi, opacity: 0.7, textAlign: 'center', marginTop: 8, }, footerSubtext: { fontSize: 11, color: KurdistanColors.spi, opacity: 0.6, textAlign: 'center', fontStyle: 'italic', paddingHorizontal: 20, }, }); export default WelcomeScreen;