Added lawin warning

This commit is contained in:
Alessandro Autiero
2022-09-22 22:50:43 +02:00
parent 2355b5eecd
commit 1a0fbbdf30
10 changed files with 44 additions and 58 deletions

View File

@@ -25,8 +25,8 @@ class ServerController extends GetxController {
embedded = RxBool(storage.read("embedded") ?? true);
embedded.listen((value) => storage.write("embedded", value));
warning = RxBool(storage.read("warning") ?? true);
warning.listen((value) => storage.write("warning", value));
warning = RxBool(storage.read("lawin_value") ?? true);
warning.listen((value) => storage.write("lawin_value", value));
started = RxBool(false);
isLawinPortFree()

View File

@@ -8,8 +8,8 @@ import 'package:reboot_launcher/src/widget/window_buttons.dart';
import 'package:reboot_launcher/src/widget/window_border.dart';
import 'package:window_manager/window_manager.dart';
import '../util/os.dart';
import '../util/reboot.dart';
import 'package:reboot_launcher/src/util/os.dart';
import 'package:reboot_launcher/src/util/reboot.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@@ -90,7 +90,7 @@ class _HomePageState extends State<HomePage> with WindowListener {
List<Widget> _createPages(bool data) {
return [
data ? const LauncherPage() : _createDownloadWarning(),
const ServerPage(),
ServerPage(),
const InfoPage()
];
}

View File

@@ -31,7 +31,7 @@ class InfoPage extends StatelessWidget {
),
const Expanded(
child: Align(
alignment: Alignment.bottomLeft, child: Text("Version 3.4${kDebugMode ? '-DEBUG' : ''}")))
alignment: Alignment.bottomLeft, child: Text("Version 3.5${kDebugMode ? '-DEBUG' : ''}")))
],
);
}

View File

@@ -16,7 +16,7 @@ class LauncherPage extends StatelessWidget {
children: [
UsernameBox(),
VersionSelector(),
DeploymentSelector(enabled: false),
DeploymentSelector(enabled: true),
const LaunchButton()
],
);

View File

@@ -1,68 +1,33 @@
import 'package:fluent_ui/fluent_ui.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:reboot_launcher/src/controller/server_controller.dart';
import 'package:reboot_launcher/src/widget/lawin_warning.dart';
import 'package:reboot_launcher/src/widget/local_server_switch.dart';
import 'package:reboot_launcher/src/widget/port_input.dart';
import 'package:reboot_launcher/src/widget/host_input.dart';
import 'package:reboot_launcher/src/widget/server_button.dart';
import '../controller/server_controller.dart';
class ServerPage extends StatefulWidget {
const ServerPage({Key? key}) : super(key: key);
@override
State<ServerPage> createState() => _ServerPageState();
}
class _ServerPageState extends State<ServerPage> {
class ServerPage extends StatelessWidget {
final ServerController _serverController = Get.find<ServerController>();
@override
void initState() {
if (_serverController.warning.value) {
WidgetsBinding.instance.addPostFrameCallback((_) async {
await _showAdvancedUserWarning();
_serverController.warning.value = false;
});
}
super.initState();
}
Future<void> _showAdvancedUserWarning() async {
await showDialog(
context: context,
builder: (context) => ContentDialog(
content: const SizedBox(
width: double.infinity,
child: Text("This section is reserved for advanced users",
textAlign: TextAlign.center),
),
actions: [
SizedBox(
width: double.infinity,
child: FilledButton(
onPressed: () => Navigator.of(context).pop(),
child: const Text('I understand'),
),
)
],
)
);
}
ServerPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
return Obx(() => Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if(_serverController.warning.value)
LawinWarning(
onPressed: () => _serverController.warning.value = false
),
HostInput(),
PortInput(),
LocalServerSwitch(),
ServerButton()
]);
]
));
}
}

View File

@@ -13,7 +13,7 @@ import 'package:reboot_launcher/src/widget/select_file.dart';
import 'package:reboot_launcher/src/widget/version_name_input.dart';
import 'package:reboot_launcher/src/model/fortnite_version.dart';
import '../model/fortnite_build.dart';
import 'package:reboot_launcher/src/model/fortnite_build.dart';
import 'build_selector.dart';
class AddServerVersion extends StatefulWidget {

View File

@@ -0,0 +1,19 @@
import 'package:fluent_ui/fluent_ui.dart';
class LawinWarning extends StatelessWidget {
final VoidCallback onPressed;
const LawinWarning({Key? key, required this.onPressed}) : super(key: key);
@override
Widget build(BuildContext context) {
return InfoBar(
title: const Text(
"The lawin server handles authentication and parties, not game hosting"),
action: IconButton(
icon: const Icon(FluentIcons.accept),
onPressed: onPressed
)
);
}
}

View File

@@ -2,7 +2,7 @@ import 'package:bitsdojo_window/bitsdojo_window.dart';
import 'package:flutter/material.dart';
import 'package:system_theme/system_theme.dart';
import '../util/os.dart';
import 'package:reboot_launcher/src/util/os.dart';
class WindowBorder extends StatelessWidget {
const WindowBorder({Key? key}) : super(key: key);