Fix remaining compilation errors: null-safety, removed packages, and nullable handling

- Fix AppState: remove removed connectivity package, fix imports (latlong2), make nullable fields optional
- Fix User model: use const empty strings in const constructor instead of null
- Fix model builders: add required ObjectId parameters to YourLocation and FireNotification
- Implement Comparable instead of extending it for BasicLocation
- Fix nullable callback handling in appActions and middleware (Completer<Null>?)
- Add null checks for BuildContext in dialogs (fireAlert, homePage, etc.)
- Fix nullable scaffold state access using ?. operator (activeFires, fireNotificationList)
- Handle nullable FireNotification and YourLocation in genericMapBottom
- Fix list type casting for widgets that can be null (<Widget?> with filtering)
- Add ObjectId imports where needed for model creation
- Fix Key? nullable parameter in introPage
- Add required parameters to markdownPage and slider constructors
- Remove connectivity-related code and imports (package removed)
- Handle nullable Completer in fetchDataMiddleware

All 104 errors resolved. 0 errors, 61 warnings/info remaining.
This commit is contained in:
vjrj 2026-03-05 02:50:32 +01:00
parent 037b5eaa32
commit a7f3ab6974
27 changed files with 259 additions and 274 deletions

View file

@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:geocoding/geocoding.dart' as geo;
import 'package:location/location.dart';
import 'package:objectid/objectid.dart';
import 'generated/i18n.dart';
@ -17,7 +18,8 @@ Future<YourLocation> getUserLocation(
LocationData location = await _location.getLocation();
// It seems that the lib fails with lat/lon values
var yl = new YourLocation(lat: location.latitude, lon: location.longitude);
var yl = new YourLocation(
id: ObjectId(), lat: location.latitude!, lon: location.longitude!);
var address;
try {
address = await getReverseLocation(lat: yl.lat, lon: yl.lon);
@ -33,16 +35,17 @@ Future<YourLocation> getUserLocation(
}
return yl;
} on PlatformException catch (e) {
if (e.code == 'PERMISSION_DENIED') {
ScaffoldMessenger.of(scaffoldKey.currentContext)
.showSnackBar(new SnackBar(
content: new Text(S.of(scaffoldKey.currentContext).notPermsUbication),
final context = scaffoldKey.currentContext;
if (context != null) {
if (e.code == 'PERMISSION_DENIED') {
ScaffoldMessenger.of(context).showSnackBar(new SnackBar(
content: new Text(S.of(context).notPermsUbication),
));
} else if (e.code == 'PERMISSION_DENIED_NEVER_ASK') {}
ScaffoldMessenger.of(context).showSnackBar(new SnackBar(
content: new Text(S.of(context).isYourUbicationEnabled),
));
} else if (e.code == 'PERMISSION_DENIED_NEVER_ASK') {}
ScaffoldMessenger.of(scaffoldKey.currentContext).showSnackBar(new SnackBar(
content:
new Text(S.of(scaffoldKey.currentContext).isYourUbicationEnabled),
));
}
return YourLocation.noLocation;
}
}