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)
29 lines
805 B
Dart
29 lines
805 B
Dart
import 'package:redux/src/store.dart';
|
|
import 'package:sentry_flutter/sentry_flutter.dart';
|
|
|
|
import 'globals.dart' as globals;
|
|
import 'mainCommon.dart';
|
|
import 'models/appState.dart';
|
|
import 'utils/secret_loader.dart';
|
|
|
|
Future<void> main() async {
|
|
globals.isDevelopment = false;
|
|
|
|
// Load secrets to get Sentry DSN
|
|
final Map<String, dynamic> secrets = await loadSecrets();
|
|
|
|
await SentryFlutter.init(
|
|
(SentryFlutterOptions options) {
|
|
options.dsn = secrets['sentryDSN'] as String?;
|
|
},
|
|
appRunner: () => mainCommon(<Middleware<AppState>>[]),
|
|
);
|
|
}
|
|
|
|
Future<Map<String, dynamic>> loadSecrets() async {
|
|
return SecretLoader(
|
|
secretPath: globals.isDevelopment
|
|
? 'assets/private-settings-dev.json'
|
|
: 'assets/private-settings.json')
|
|
.load();
|
|
}
|