main, handle variable state values a bit better.
This commit is contained in:
1 parent
11616841b3
commit
23ca37c671
1 file changed
+21
-8
+21
-8
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user