import { StyleSheet } from "react-native"; import React, { useState } from "react"; import { Dialog, Text, PanningProvider, TextField, Button, View, Switch, Picker, } from "react-native-ui-lib"; import ButtonOutlined from "@/components/ui/ButtonOutlined"; import AntDesign from "@expo/vector-icons/AntDesign"; import Feather from "@expo/vector-icons/Feather"; import Ionicons from "@expo/vector-icons/Ionicons"; import { DateTimePicker } from "react-native-ui-lib"; import { TouchableOpacity } from "react-native-gesture-handler"; interface ReminderModalProps { visible: boolean; onClose: () => void; onSave: (newReminder: Reminder) => void; } interface Reminder { title: string; date: Date; done: boolean; isAutoRepeat: boolean; remindIn: string; } interface reminderOptions { label: string; value: string; } const AddReminderModal = (props: ReminderModalProps) => { const { visible, onClose , onSave } = props; const [reminderTitle, setReminderTitle] = useState(""); const [time, setTime] = useState(new Date()); const [autoRepeat, setAutoRepeat] = useState(false); const [reminder, setReminder] = useState("just-in-time"); const reminderOptions = [ { label: "Remind me just in time", value: "just-in-time" }, { label: "Remind me 5 minutes before", value: "5-min-before" }, { label: "Remind me 10 minutes before", value: "10-min-before" }, { label: "Remind me 15 minutes before", value: "15-min-before" }, { label: "Remind me 30 minutes before", value: "30-min-before" }, { label: "Remind me 1 hour before", value: "1-hr-before" }, { label: "Remind me 1 day before", value: "1-day-before" }, ]; const handleSave = () => { const newReminder: Reminder = { title: reminderTitle, date: time, done: false, isAutoRepeat: autoRepeat, remindIn: reminder }; onSave(newReminder); onClose(); }; const handleDateTimeChange = (selectedTime: Date) => { setTime(selectedTime); }; return ( New Reminder Profiles {}} /> setReminderTitle(text)} placeholder="Reminder Title" text70L /> Reminder Time } onChange={handleDateTimeChange} text70 /> } text70 /> setReminder(item)} useDialog fieldType="form" placeholder="Select a reminder" leadingAccessory={ } trailingAccessory={ } > {reminderOptions.map((option) => ( ))} Auto Repeat setAutoRepeat(value)} /> ); }; const styles = StyleSheet.create({ container: { paddingVertical: 10, display: "flex", flexDirection: "column", justifyContent: "space-between", }, button: { backgroundColor: "white", color: "black", borderColor: "lightgray", borderWidth: 1, borderRadius: 5, padding: 0, marginHorizontal: 0, width: "49%", }, inner: { paddingHorizontal: 20, display: "flex", flexDirection: "column", }, title: { fontSize: 20, fontWeight: "400", textAlign: "center", }, divider: { width: "100%", height: 1, backgroundColor: "#E0E0E0", marginVertical: 10, }, iconTitle: { padding: 10, borderRadius: 10, borderWidth: 1, borderColor: "#E0E0E0", display: "flex", flexDirection: "row", }, inputsBetween: { paddingVertical: 12, paddingHorizontal: 15, marginVertical: 5, borderRadius: 10, borderWidth: 1, borderColor: "#E0E0E0", display: "flex", alignItems: "center", flexDirection: "row", justifyContent: "space-between", }, inputsStart: { paddingVertical: 12, paddingHorizontal: 15, marginVertical: 5, borderRadius: 10, borderWidth: 1, borderColor: "#E0E0E0", display: "flex", alignItems: "center", flexDirection: "row", justifyContent: "flex-start", }, }); export default AddReminderModal;