little_strategy/lib/main.dart

49 lines
1.5 KiB
Dart
Raw Permalink Normal View History

2024-11-18 06:44:55 +00:00
import 'package:board_game/board_game.dart';
import 'package:flutter/material.dart';
import 'package:key_value_storage/key_value_storage.dart';
import 'package:provider/provider.dart';
import 'package:user_repository/user_repository.dart';
void main() {
runApp(
MultiProvider(
providers: [
// Ton provider UserRepository
Provider(
create: (context) => LocalUserRepository(
keyValueStorage: KeyValueStorage(),
),
),
// Providers pour la gestion de l'état
ChangeNotifierProvider(create: (context) => CellListProvider()),
ChangeNotifierProvider(create: (context) => ArticleListProvider()),
ChangeNotifierProvider(create: (context) => SettingsProvider()),
ChangeNotifierProvider(
create: (context) =>
UserProvider(context.read<LocalUserRepository>()),
),
],
child: const MainApp(), // Maintenant MainApp a accès aux providers
),
);
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: context.watch<SettingsProvider>().state.theme,
title: 'Little Strategy Game',
routes: {
'/': (context) => const LoginScreen(),
'/lobby': (context) => const Lobby(),
'/settings': (context) => const Settings(),
'/blog': (context) => const Blog(),
},
);
}
}