- 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.
47 lines
1.3 KiB
Dart
47 lines
1.3 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart' show rootBundle;
|
|
import 'package:flutter_markdown/flutter_markdown.dart';
|
|
|
|
import 'globals.dart' as globals;
|
|
import 'mainDrawer.dart';
|
|
|
|
abstract class MarkdownPage extends StatefulWidget {
|
|
final String title;
|
|
final Future<String> file;
|
|
final String route;
|
|
|
|
MarkdownPage({required this.title, required this.route, required this.file});
|
|
|
|
@override
|
|
_MarkdownPageState createState() =>
|
|
_MarkdownPageState(title: this.title, file: this.file, route: this.route);
|
|
}
|
|
|
|
class _MarkdownPageState extends State<MarkdownPage> {
|
|
final String title;
|
|
final String route;
|
|
final Future<String> file;
|
|
String pageData = "";
|
|
|
|
_MarkdownPageState(
|
|
{required this.title, required this.file, required this.route});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
this.file.then((fileSync) {
|
|
rootBundle
|
|
.loadString(fileSync, cache: !globals.isDevelopment)
|
|
.then((pageData) {
|
|
setState(() {
|
|
this.pageData = pageData;
|
|
});
|
|
});
|
|
});
|
|
return new Scaffold(
|
|
appBar: new AppBar(title: new Text(title ?? '')),
|
|
drawer: new MainDrawer(context, route),
|
|
body: new Markdown(data: pageData));
|
|
}
|
|
}
|