From 4241debc3b9d9146e4b6f0b0e625a529486bd1ee Mon Sep 17 00:00:00 2001 From: Marcel Baumgartner Date: Wed, 7 Jun 2023 02:38:21 +0200 Subject: [PATCH] Improved user experience for enabling and disabling join2start --- .../Settings/Join2StartSetting.razor | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor b/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor index 54254ed4..21c0df49 100644 --- a/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor +++ b/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor @@ -5,9 +5,11 @@ @using Moonlight.App.Repositories @using Moonlight.App.Repositories.Servers @using Logging.Net +@using Moonlight.App.ApiClients.Wings @using Moonlight.App.Database.Entities @inject ServerRepository ServerRepository +@inject ServerService ServerService @inject SmartTranslateService TranslationService
@@ -28,7 +30,8 @@ OnClick="Save" Text="@(TranslationService.Translate("Change"))" WorkingText="@(TranslationService.Translate("Changing"))" - CssClasses="btn-primary"> + CssClasses="btn-primary"> + @@ -55,9 +58,23 @@ private async Task Save() { CurrentServer.Variables.First(x => x.Key == "J2S").Value = Value ? "1" : "0"; - + ServerRepository.Update(CurrentServer); - + + var details = await ServerService.GetDetails(CurrentServer); + + // For better user experience, we start the j2s server right away when the user enables j2s + if (details.State == "offline") + { + await ServerService.SetPowerState(CurrentServer, PowerSignal.Start); + } + + // For better user experience, we kill the j2s server right away when the user disables j2s and the server is starting + if (details.State == "starting") + { + await ServerService.SetPowerState(CurrentServer, PowerSignal.Kill); + } + await Loader.Reload(); } } \ No newline at end of file