1.0.1 #3
+7
-8
@@ -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,
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
Reference in new issue
Block a user