diff --git a/BTCPayServer/Controllers/ServerController.cs b/BTCPayServer/Controllers/ServerController.cs index bb93984c8..81ee31899 100644 --- a/BTCPayServer/Controllers/ServerController.cs +++ b/BTCPayServer/Controllers/ServerController.cs @@ -979,13 +979,21 @@ namespace BTCPayServer.Controllers var data = await _SettingsRepository.GetSettingAsync() ?? new ThemeSettings(); return View(data); } - + [Route("server/theme")] [HttpPost] public async Task Theme(ThemeSettings settings) { - await _SettingsRepository.UpdateSetting(settings); - TempData[WellKnownTempData.SuccessMessage] = "Theme settings updated successfully"; + if (settings.CustomTheme && !Uri.IsWellFormedUriString(settings.CssUri, UriKind.RelativeOrAbsolute)) + { + TempData[WellKnownTempData.ErrorMessage] = "Please provide a non-empty theme URI"; + } + else + { + await _SettingsRepository.UpdateSetting(settings); + TempData[WellKnownTempData.SuccessMessage] = "Theme settings updated successfully"; + } + return View(settings); }