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

@ -1,4 +1,4 @@
import 'package:badges/badges.dart';
import 'package:badges/badges.dart' as badges_pkg;
import 'package:comunes_flutter/comunes_flutter.dart';
import 'package:flutter/material.dart';
import 'package:flutter_redux/flutter_redux.dart';
@ -52,7 +52,7 @@ Widget mainDrawer(BuildContext context, String currentRoute) {
return new ListView(
// Important: Remove any padding from the ListView.
padding: EdgeInsets.zero,
children: listWithoutNulls(<Widget>[
children: (<Widget?>[
new GestureDetector(
onTap: () {
Navigator.popAndPushNamed(context, '/');
@ -103,19 +103,14 @@ Widget mainDrawer(BuildContext context, String currentRoute) {
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Badge(
position: BadgePosition(top: 0, end: 0),
padding: EdgeInsets.all(7),
badgeColor: view.unreadCount > 0
? Colors.red
: Colors.grey,
// spacing: 5.0,
// borderColor: Colors.red,
//child: Text(S.of(context).fireNotificationsTitleShort),
badges_pkg.Badge(
position: badges_pkg.BadgePosition.topEnd(
top: -10, end: -12),
badgeContent: Text(
'${view.unreadCount.toString()}',
style: TextStyle(color: Colors.white),
))
),
child: Icon(Icons.notifications))
])),
// Text(S.of(context).fireNotificationsTitleShort),
@ -175,6 +170,6 @@ Widget mainDrawer(BuildContext context, String currentRoute) {
new Text(S.of(context).NASAAck, style: bottomTextStyle),
// More ?
])
]));
]).where((w) => w != null).cast<Widget>().toList());
});
}