29 lines
1,017 B
Dart
29 lines
1,017 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'app/app.dart';
|
|
import 'core/api/api_client.dart';
|
|
import 'core/constants.dart';
|
|
import 'core/database/app_database.dart';
|
|
import 'features/map/providers/map_style_provider.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// Create a single database instance shared across the app.
|
|
final db = AppDatabase();
|
|
final savedUrl = await db.getSetting(AppConstants.settingBackendUrl);
|
|
final backendUrl = savedUrl ?? AppConstants.defaultBackendUrl;
|
|
final savedMartinUrl = await db.getSetting(AppConstants.settingMartinUrl);
|
|
final martinUrl = savedMartinUrl ?? AppConstants.defaultMartinUrl;
|
|
|
|
runApp(
|
|
ProviderScope(
|
|
overrides: [
|
|
appDatabaseProvider.overrideWithValue(db),
|
|
apiClientProvider.overrideWithValue(ApiClient(baseUrl: backendUrl)),
|
|
martinUrlProvider.overrideWithValue(martinUrl),
|
|
],
|
|
child: const PrivacyMapsApp(),
|
|
),
|
|
);
|
|
}
|