import { useState, useEffect } from 'react'; import { View, Text, StyleSheet, ScrollView, Alert } from 'react-native'; import { useRouter, useLocalSearchParams } from 'expo-router'; import { useSaisies, useUpdateSaisie } from '@/hooks/useTracker'; import EmotionPicker from '@/components/EmotionPicker'; import { IntensityPicker } from './new'; import { Colors } from '@/lib/colors'; import { Spacing, FontSize, FontWeight } from '@/lib/theme'; import { Button, TextField, Loader } from '@/components/ui'; export default function EditEntryScreen() { const router = useRouter(); const { id } = useLocalSearchParams<{ id: string }>(); const { data: saisies } = useSaisies(); const updateSaisie = useUpdateSaisie(); const saisie = saisies?.find((s) => s.id === Number(id)); const [emotionId, setEmotionId] = useState(); const [intensite, setIntensite] = useState(5); const [note, setNote] = useState(''); const [dateSaisie, setDateSaisie] = useState(''); useEffect(() => { if (saisie) { setEmotionId(saisie.emotion_id); setIntensite(saisie.intensite); setNote(saisie.note || ''); setDateSaisie(saisie.date_saisie.split('T')[0]); } }, [saisie]); const handleSubmit = async () => { if (!emotionId || !id) return; try { await updateSaisie.mutateAsync({ id: Number(id), emotion_id: emotionId, intensite, note: note.trim() || undefined, date_saisie: dateSaisie, }); Alert.alert('Succès', 'Saisie modifiée !', [{ text: 'OK', onPress: () => router.back() }]); } catch { Alert.alert('Erreur', 'Impossible de modifier la saisie'); } }; if (!saisie) { return ; } return ( {/* Émotion */} Émotion {/* Intensité */} Intensité {intensite} /10 Faible Forte {/* Note */} {/* Actions */}