Files
workavia-mail-front/lib/main/main_entry.dart
T
2026-04-09 18:26:19 +07:00

38 lines
1.2 KiB
Dart

import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/utils/build_utils.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/widgets.dart';
import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart';
import 'package:tmail_ui_user/main.dart';
import 'package:tmail_ui_user/main/bindings/main_bindings.dart';
import 'package:tmail_ui_user/main/utils/asset_preloader.dart';
import 'package:tmail_ui_user/main/utils/cozy_integration.dart';
import 'package:url_strategy/url_strategy.dart';
import 'package:worker_manager/worker_manager.dart';
Future<void> runTmail() async {
await runTmailPreload();
runApp(const TMailApp());
}
Future<void> runTmailPreload() async {
ThemeUtils.setSystemLightUIStyle();
await Future.wait([
MainBindings().dependencies(),
HiveCacheConfig.instance.setUp(),
if (PlatformInfo.isWeb) AssetPreloader.preloadHtmlEditorAssets(),
], eagerError: false);
if (PlatformInfo.isMobile) {
await workerManager.init(dynamicSpawning: true);
workerManager.log = BuildUtils.isDebugMode;
}
await CozyIntegration.integrateCozy();
await HiveCacheConfig.instance.initializeEncryptionKey();
if (PlatformInfo.isWeb) {
setPathUrlStrategy();
}
}