mirror of
https://github.com/marcominerva/SqlDatabaseVectorSearch.git
synced 2026-06-20 12:23:10 +00:00
Enhance UI and improve code documentation
Updated button styles in Documents.razor for better appearance and usability. Improved the document table layout for responsiveness, integrating checkboxes into rows. Corrected comments in VectorSearchService.cs for clarity. Added new styles for content-type badges in app.css.
This commit is contained in:
@@ -41,7 +41,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-2 col-sm-3 col-2">
|
<div class="col-md-2 col-sm-3 col-2">
|
||||||
<div class="d-grid gap-2">
|
<div class="d-grid gap-2">
|
||||||
<Button @ref="uploadButton" Type="ButtonType.Submit" Color="ButtonColor.Primary" To="#" Disabled="@(Model.File is null)"><Icon Name="IconName.Upload" /><span class="d-none d-lg-inline ps-3">Upload</span></Button>
|
<Button @ref="uploadButton" Type="ButtonType.Submit" Color="ButtonColor.Primary" To="#" Disabled="@(Model.File is null)" Class="w-100 py-2 fw-semibold shadow-sm"><Icon Name="IconName.Upload" /><span class="d-none d-lg-inline ps-3">Upload</span></Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -60,40 +60,46 @@ else
|
|||||||
Available documents
|
Available documents
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<table class="table table-bordered table-striped table-hover">
|
<div class="table-responsive">
|
||||||
<thead>
|
<table class="table table-hover align-middle mb-0 border rounded overflow-hidden">
|
||||||
|
<thead class="table-light sticky-top">
|
||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th style="width:40px;"></th>
|
||||||
<th>ID</th>
|
<th class="text-secondary">ID</th>
|
||||||
<th>Name</th>
|
<th class="text-secondary">Name</th>
|
||||||
<th>Content type</th>
|
<th class="text-secondary">Content type</th>
|
||||||
<th>Number of chunks</th>
|
<th class="text-secondary text-center">Chunks</th>
|
||||||
<th>Creation date</th>
|
<th class="text-secondary">Created</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach (var document in documents)
|
@foreach (var document in documents)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr class="@((document.IsSelected ? "table-primary" : null))">
|
||||||
<td>
|
<td>
|
||||||
<div class="d-flex justify-content-center align-items-center">
|
<div class="d-flex justify-content-center align-items-center">
|
||||||
<CheckboxInput @bind-Value="document.IsSelected" />
|
<CheckboxInput @bind-Value="document.IsSelected" />
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>@document.Id</td>
|
<td class="text-break small">@document.Id</td>
|
||||||
<td>@document.Name</td>
|
<td class="fw-medium">@document.Name</td>
|
||||||
<td>@document.ContentType</td>
|
<td>
|
||||||
<td>@document.ChunkCount</td>
|
<span class="badge content-type-badge px-2 py-1 rounded-pill small">
|
||||||
<td>@document.LocalCreationDateString</td>
|
@document.ContentType
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
<td class="text-center">@document.ChunkCount</td>
|
||||||
|
<td class="small text-secondary">@document.LocalCreationDateString</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="my-4"></div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-2 col-sm-3 col-2">
|
<div class="col-md-2 col-sm-3 col-2">
|
||||||
<div class="d-grid gap-2">
|
<div class="d-grid gap-2">
|
||||||
<Button @ref="deleteButton" Color="ButtonColor.Danger" Disabled="@(!documents.Any(d => d.IsSelected))" @onclick="DeleteSelectedDocuments">
|
<Button @ref="deleteButton" Color="ButtonColor.Danger" Disabled="@(!documents.Any(d => d.IsSelected))" @onclick="DeleteSelectedDocuments" Class="w-100 py-2 fw-semibold shadow-sm">
|
||||||
<Icon Name="IconName.Trash" /><span class="d-none d-lg-inline ps-3">Delete</span>
|
<Icon Name="IconName.Trash" /><span class="d-none d-lg-inline ps-3">Delete</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public partial class VectorSearchService(IServiceProvider serviceProvider, Appli
|
|||||||
|
|
||||||
var (fullAnswer, tokenUsage) = await chatService.AskQuestionAsync(question.ConversationId, chunks, reformulatedQuestion.Text!, cancellationToken);
|
var (fullAnswer, tokenUsage) = await chatService.AskQuestionAsync(question.ConversationId, chunks, reformulatedQuestion.Text!, cancellationToken);
|
||||||
|
|
||||||
// Extract citations from the answer
|
// Extract citations from the answer.
|
||||||
var (answer, citations) = ExtractCitations(fullAnswer);
|
var (answer, citations) = ExtractCitations(fullAnswer);
|
||||||
|
|
||||||
return new(question.Text, reformulatedQuestion.Text!, answer, StreamState.End, new(reformulatedQuestion.TokenUsage, embeddingTokenCount, tokenUsage), citations);
|
return new(question.Text, reformulatedQuestion.Text!, answer, StreamState.End, new(reformulatedQuestion.TokenUsage, embeddingTokenCount, tokenUsage), citations);
|
||||||
|
|||||||
@@ -63,6 +63,12 @@ h1:focus {
|
|||||||
content: "An error has occurred."
|
content: "An error has occurred."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content-type-badge {
|
||||||
|
background-color: #e5e7eb !important;
|
||||||
|
color: #495057 !important;
|
||||||
|
border: 1px solid #d1d5db !important;
|
||||||
|
}
|
||||||
|
|
||||||
.citation-box {
|
.citation-box {
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|||||||
Reference in New Issue
Block a user