From 188cac58bd3cb855166395ccdc997895e3fec019 Mon Sep 17 00:00:00 2001 From: Sarah Jennings Date: Mon, 27 Apr 2026 12:33:34 -0700 Subject: [PATCH 1/3] Fixing UI. Work in progress --- AlarmApp/App.tsx | 98 ++++++++++++++++++++++++++++++++++------------ AlarmApp/styles.js | 33 ++++++++++++++++ 2 files changed, 107 insertions(+), 24 deletions(-) diff --git a/AlarmApp/App.tsx b/AlarmApp/App.tsx index 62bb9b6..8ef8b4d 100644 --- a/AlarmApp/App.tsx +++ b/AlarmApp/App.tsx @@ -9,6 +9,7 @@ import { Switch, Alert, Platform, + Modal, } from 'react-native'; import DateTimePicker from '@react-native-community/datetimepicker'; @@ -61,6 +62,7 @@ export default function App() { const [showEndPicker, setShowEndPicker] = useState(false); const [showIntervalPicker, setShowIntervalPicker] = useState(false); const [editingAlarmId, setEditingAlarmId] = useState(null); + const [showAlarmModal, setShowAlarmModal] = useState(false); //guard against overlapping alarms const lastFiredRef = React.useRef>({}); @@ -192,6 +194,8 @@ export default function App() { setStartTime(start); setEndTime(end); setIntervalMinutes(alarm.interval); + + setShowAlarmModal(true); }; const saveEditAlarmSet = () => { @@ -294,6 +298,64 @@ const confirmDeleteAlarmSet = (id: string) => { ListEmptyComponent={No alarms yet} /> + + + + + {editingAlarmId ? "Edit Alarm" : "Create Alarm"} + + + {/* start */} + Start Time + setShowStartPicker(true)}> + + {startTime.toLocaleTimeString([], { + hour: '2-digit', + minute: '2-digit' + })} + + + + {/* end */} + End Time + setShowEndPicker(true)}> + + {endTime.toLocaleTimeString([], { + hour: '2-digit', + minute: '2-digit' + })} + + + + {/* interval picker */} + Interval + setShowIntervalPicker(true)}> + + Every {intervalMinutes} minutes + + + +