Files
Nexus.Reader/src/NexusReader.UI.Shared/Components/Molecules/IntelligenceToolbar.razor
T
mjasin 06f8c823a6 feat(ui/graph): optimize graph dynamics, immersive reader, and code blocks
- Fix #16: Implement D3.js transitions and active state badges for Knowledge Graph.
- Fix #12: Implement Immersive Reader Layout with Merriweather typography.
- Fix #20: Professional code block styling with high contrast and monospace fonts.
- Resolve DI runtime error in WASM by adding dummy services.
- Replace generic 'Not Found' message with Nexus preloader.
- Enforce 'no async void' architecture across UI services.
2026-05-08 20:13:39 +02:00

66 lines
2.1 KiB
Plaintext

@using NexusReader.UI.Shared.Services
@using NexusReader.Application.Abstractions.Services
@inject IFocusModeService FocusMode
@inject IKnowledgeService KnowledgeService
<aside class="intelligence-toolbar">
<div class="toolbar-top">
<button class="toolbar-item" title="Back">
<NexusIcon Name="play" Size="20" Class="rotate-180" />
</button>
<button class="toolbar-item active" title="Chat">
<NexusIcon Name="message-square" Size="20" />
</button>
</div>
<div class="toolbar-middle">
<button class="toolbar-item" title="Settings">
<NexusIcon Name="settings" Size="20" />
</button>
<button class="toolbar-item" title="Bookmarks">
<NexusIcon Name="bookmark" Size="20" />
</button>
<button class="toolbar-item" title="Search">
<NexusIcon Name="search" Size="20" />
</button>
<button class="toolbar-item danger" @onclick="HandleClearCache" title="Clear AI Cache">
<NexusIcon Name="trash" Size="20" />
</button>
</div>
<div class="toolbar-bottom">
<button class="toolbar-item @(FocusMode.IsFocusModeActive ? "active focus-active" : "")"
@onclick="FocusMode.ToggleAsync" title="Focus Mode (F)">
<NexusIcon Name="target" Size="20" />
</button>
<button class="toolbar-item" title="Global Settings">
<NexusIcon Name="settings" Size="20" />
</button>
</div>
</aside>
@code {
protected override void OnInitialized()
{
FocusMode.OnFocusModeChanged += HandleUpdate;
}
private async Task HandleClearCache()
{
// For now, a simple console log confirm or just do it
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);
public void Dispose()
{
FocusMode.OnFocusModeChanged -= HandleUpdate;
}
}