@if (_isAuthenticated) { @@ -468,6 +492,7 @@ else private bool _showExportDialog; private string exportFileName = string.Empty; private string exportFormat = "Html"; + private long _lastThoughtScrollTicks; [Inject] private NavigationManager Navigation { get; set; } = default!; @@ -554,6 +579,16 @@ else _isLoading = false; StateHasChanged(); } + + if (OpState.IsBusy && OpState.ThoughtText.Length > 0) + { + var now = DateTime.UtcNow.Ticks; + if (now - _lastThoughtScrollTicks > TimeSpan.TicksPerMillisecond * 80) + { + _lastThoughtScrollTicks = now; + await JS.InvokeVoidAsync("eval", "var el=document.querySelector('.llm-thoughts'); if(el){el.scrollTop=el.scrollHeight;}"); + } + } } public void Dispose() @@ -570,6 +605,9 @@ else { await LoadProjects(); await LoadProjectContext(); + + // Save current page to localStorage + await JS.InvokeVoidAsync("localStorage.setItem", "last_visited_page", Navigation.Uri); } StateHasChanged(); } diff --git a/Components/Pages/Chat.razor b/Components/Pages/Chat.razor index 406db46..fc62c0d 100644 --- a/Components/Pages/Chat.razor +++ b/Components/Pages/Chat.razor @@ -7,6 +7,7 @@ @inject IAuthService AuthService @inject NavigationManager Navigation @inject IJSRuntime JS +@inject IFactCheckService FactCheckService @rendermode InteractiveServer @@ -38,6 +39,12 @@ kreativ (2)