mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-13 03:02:22 +01:00
85 lines
2.7 KiB
Dart
85 lines
2.7 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:bitsdojo_window/bitsdojo_window.dart';
|
|
import 'package:bitsdojo_window_windows/bitsdojo_window_windows.dart'
|
|
show WinDesktopWindow;
|
|
import 'package:fluent_ui/fluent_ui.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get_storage/get_storage.dart';
|
|
import 'package:reboot_launcher/cli.dart';
|
|
import 'package:reboot_launcher/src/controller/build_controller.dart';
|
|
import 'package:reboot_launcher/src/controller/game_controller.dart';
|
|
import 'package:reboot_launcher/src/controller/server_controller.dart';
|
|
import 'package:reboot_launcher/src/controller/settings_controller.dart';
|
|
import 'package:reboot_launcher/src/page/home_page.dart';
|
|
import 'package:reboot_launcher/src/util/binary.dart';
|
|
import 'package:reboot_launcher/src/util/os.dart';
|
|
import 'package:system_theme/system_theme.dart';
|
|
|
|
void main(List<String> args) async {
|
|
await Directory(safeBinariesDirectory)
|
|
.create(recursive: true);
|
|
if(args.isNotEmpty){
|
|
handleCLI(args);
|
|
return;
|
|
}
|
|
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await SystemTheme.accentColor.load();
|
|
await GetStorage.init("game");
|
|
await GetStorage.init("server");
|
|
await GetStorage.init("update");
|
|
await GetStorage.init("settings");
|
|
Get.put(GameController());
|
|
Get.put(ServerController());
|
|
Get.put(BuildController());
|
|
Get.put(SettingsController());
|
|
doWhenWindowReady(() {
|
|
const size = Size(600, 365);
|
|
var window = appWindow as WinDesktopWindow;
|
|
window.setWindowCutOnMaximize(appBarSize * 2);
|
|
appWindow.size = size;
|
|
appWindow.alignment = Alignment.center;
|
|
appWindow.title = "Reboot Launcher";
|
|
appWindow.show();
|
|
});
|
|
|
|
runApp(const RebootApplication());
|
|
}
|
|
|
|
class RebootApplication extends StatefulWidget {
|
|
const RebootApplication({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<RebootApplication> createState() => _RebootApplicationState();
|
|
}
|
|
|
|
class _RebootApplicationState extends State<RebootApplication> {
|
|
final SettingsController _settingsController = Get.find<SettingsController>();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final color = SystemTheme.accentColor.accent.toAccentColor();
|
|
return FluentApp(
|
|
title: "Reboot Launcher",
|
|
themeMode: ThemeMode.system,
|
|
debugShowCheckedModeBanner: false,
|
|
color: color,
|
|
darkTheme: _createTheme(Brightness.dark),
|
|
theme: _createTheme(Brightness.light),
|
|
home: const HomePage(),
|
|
);
|
|
}
|
|
|
|
ThemeData _createTheme(Brightness brightness) {
|
|
return ThemeData(
|
|
brightness: brightness,
|
|
accentColor: SystemTheme.accentColor.accent.toAccentColor(),
|
|
visualDensity: VisualDensity.standard,
|
|
focusTheme: FocusThemeData(
|
|
glowFactor: is10footScreen() ? 2.0 : 0.0,
|
|
),
|
|
);
|
|
}
|
|
}
|