import { useState, useEffect } from 'react'; import { StyleSheet, Platform, ScrollView, KeyboardAvoidingView } from 'react-native'; import { TextInput, Button, Snackbar } from 'react-native-paper'; import { useLocalSearchParams, useRouter } from 'expo-router'; import useLocationStore from '@/store'; export default function EditLocation() { const { id } = useLocalSearchParams(); const router = useRouter(); const location = useLocationStore((state) => state.locations.find((loc) => loc.id == id) ); const updateLocation = useLocationStore((state) => state.updateLocation); const [formData, setFormData] = useState({ name: '', description: '', image: '', area: '', population: '', }); const [message, setMessage] = useState(''); const [visible, setVisible] = useState(false); useEffect(() => { if (location) { setFormData({ name: location.name, description: location.description, image: location.image, area: location.area.toString(), population: location.population.toString(), }); } }, [location]); const handleEditLocation = () => { if ( formData.name && formData.description && formData.image && formData.area && formData.population ) { updateLocation(id, { name: formData.name, description: formData.description, image: formData.image, area: parseFloat(formData.area), population: parseInt(formData.population, 10), }); setMessage('Lokalizacja została zaktualizowana!'); setVisible(true); // setTimeout(() => { // router.replace(`/location/${id}`); // }, 2000); } else { setMessage('Wypełnij wszystkie pola!'); setVisible(true); } }; return ( setVisible(false)} duration={3000} > {message} setFormData({ ...formData, name: e })} /> setFormData({ ...formData, description: e })} /> setFormData({ ...formData, image: e })} /> setFormData({ ...formData, area: e })} /> setFormData({ ...formData, population: e })} /> ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#25292e', justifyContent: 'flex-start', alignItems: 'center', }, });