@using EnvelopeGenerator.Server.Client.Services
@inherits LayoutComponentBase
@implements IDisposable
@inject ThemeService ThemeService
@code {
[Inject] IHttpClientFactory HttpClientFactory { get; set; } = default!;
private Action? _themeChangeHandler;
protected override async Task OnInitializedAsync()
{
await FontLoader.LoadFonts(HttpClientFactory, ["opensans.ttf"]);
_themeChangeHandler = () => InvokeAsync(StateHasChanged);
ThemeService.OnChange += _themeChangeHandler;
await base.OnInitializedAsync();
}
public void Dispose()
=> ThemeService.OnChange -= _themeChangeHandler;
}