Remove the external comunes-flutter library dependency and replace all its components with local implementations: - Utility functions: Created lib/utils/widget_utils.dart with compactWidgets() and ellipse() functions, replacing the comunes-flutter helpers with modern Dart null-safety patterns (whereType instead of where(notNull)) - Secret loader: Inlined as lib/utils/secret_loader.dart for loading JSON config - Layout widgets: Replaced CenteredRow/CenteredColumn with standard Row/Column with MainAxisAlignment.center - Intro screens: Copied AppIntroPage and MaterialAppWithIntro locally in lib/widgets/ with cleaned-up deprecated code patterns - Button widget: Created lib/widgets/rounded_btn.dart for the RoundedBtn used in activeFires.dart Changes span 20 files: - 5 new utility/widget files created - Updated imports in 15 files - Removed path dependency from pubspec.yaml - All functionality preserved, build verified with flutter pub get Impact: - Removes external dependency, simplifying project structure - Modern Dart patterns (proper null-safety) - Better code clarity with explicit widget properties - Easier onboarding (no 'what is comunes-flutter?' questions)
28 lines
949 B
Dart
28 lines
949 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'generated/i18n.dart';
|
|
import 'homePage.dart';
|
|
import 'widgets/app_intro_page.dart';
|
|
|
|
class IntroPage extends AppIntroPage {
|
|
IntroPage({super.key})
|
|
: super(
|
|
items: _fireItems,
|
|
onIntroFinish: (BuildContext context) =>
|
|
Navigator.pushNamed(context, HomePage.routeName));
|
|
static String routeName = '/intro';
|
|
|
|
static List<AppIntroItem> _fireItems(BuildContext context) => <AppIntroItem>[
|
|
AppIntroItem(
|
|
icon: Icons.location_on, title: S.of(context).chooseAPlace),
|
|
AppIntroItem(
|
|
icon: Icons.panorama_fish_eye,
|
|
title: S.of(context).chooseAWatchRadio),
|
|
AppIntroItem(
|
|
icon: Icons.whatshot,
|
|
title: S.of(context).getAlertsOfFiresinThatArea),
|
|
AppIntroItem(
|
|
icon: Icons.notifications_active,
|
|
title: S.of(context).alertWhenThereIsAFire)
|
|
];
|
|
}
|