1.0.1 #3

Merged
me merged 22 commits from dev into main 2026-09-29 17:54:06 -07:00
Showing only changes of commit b02a6ff80a - Show all commits
+41 -21
View File
@@ -124,17 +124,17 @@ class _HomeScreenState extends State<HomeScreen> {
final lat = prefs.getDouble('lat').toString(); final lat = prefs.getDouble('lat').toString();
final lng = prefs.getDouble('lng').toString(); final lng = prefs.getDouble('lng').toString();
final sun = prefs.getString('sunset_time'); final sun = prefs.getString('sunset_time');
final plu = prefs.getString('plural');
_latController.text = (lat == "null") ? "" : lat; _latController.text = (lat == "null") ? "" : lat;
_lngController.text = (lng == "null") ? "" : lng; _lngController.text = (lng == "null") ? "" : lng;
_sunsetController.text = sun ?? ""; _sunsetController.text = sun ?? "";
_plural = plu ?? "";
_minutesBefore = prefs.getInt('minutes_before') ?? 30; _minutesBefore = prefs.getInt('minutes_before') ?? 30;
_minutesController.text = _minutesBefore.toString(); _minutesController.text = _minutesBefore.toString();
_alarmEnabled = prefs.getBool('alarm_enabled') ?? false; _alarmEnabled = prefs.getBool('alarm_enabled') ?? false;
_validTime = prefs.getBool('valid_time') ?? false; _validTime = prefs.getBool('valid_time') ?? false;
_calcPlural();
}); });
if (_alarmEnabled && _sunsetController.text.isNotEmpty) { if (_alarmEnabled && _sunsetController.text.isNotEmpty) {
_scheduleAlarm(); _scheduleAlarm();
@@ -152,7 +152,6 @@ class _HomeScreenState extends State<HomeScreen> {
} }
await prefs.setBool('alarm_enabled', _alarmEnabled); await prefs.setBool('alarm_enabled', _alarmEnabled);
await prefs.setInt('minutes_before', _minutesBefore); await prefs.setInt('minutes_before', _minutesBefore);
await prefs.setString('plural', _plural);
await prefs.setBool('valid_time', _validTime); await prefs.setBool('valid_time', _validTime);
} }
@@ -402,6 +401,12 @@ class _HomeScreenState extends State<HomeScreen> {
return null; // valid return null; // valid
} }
void _calcPlural() {
setState(() {
_plural = (_minutesBefore == 1) ? '' : 's';
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@@ -548,6 +553,7 @@ class _HomeScreenState extends State<HomeScreen> {
children: [ children: [
if (!_alarmEnabled) if (!_alarmEnabled)
Expanded( Expanded(
flex: _validTime ? 6 : 4,
child: TextField( child: TextField(
controller: _minutesController, controller: _minutesController,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
@@ -565,31 +571,45 @@ class _HomeScreenState extends State<HomeScreen> {
} else { } else {
_minuteErrorText = 'Invalid Minute Value'; _minuteErrorText = 'Invalid Minute Value';
} }
_plural = (_minutesBefore == 1) ? '' : 's'; _calcPlural();
}); });
}, },
), ),
), ),
//Expanded(
// flex: 3,
// child: Center(
// child:
// _validTime ? Text("") : Text("Sunset Time Needed") ,
// ),
//),
// --- Toggle --- // --- Toggle ---
Expanded( Expanded(
child: flex: _validTime ? 7 : 5,
_validTime child: SwitchListTile(
? SwitchListTile( title: Center(
title: Text( child: Text(
_alarmEnabled ? 'Sunset Alarm Enabled' : "", _validTime
), ? _alarmEnabled
subtitle: Text( ? "Sunset Alarm Enabled"
_validTime : "Enable"
? _alarmEnabled : "Disabled",
? '${_minutesBefore} Minute${_plural} Before @ $_alarmDisplayTime' ),
: "" ),
: "Add Time", subtitle: Center(
), child: Text(
value: _alarmEnabled, _validTime
onChanged: _toggleAlarm, ? _alarmEnabled
) ? "${_minutesBefore} Minute${_plural} Before @ $_alarmDisplayTime"
: Center(child: Text("Sunset Time Invalid")), : "Sunset Alarm"
: "Enter Time",
),
),
value: _validTime ? _alarmEnabled : false,
onChanged: _validTime ? _toggleAlarm : null,
),
), ),
], ],
), ),