main, handle the time being invalid better.

This commit is contained in:
me committed 2026-09-29 13:23:28 -07:00
1 parent 42d4992b6b
commit dd9d15172c
1 file changed
+7 -8
+7 -8
View File
@@ -79,6 +79,7 @@ class _HomeScreenState extends State<HomeScreen> {
String? _sunsetErrorText;
String? _minuteErrorText;
bool _validTime = false;
static const _alarmId = 1001;
@@ -362,6 +363,7 @@ class _HomeScreenState extends State<HomeScreen> {
}
String? _validateTime(String? value) {
_validTime = false;
if (value == null || !RegExp(r'^\d{2}:\d{2}$').hasMatch(value)) {
return 'Use HH:MM Format';
}
@@ -369,6 +371,7 @@ class _HomeScreenState extends State<HomeScreen> {
final m = int.parse(value.substring(3, 5));
if (h > 23) return 'Hour Must Be 0–23';
if (m > 59) return 'Minute Must Be 0–59';
_validTime = true;
return null; // valid
}
@@ -545,19 +548,15 @@ class _HomeScreenState extends State<HomeScreen> {
Expanded(
child: SwitchListTile(
//title: const Text('Enable Sunset Alarm'),
title: Text(_alarmEnabled ? 'Sunset Alarm Enabled' : ''),
title: Text(_alarmEnabled ? 'Sunset Alarm Enabled' : ""),
subtitle: Text(
_alarmEnabled
? '${_minutesBefore} Minute${_plural} Before @ $_alarmDisplayTime'
: (_sunsetController.text == ""
? "Time Missing"
: ""),
: "",
),
value:
_sunsetController.text != "" ? _alarmEnabled : false,
value: _validTime ? _alarmEnabled : false,
// If _isDataLoaded is false, onChanged is null, disabling the switch
onChanged:
_sunsetController.text != "" ? _toggleAlarm : null,
onChanged: _validTime ? _toggleAlarm : null,
),
),
],