import { View, Text, Modal, ScrollView, TouchableOpacity, KeyboardAvoidingView, Platform } from 'react-native'; import { useState, useEffect } from 'react'; import { X } from 'lucide-react-native'; import { Input } from '@/components/ui/Input'; import { Button } from '@/components/ui/Button'; import { getDatabase } from '@/lib/database'; import { Territory } from '@/lib/territoryHelpers'; interface Props { territory: Territory; visible: boolean; onClose: () => void; onSaved: () => void; } export function EditTerritorySheet({ territory, visible, onClose, onSaved }: Props) { const [municipality, setMunicipality] = useState(territory.municipality ?? ''); const [barangay, setBarangay] = useState(territory.barangay ?? ''); const [area, setArea] = useState(territory.area ?? ''); const [block, setBlock] = useState(territory.block ?? ''); const [loading, setLoading] = useState(false); useEffect(() => { setMunicipality(territory.municipality ?? ''); setBarangay(territory.barangay ?? ''); setArea(territory.area ?? ''); setBlock(territory.block ?? ''); }, [territory]); async function handleSave() { setLoading(true); try { const db = await getDatabase(); const now = Math.floor(Date.now() / 1000); await db.runAsync( 'UPDATE territories SET municipality=?, barangay=?, area=?, block=?, updated_at=? WHERE id=?', [municipality.trim() || null, barangay.trim() || null, area.trim() || null, block.trim() || null, now, territory.id] ); onSaved(); } finally { setLoading(false); } } return ( Edit Territory Territory Code {territory.territoryCode}