- Add Flutter app shell (FixMateApp/MainScreen) with tabs: Report, Map, My Reports, Settings - Implement capture and review flow (image_picker, geolocator, deterministic mock AI), and local storage (SharedPreferences + photo files on mobile) - Build Map screen with flutter_map, marker clustering, filters, legend, marker details, and external maps deeplink - Add My Reports list (view details, cycle status, delete) and Settings (language toggle via Provider, diagnostics, clear all data) - Introduce JSON i18n loader and LocaleProvider; add EN/BM assets - Define models (Report, enums) and UI badges (severity, status) - Add static React dashboard (Leaflet map with clustering, heatmap toggle, filters incl. date range, queue, detail drawer), i18n (EN/BM), and demo data - Update build/config and platform setup: - Extend pubspec with required packages and register i18n assets - Android: add CAMERA and location permissions; pin NDK version - iOS: add usage descriptions for camera, photo library, location - Gradle properties tuned for Windows/UNC stability - Register desktop plugins (Linux/macOS/Windows) - .gitignore: ignore .kilocode - Overhaul README and replace sample widget test
25 lines
566 B
Dart
25 lines
566 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'app.dart';
|
|
import 'l10n/i18n.dart';
|
|
import 'l10n/locale_provider.dart';
|
|
export 'app.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// Initialize locale provider
|
|
final localeProvider = LocaleProvider();
|
|
await localeProvider.init();
|
|
|
|
// Initialize i18n with the current locale
|
|
await I18n.init(localeProvider.locale);
|
|
|
|
runApp(
|
|
ChangeNotifierProvider.value(
|
|
value: localeProvider,
|
|
child: const FixMateApp(),
|
|
),
|
|
);
|
|
}
|