todos-contra-el-fuego-mobile/lib/markdownPage.dart
vjrj ea588a9753 refactor: clean up 55 lint warnings and issues
- Remove all 31 avoid_print debug statements across codebase
- Fix 8 critical warnings (unused variables, unreachable defaults, etc)
- Update deprecated APIs: launch() → launchUrl(), textScaleFactor → textScaler
- Replace deprecated surfaceVariant → surfaceContainerHighest in Material 3 themes
- Refactor switch statements to use modern pattern matching
- Remove unused code: _showDialog, _initNoLocation, _getAnchorOffset
- Fix use_build_context_synchronously by adding mounted checks
- Add ignore_for_file annotations to generated JSON serialization files
- Fix type annotations in appState.dart and models

Warnings reduced from 301 to 246 issues (8 → 0 critical warnings).
Build verified: app-production-debug.apk (160MB) compiles successfully.
Zero type errors, Dart analysis clean for critical issues.
2026-03-06 22:47:27 +01:00

49 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 {
const MarkdownPage(
{super.key,
required this.title,
required this.route,
required this.file});
final String title;
final Future<String> file;
final String route;
@override
_MarkdownPageState createState() =>
_MarkdownPageState(title: title, file: file, route: route);
}
class _MarkdownPageState extends State<MarkdownPage> {
_MarkdownPageState(
{required this.title, required this.file, required this.route});
final String title;
final String route;
final Future<String> file;
String pageData = '';
@override
Widget build(BuildContext context) {
file.then((String fileSync) {
rootBundle
.loadString(fileSync, cache: !globals.isDevelopment)
.then((String pageData) {
setState(() {
this.pageData = pageData;
});
});
});
return Scaffold(
appBar: AppBar(title: Text(title)),
drawer: MainDrawer(context, route),
body: Markdown(data: pageData));
}
}