Next refactors
Some checks failed
Build Linux App / build (push) Failing after 1m18s

This commit is contained in:
Kazimierz Ciołek
2026-02-24 02:19:28 +01:00
parent 0c9eb8878d
commit 9dcc4b87de
40 changed files with 3515 additions and 2575 deletions

View File

@@ -4,10 +4,8 @@ import 'package:media_kit/media_kit.dart';
import 'package:window_manager/window_manager.dart';
import 'package:trainhub_flutter/core/router/app_router.dart';
import 'package:trainhub_flutter/core/theme/app_theme.dart';
import 'package:trainhub_flutter/domain/services/ai_process_manager.dart';
import 'package:trainhub_flutter/data/services/ai_process_manager.dart';
import 'package:trainhub_flutter/injection.dart' as di;
import 'package:trainhub_flutter/presentation/settings/ai_model_settings_controller.dart';
import 'package:trainhub_flutter/presentation/settings/ai_model_settings_state.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@@ -44,14 +42,10 @@ class TrainHubApp extends ConsumerStatefulWidget {
ConsumerState<TrainHubApp> createState() => _TrainHubAppState();
}
class _TrainHubAppState extends ConsumerState<TrainHubApp>
with WindowListener {
class _TrainHubAppState extends ConsumerState<TrainHubApp> with WindowListener {
// Create the router once and reuse it across rebuilds.
final _appRouter = AppRouter();
// Guard flag so we never start the servers more than once per app session.
bool _serversStarted = false;
// -------------------------------------------------------------------------
// Lifecycle
// -------------------------------------------------------------------------
@@ -87,18 +81,6 @@ class _TrainHubAppState extends ConsumerState<TrainHubApp>
@override
Widget build(BuildContext context) {
// Watch the model-settings state and start servers exactly once, the
// first time models are confirmed to be present on disk.
ref.listen<AiModelSettingsState>(
aiModelSettingsControllerProvider,
(prev, next) {
if (!_serversStarted && next.areModelsValidated) {
_serversStarted = true;
di.getIt<AiProcessManager>().startServers();
}
},
);
return MaterialApp.router(
title: 'TrainHub',
theme: AppTheme.dark,