@page "/editor"
@page "/editor/{action}"
@page "/editor/{action}/{projectId:int}"
@using System.Threading
@inject IOllamaService OllamaService
@inject IProjectService ProjectService
@inject IRagService RagService
@inject ISettingsService SettingsService
@inject IWikipediaService WikipediaService
@inject NavigationManager Navigation
@inject ILocalizationService Loc
@inject IAuthService AuthService
@inject OllamaSettings OllamaSettings
@inject OperationState OpState
@inject IJSRuntime JS
@implements IDisposable
@rendermode InteractiveServer
@attribute [Authorize]
@Loc["page.title.editor"]
@if (showVersionDialog)
{
@Loc["editor.version.title"]
}
@if (showSpellDiff && !string.IsNullOrEmpty(correctedText))
{
@Loc["editor.spellcheck.heading"]
}
else if (showVersionDiff && _selectedVersion != null)
{
@Loc["editor.version.diff_title"] @_selectedVersion.Timestamp:dd.MM.yyyy HH:mm
@if (!string.IsNullOrEmpty(_selectedVersion.Comment))
{
@Loc["editor.version.label.comment"]: @_selectedVersion.Comment
}
}
else if (showVersionBrowser)
{
@Loc["editor.version.list_title"]
@if (_versionList == null || _versionList.Count == 0)
{
@Loc["editor.version.empty"]
}
else
{
@foreach (var v in _versionList)
{
@v.Timestamp.ToString("dd.MM.yyyy HH:mm")
@if (!string.IsNullOrEmpty(v.Comment))
{
}
}
}
}
else if (ragResults != null && ragResults.Count > 0)
{
@Loc["editor.rag.heading"]
@foreach (var r in ragResults)
{
@Loc["editor.rag.label.similarity"] @r.Similarity.ToString("P1")
@r.FilePath
@r.Text
}
}
else if (wikipediaResults != null && wikipediaResults.Count > 0)
{
@Loc["editor.wikipedia.heading"]
@foreach (var r in wikipediaResults)
{
@(r.Language == "de" ? "🇩🇪" : "🇬🇧") @r.Language.ToUpper()
@r.Snippet
@if (!string.IsNullOrEmpty(r.Extract))
{
}
}
}
else if (!string.IsNullOrEmpty(analysisResult) && !showVersionBrowser)
{
@Loc["editor.result.heading"]
@analysisResult
}
@if (showCreateDialog)
{