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.
This commit is contained in:
vjrj 2026-03-06 22:47:27 +01:00
parent 23838069c2
commit ea588a9753
25 changed files with 83 additions and 161 deletions

View file

@ -25,8 +25,11 @@ class _SupportPageState extends State<SupportPage> {
child: OutlinedButton.icon(
icon: const Icon(Icons.favorite_border),
label: Text(S.of(context).comunesSupportBtn),
onPressed: () {
launch('https://comunes.org/');
onPressed: () async {
final Uri url = Uri.parse('https://comunes.org/');
if (await canLaunchUrl(url)) {
await launchUrl(url);
}
},
),
);
@ -65,9 +68,12 @@ class _SupportPageState extends State<SupportPage> {
child: OutlinedButton.icon(
icon: const Icon(Icons.translate),
label: Text(S.of(context).translateBtn),
onPressed: () {
launch(
onPressed: () async {
final Uri url = Uri.parse(
'https://translate.comunes.org/projects/todos-contra-el-fuego/');
if (await canLaunchUrl(url)) {
await launchUrl(url);
}
},
),
);
@ -77,8 +83,7 @@ class _SupportPageState extends State<SupportPage> {
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar:
AppBar(title: Text(S.of(context).supportThisInitiative)),
appBar: AppBar(title: Text(S.of(context).supportThisInitiative)),
drawer: MainDrawer(context, SupportPage.routeName),
body: Padding(
padding: const EdgeInsets.all(8.0),