import DateTimePicker, { DateTimePickerEvent, } from "@react-native-community/datetimepicker"; import { useBirthdays } from "@/context/birthdays-context"; import { useRouter } from "expo-router"; import React, { useState } from "react"; import { Alert, KeyboardAvoidingView, Platform, ScrollView, StyleSheet, Text, TextInput, TouchableOpacity, View, } from "react-native"; import { SafeAreaView } from "react-native-safe-area-context"; export default function SimpleForm() { const router = useRouter(); const { addBirthday } = useBirthdays(); const [name, setName] = useState(""); const [date, setDate] = useState(new Date()); const [showPicker, setShowPicker] = useState(false); const onChangeDate = ( event: DateTimePickerEvent, selectedDate?: Date ) => { setShowPicker(Platform.OS === "ios"); if (selectedDate) { setDate(selectedDate); } }; const handleSubmit = () => { if (!name.trim()) { Alert.alert("Missing name", "Enter a name before saving."); return; } addBirthday({ name, date: formatBirthdayDate(date), }); setName(""); setDate(new Date()); router.back(); }; return ( Add Birthday Name: Date: { setShowPicker(true); }} style={[{ backgroundColor: "#00adaa" }, styles.button]} > Select Date {"Selected date: " + date.toDateString()} {showPicker && ( )} Save ); } const styles = StyleSheet.create({ safeArea: { flex: 1, backgroundColor: "#fff", justifyContent: "center", marginBottom: 0, }, keyboardContainer: { flex: 1, }, content: { flex: 1, paddingHorizontal: 16, paddingTop: 12, }, title: { fontSize: 24, fontWeight: "bold", paddingHorizontal: 5, paddingBottom: 10, }, scrollContent: { flexGrow: 1, paddingHorizontal: 20, paddingBottom: 20, }, formCard: { gap: 12, }, label: { paddingTop: 20, fontSize: 16, }, input: { borderWidth: 1, borderColor: "#ccc", padding: 10, borderRadius: 5, }, dateText: { fontSize: 16, marginBottom: 8, }, button: { borderRadius: 10, paddingVertical: 10, paddingHorizontal: 12, elevation: 8 }, buttonText: { fontSize: 18, color: "#fff", fontWeight: "bold", alignSelf: "center" } }); function formatBirthdayDate(date: Date) { const year = date.getFullYear(); const month = `${date.getMonth() + 1}`.padStart(2, "0"); const day = `${date.getDate()}`.padStart(2, "0"); return `${year}-${month}-${day}`; }