@using NexusReader.UI.Shared.Services @using NexusReader.Application.Abstractions.Services @inject IFocusModeService FocusMode @inject IIdentityService IdentityService @inject NavigationManager NavigationManager @inject IThemeService ThemeService @inject IKnowledgeService KnowledgeService @implements IDisposable @code { protected override void OnInitialized() { FocusMode.OnFocusModeChanged += HandleUpdate; ThemeService.OnThemeChanged += HandleThemeChangedAsync; } private async Task HandleClearCache() { Console.WriteLine("[IntelligenceToolbar] Requesting cache clear..."); var result = await KnowledgeService.ClearCacheAsync(); if (result.IsSuccess) { Console.WriteLine("[IntelligenceToolbar] Cache cleared successfully!"); } } private Task HandleUpdate() => InvokeAsync(StateHasChanged); private async Task HandleThemeChangedAsync() => await InvokeAsync(StateHasChanged); public void Dispose() { FocusMode.OnFocusModeChanged -= HandleUpdate; ThemeService.OnThemeChanged -= HandleThemeChangedAsync; } }