47 lines
1.3 KiB
Dart
47 lines
1.3 KiB
Dart
// main.dart
|
|
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:moonwell_launcher/app/mw_app.dart';
|
|
import 'package:moonwell_launcher/features/launcher/data/launcher_update_service.dart';
|
|
import 'package:moonwell_launcher/service_container.dart';
|
|
import 'package:package_info_plus/package_info_plus.dart';
|
|
import 'package:window_manager/window_manager.dart';
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await windowManager.ensureInitialized();
|
|
|
|
await configureDependencies(env: 'flutter');
|
|
final launcherUpdateService = getIt<LauncherUpdateService>();
|
|
final launcherVersion = await _readLauncherVersion();
|
|
|
|
const windowOptions = WindowOptions(
|
|
size: Size(1280, 720),
|
|
minimumSize: Size(1280, 720),
|
|
center: true,
|
|
backgroundColor: Colors.transparent,
|
|
skipTaskbar: false,
|
|
titleBarStyle: TitleBarStyle.hidden,
|
|
);
|
|
|
|
unawaited(
|
|
windowManager.waitUntilReadyToShow(windowOptions, () async {
|
|
await windowManager.show();
|
|
await windowManager.focus();
|
|
await launcherUpdateService.checkForUpdates();
|
|
}),
|
|
);
|
|
|
|
runApp(MoonWellApp(launcherVersion: launcherVersion));
|
|
}
|
|
|
|
Future<String> _readLauncherVersion() async {
|
|
try {
|
|
final packageInfo = await PackageInfo.fromPlatform();
|
|
return packageInfo.version;
|
|
} catch (_) {
|
|
return 'dev';
|
|
}
|
|
}
|