mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-14 11:39:17 +01:00
Switched to getx for state management
Fixed last remaining bug
This commit is contained in:
@@ -1,69 +1,33 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:reboot_launcher/src/util/game_process_controller.dart';
|
||||
import 'package:reboot_launcher/src/util/generic_controller.dart';
|
||||
import 'package:reboot_launcher/src/util/version_controller.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:reboot_launcher/src/controller/game_controller.dart';
|
||||
import 'package:reboot_launcher/src/widget/deployment_selector.dart';
|
||||
import 'package:reboot_launcher/src/widget/launch_button.dart';
|
||||
import 'package:reboot_launcher/src/widget/restart_warning.dart';
|
||||
import 'package:reboot_launcher/src/widget/username_box.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import '../widget/version_selector.dart';
|
||||
import 'package:reboot_launcher/src/widget/version_selector.dart';
|
||||
|
||||
import 'package:reboot_launcher/src/controller/warning_controller.dart';
|
||||
|
||||
class LauncherPage extends StatelessWidget {
|
||||
final TextEditingController usernameController;
|
||||
final VersionController versionController;
|
||||
final GenericController<bool> rebootController;
|
||||
final GenericController<Process?> serverController;
|
||||
final GenericController<bool> localController;
|
||||
final GameProcessController gameProcessController;
|
||||
final GenericController<bool> startedGameController;
|
||||
final GenericController<bool> startedServerController;
|
||||
final StreamController _streamController = StreamController();
|
||||
final WarningController _warningController = Get.put(WarningController());
|
||||
final GameController _gameController = Get.put(GameController());
|
||||
|
||||
LauncherPage(
|
||||
{Key? key,
|
||||
required this.usernameController,
|
||||
required this.versionController,
|
||||
required this.rebootController,
|
||||
required this.serverController,
|
||||
required this.localController,
|
||||
required this.gameProcessController,
|
||||
required this.startedGameController,
|
||||
required this.startedServerController})
|
||||
: super(key: key);
|
||||
LauncherPage({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
StreamBuilder(
|
||||
stream: _streamController.stream,
|
||||
builder: (context, snapshot) => UsernameBox(
|
||||
controller: usernameController,
|
||||
rebootController: rebootController)),
|
||||
VersionSelector(
|
||||
controller: versionController,
|
||||
),
|
||||
DeploymentSelector(
|
||||
controller: rebootController,
|
||||
onSelected: () => _streamController.add(null),
|
||||
enabled: true
|
||||
),
|
||||
LaunchButton(
|
||||
usernameController: usernameController,
|
||||
versionController: versionController,
|
||||
rebootController: rebootController,
|
||||
serverController: serverController,
|
||||
localController: localController,
|
||||
gameProcessController: gameProcessController,
|
||||
startedGameController: startedGameController,
|
||||
startedServerController: startedServerController)
|
||||
],
|
||||
);
|
||||
return Obx(() => Column(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
if (_warningController.warning.value) const RestartWarning(),
|
||||
UsernameBox(),
|
||||
VersionSelector(),
|
||||
DeploymentSelector(enabled: true),
|
||||
const LaunchButton()
|
||||
],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user