misc site settings UX fixes

This commit is contained in:
Shaun Walker
2021-06-04 08:42:33 -04:00
parent ab3af5f294
commit 69c948ad79
2 changed files with 19 additions and 8 deletions

View File

@ -112,7 +112,7 @@
<td> <td>
<select id="defaultAdminContainer" class="form-control" @bind="@_admincontainertype"> <select id="defaultAdminContainer" class="form-control" @bind="@_admincontainertype">
<option value="-">&lt;@Localizer["Select Container"]&gt;</option> <option value="-">&lt;@Localizer["Select Container"]&gt;</option>
<option value="">&lt;@Localizer["Default Admin Container"]&gt;</option> <option value="@Constants.DefaultAdminContainer">&lt;@Localizer["Default Admin Container"]&gt;</option>
@foreach (var container in _containers) @foreach (var container in _containers)
{ {
<option value="@container.TypeName">@container.Name</option> <option value="@container.TypeName">@container.Name</option>
@ -279,6 +279,7 @@
{ {
_urls += alias.Name + ","; _urls += alias.Name + ",";
} }
_urls = _urls.Substring(0, _urls.Length - 1);
if (site.LogoFileId != null) if (site.LogoFileId != null)
{ {
_logofileid = site.LogoFileId.Value; _logofileid = site.LogoFileId.Value;
@ -290,10 +291,10 @@
} }
_themes = ThemeService.GetThemeControls(_themeList); _themes = ThemeService.GetThemeControls(_themeList);
_themetype = site.DefaultThemeType; _themetype = (!string.IsNullOrEmpty(site.DefaultThemeType)) ? site.DefaultThemeType : Constants.DefaultTheme;
_containers = ThemeService.GetContainerControls(_themeList, _themetype); _containers = ThemeService.GetContainerControls(_themeList, _themetype);
_containertype = site.DefaultContainerType; _containertype = (!string.IsNullOrEmpty(site.DefaultContainerType)) ? site.DefaultContainerType : Constants.DefaultContainer;
_admincontainertype = site.AdminContainerType; _admincontainertype = (!string.IsNullOrEmpty(site.AdminContainerType)) ? site.AdminContainerType : Constants.DefaultAdminContainer;
_allowregistration = site.AllowRegistration.ToString(); _allowregistration = site.AllowRegistration.ToString();
var settings = await SettingService.GetSiteSettingsAsync(site.SiteId); var settings = await SettingService.GetSiteSettingsAsync(site.SiteId);
@ -358,7 +359,7 @@
_containers = new List<ThemeControl>(); _containers = new List<ThemeControl>();
} }
_containertype = "-"; _containertype = "-";
_admincontainertype = ""; _admincontainertype = Constants.DefaultAdminContainer;
StateHasChanged(); StateHasChanged();
} }
catch (Exception ex) catch (Exception ex)
@ -388,6 +389,8 @@
var site = await SiteService.GetSiteAsync(PageState.Site.SiteId); var site = await SiteService.GetSiteAsync(PageState.Site.SiteId);
if (site != null) if (site != null)
{ {
bool refresh = (site.DefaultThemeType != _themetype || site.DefaultContainerType != _containertype);
site.Name = _name; site.Name = _name;
site.LogoFileId = null; site.LogoFileId = null;
var logofileid = _logofilemanager.GetFileId(); var logofileid = _logofilemanager.GetFileId();
@ -456,7 +459,14 @@
await SettingService.UpdateSiteSettingsAsync(settings, site.SiteId); await SettingService.UpdateSiteSettingsAsync(settings, site.SiteId);
await logger.LogInformation("Site Settings Saved {Site}", site); await logger.LogInformation("Site Settings Saved {Site}", site);
AddModuleMessage(Localizer["Site Settings Saved"], MessageType.Success); if (refresh)
{
NavigationManager.NavigateTo(NavigateUrl()); // refresh to show new theme or container
}
else
{
AddModuleMessage(Localizer["Site Settings Saved"], MessageType.Success);
}
} }
} }
else else

View File

@ -551,8 +551,9 @@ namespace Oqtane.Infrastructure
TenantId = tenant.TenantId, TenantId = tenant.TenantId,
Name = install.SiteName, Name = install.SiteName,
LogoFileId = null, LogoFileId = null,
DefaultThemeType = install.DefaultTheme, DefaultThemeType = (!string.IsNullOrEmpty(install.DefaultTheme)) ? install.DefaultTheme : Constants.DefaultTheme,
DefaultContainerType = install.DefaultContainer, DefaultContainerType = (!string.IsNullOrEmpty(install.DefaultContainer)) ? install.DefaultContainer : Constants.DefaultContainer,
AdminContainerType = (!string.IsNullOrEmpty(install.DefaultAdminContainer)) ? install.DefaultAdminContainer : Constants.DefaultAdminContainer,
SiteTemplateType = install.SiteTemplate SiteTemplateType = install.SiteTemplate
}; };
site = sites.AddSite(site); site = sites.AddSite(site);