/** * TabataFit Privacy Policy Screen * Required for App Store submission */ import React from 'react' import { View, ScrollView, StyleSheet, Text, Pressable } from 'react-native' import { useSafeAreaInsets } from 'react-native-safe-area-context' import { useRouter } from 'expo-router' import Ionicons from '@expo/vector-icons/Ionicons' import { useTranslation } from 'react-i18next' import { useHaptics } from '@/src/shared/hooks' import { darkColors, BRAND } from '@/src/shared/theme' import { SPACING } from '@/src/shared/constants/spacing' export default function PrivacyPolicyScreen() { const { t } = useTranslation('screens') const router = useRouter() const insets = useSafeAreaInsets() const haptics = useHaptics() const handleClose = () => { haptics.selection() router.back() } return ( {/* Header */} {t('privacy.title')}
{t('privacy.intro.content')}
{t('privacy.dataCollection.content')}
{t('privacy.usage.content')}
{t('privacy.sharing.content')}
{t('privacy.security.content')}
{t('privacy.rights.content')}
{t('privacy.contact.content')} privacy@tabatafit.app
TabataFit v1.0.0 ) } // ═══════════════════════════════════════════════════════════════════════════ // HELPER COMPONENTS // ═══════════════════════════════════════════════════════════════════════════ function Section({ title, children, }: { title: string children?: React.ReactNode }) { return ( {title} {children} ) } function Paragraph({ children }: { children: string }) { return {children} } function BulletList({ items }: { items: string[] }) { return ( {items.map((item, index) => ( {item} ))} ) } // ═══════════════════════════════════════════════════════════════════════════ // STYLES // ═══════════════════════════════════════════════════════════════════════════ const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: darkColors.bg.base, }, header: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', paddingHorizontal: SPACING[4], paddingVertical: SPACING[3], borderBottomWidth: 1, borderBottomColor: darkColors.border.glass, }, backButton: { width: 44, height: 44, alignItems: 'center', justifyContent: 'center', }, headerTitle: { fontSize: 17, fontWeight: '600', color: darkColors.text.primary, }, scrollView: { flex: 1, }, content: { paddingHorizontal: SPACING[5], paddingTop: SPACING[4], }, section: { marginBottom: SPACING[6], }, sectionTitle: { fontSize: 20, fontWeight: '700', color: darkColors.text.primary, marginBottom: SPACING[3], }, paragraph: { fontSize: 15, lineHeight: 22, color: darkColors.text.secondary, }, bulletList: { marginTop: SPACING[3], }, bulletItem: { flexDirection: 'row', marginBottom: SPACING[2], }, bullet: { fontSize: 15, color: BRAND.PRIMARY, marginRight: SPACING[2], }, bulletText: { flex: 1, fontSize: 15, lineHeight: 22, color: darkColors.text.secondary, }, email: { fontSize: 15, color: BRAND.PRIMARY, marginTop: SPACING[2], }, footer: { marginTop: SPACING[8], alignItems: 'center', }, footerText: { fontSize: 13, color: darkColors.text.tertiary, }, })