protected override void OnInitialized() { if (ConfigService.SelectedConfig == null) { Nav.NavigateTo("/configs"); return; } settings = ConfigService.SelectedConfig.Settings; // HACK: I tried binding directly to lists but it would spit out double the amount of values when deserializing the json // for some reason so this approach is working but it's not the best continueStatuses = settings.GeneralSettings.ContinueStatuses.ToList(); stopStatuses = RuriLibSettings.GetStatuses() .Where(s => !continueStatuses.Contains(s)).ToList(); proxyBanStatuses = settings.ProxySettings.BanProxyStatuses.ToList(); proxyContinueStatuses = RuriLibSettings.GetStatuses() .Where(s => !proxyBanStatuses.Contains(s)).ToList(); allowedProxyTypes = settings.ProxySettings.AllowedProxyTypes.ToList(); unallowedProxyTypes = Enum.GetValues(typeof(ProxyType)) .Cast <ProxyType>().Where(t => !allowedProxyTypes.Contains(t)).ToList(); allowedWordlistTypes = settings.DataSettings.AllowedWordlistTypes.ToList(); unallowedWordlistTypes = RuriLibSettings.Environment.WordlistTypes .Select(w => w.Name) .Where(w => !allowedWordlistTypes.Contains(w)).ToList(); quitBrowserStatuses = settings.BrowserSettings.QuitBrowserStatuses.ToList(); dontQuitBrowserStatuses = RuriLibSettings.GetStatuses() .Where(s => !quitBrowserStatuses.Contains(s)).ToList(); }
async Task Save() { try { await RuriLibSettings.Save(); await js.AlertSuccess(Loc["Saved"], Loc["SettingsSaved"]); } catch (Exception ex) { await js.AlertException(ex); } }