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(), ), ); }