import React, { useState, useEffect, useCallback, useMemo } from 'react'; import { View, Text, StyleSheet, ScrollView, TouchableOpacity, RefreshControl, Image, Modal, TextInput, Alert, KeyboardAvoidingView, Platform, Animated, } from 'react-native'; import { useLocalSearchParams, router } from 'expo-router'; import { Ionicons } from '@expo/vector-icons'; import { SafeAreaView } from 'react-native-safe-area-context'; import * as ImagePicker from 'expo-image-picker'; import { api } from '@/services/api'; import { useBeneficiary } from '@/contexts/BeneficiaryContext'; import { LoadingSpinner } from '@/components/ui/LoadingSpinner'; import { FullScreenError } from '@/components/ui/ErrorMessage'; import { Button } from '@/components/ui/Button'; import { AppColors, BorderRadius, FontSizes, Spacing, FontWeights, Shadows, AvatarSizes, } from '@/constants/theme'; import type { Beneficiary } from '@/types'; // Local beneficiaries have timestamp-based IDs (>1000000000) const isLocalBeneficiary = (id: string | number): boolean => { const numId = typeof id === 'string' ? parseInt(id, 10) : id; return numId > 1000000000; }; // Setup state types type SetupState = 'loading' | 'no_devices' | 'no_subscription' | 'ready'; // No Devices Screen Component function NoDevicesScreen({ beneficiary, onActivate, onGetSensors }: { beneficiary: Beneficiary; onActivate: () => void; onGetSensors: () => void; }) { return ( Connect Sensors To start monitoring {beneficiary.name}'s wellness, you need to connect sensors first. I have sensors Enter activation code to connect your WellNuo sensors Get sensors Order WellNuo sensor kit for comprehensive monitoring ); } // No Subscription Screen Component function NoSubscriptionScreen({ beneficiary, onSubscribe }: { beneficiary: Beneficiary; onSubscribe: () => void; }) { const isExpired = beneficiary.subscription?.status === 'expired'; return ( {isExpired ? 'Subscription Expired' : 'Subscription Required'} {isExpired ? `Your subscription for ${beneficiary.name} has expired. Renew to continue monitoring.` : `Activate a subscription to start monitoring ${beneficiary.name}'s wellness data.` } WellNuo Pro $49 /month 24/7 AI monitoring Unlimited chat with Julia AI Detailed activity reports Smart alerts & notifications