The-Agency/lib/main.dart

53 lines
1.5 KiB
Dart

import "package:flutter/material.dart";
import "package:provider/provider.dart";
import "src/local_state.dart";
import "src/project_store.dart";
import "ui/app.dart";
import "ui/providers/chat_provider.dart";
import "ui/providers/cost_provider.dart";
import "ui/providers/home_coordinator.dart";
import "ui/providers/projects_provider.dart";
import "ui/providers/session_provider.dart";
import "ui/providers/settings_provider.dart";
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final settingsStore = await SettingsStore.load();
final projectStore = await ProjectStore.load();
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(
create: (_) => SettingsProvider(settingsStore),
),
ChangeNotifierProvider(
create: (_) => ProjectsProvider(projectStore),
),
ChangeNotifierProvider(
create: (_) => CostProvider(),
),
ChangeNotifierProvider(
create: (_) => SessionProvider(projectStore),
),
ChangeNotifierProvider(
create: (context) => ChatProvider(
context.read<SettingsProvider>(),
context.read<CostProvider>(),
),
),
ChangeNotifierProvider(
create: (context) => HomeCoordinator(
context.read<ProjectsProvider>(),
context.read<SessionProvider>(),
context.read<ChatProvider>(),
context.read<SettingsProvider>(),
),
),
],
child: const ClawdApp(),
),
);
}