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 23ca37c671 - Show all commits
+21 -8
View File
@@ -121,13 +121,19 @@ class _HomeScreenState extends State<HomeScreen> {
Future<void> _loadPrefs() async { Future<void> _loadPrefs() async {
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();
setState(() { setState(() {
_latController.text = prefs.getDouble('lat').toString(); final lat = prefs.getDouble('lat').toString();
_lngController.text = prefs.getDouble('lng').toString(); final lng = prefs.getDouble('lng').toString();
_sunsetController.text = prefs.getString('sunset_time').toString(); final sun = prefs.getString('sunset_time');
_alarmEnabled = prefs.getBool('alarm_enabled') ?? false; final plu = prefs.getString('plural');
_latController.text = (lat == "null") ? "" : lat;
_lngController.text = (lng == "null") ? "" : lng;
_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();
_plural = prefs.getString('plural').toString();
_alarmEnabled = prefs.getBool('alarm_enabled') ?? false;
_validTime = prefs.getBool('valid_time') ?? false; _validTime = prefs.getBool('valid_time') ?? false;
}); });
if (_alarmEnabled && _sunsetController.text.isNotEmpty) { if (_alarmEnabled && _sunsetController.text.isNotEmpty) {
@@ -208,7 +214,10 @@ class _HomeScreenState extends State<HomeScreen> {
} catch (e) { } catch (e) {
_showSnack('Network Error: $e'); _showSnack('Network Error: $e');
} finally { } finally {
setState(() => _loading = false); setState(() {
_loading = false;
_validTime = true;
});
} }
if (_alarmEnabled) { if (_alarmEnabled) {
@@ -377,7 +386,9 @@ class _HomeScreenState extends State<HomeScreen> {
} }
String? _validateTime(String? value) { String? _validateTime(String? value) {
_validTime = false; setState(() {
_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';
} }
@@ -385,7 +396,9 @@ 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; setState(() {
_validTime = true;
});
return null; // valid return null; // valid
} }