Files
pfm-ocr/lib/main.dart
T

47 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'config/app_config.dart';
import 'core/router/app_router.dart';
import 'core/storage/local_storage.dart';
// Provider for Local Storage
final localStorageProvider = Provider<LocalStorage>((ref) {
throw UnimplementedError('localStorageProvider not initialized');
});
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Resolve API Base URL (Checking Ngrok availability vs Local IP)
await AppConfig.initializeApiBaseUrl();
// Initialize Local Storage (Hive)
final localStorage = LocalStorage();
await localStorage.init();
runApp(
ProviderScope(
overrides: [
localStorageProvider.overrideWithValue(localStorage),
],
child: const MainApp(),
),
);
}
class MainApp extends ConsumerWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final router = ref.watch(appRouterProvider);
return MaterialApp.router(
title: AppConfig.appName,
theme: AppConfig.lightTheme,
routerConfig: router,
debugShowCheckedModeBanner: false,
);
}
}