diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor index 0943a512..5c53f36f 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor @@ -547,11 +547,14 @@ if (PageState.Runtime == Shared.Runtime.Hybrid) { - // hybrid apps utilize an interactive logout - await UserService.LogoutUserAsync(PageState.User); - var authstateprovider = (IdentityAuthenticationStateProvider)ServiceProvider.GetService(typeof(IdentityAuthenticationStateProvider)); - authstateprovider.NotifyAuthenticationChanged(); - NavigationManager.NavigateTo(url, true); + if (PageState.User != null) + { + // hybrid apps utilize an interactive logout + await UserService.LogoutUserAsync(PageState.User); + var authstateprovider = (IdentityAuthenticationStateProvider)ServiceProvider.GetService(typeof(IdentityAuthenticationStateProvider)); + authstateprovider.NotifyAuthenticationChanged(); + NavigationManager.NavigateTo(url, true); + } } else { @@ -564,8 +567,8 @@ private void LoadSettingsAsync() { - _category = SettingService.GetSetting(PageState.User.Settings, settingCategory, "Common"); - var pane = SettingService.GetSetting(PageState.User.Settings, settingPane, ""); + _category = SettingService.GetSetting(PageState.User?.Settings, settingCategory, "Common"); + var pane = SettingService.GetSetting(PageState.User?.Settings, settingPane, ""); if (PageState.Page.Panes.Contains(pane)) { _pane = pane; @@ -585,10 +588,13 @@ private async Task UpdateSettingsAsync() { - Dictionary settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); - settings = SettingService.SetSetting(settings, settingCategory, _category); - settings = SettingService.SetSetting(settings, settingPane, _pane); - await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId); + if (PageState.User != null) + { + Dictionary settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); + settings = SettingService.SetSetting(settings, settingCategory, _category); + settings = SettingService.SetSetting(settings, settingPane, _pane); + await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId); + } } private void ClearMessage()