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