AuthorBuddy/Services/ThemeService.cs
2026-05-25 06:38:16 +02:00

29 lines
780 B
C#

using Microsoft.JSInterop;
using System.Reflection.Metadata.Ecma335;
namespace AuthorBuddy.Web.Services;
public class ThemeService : IThemeService
{
private readonly IJSRuntime _js;
private string _theme = "";
public ThemeService(IJSRuntime js)
{
_js = js;
}
public string Theme { get => _theme; }
public async Task ApplyTheme(string theme)
{
_theme = theme;
await _js.InvokeVoidAsync("eval",
$"document.getElementById('theme-css')?.remove(); " +
$"var link = document.createElement('link'); " +
$"link.id = 'theme-css'; " +
$"link.rel = 'stylesheet'; " +
$"link.href = 'css/themes/{theme}.css'; " +
$"document.head.appendChild(link);");
}
}