Files
WatchIt/WatchIt.Website/WatchIt.Website/Components/SearchPage/SearchResultComponent.razor

82 lines
3.0 KiB
Plaintext
Raw Normal View History

@using Microsoft.IdentityModel.Tokens
2024-09-28 02:36:53 +02:00
@typeparam TItem
@typeparam TQuery where TQuery : WatchIt.Common.Query.QueryParameters
<div class="rounded-3 panel panel-regular p-4">
2024-09-29 13:20:30 +02:00
<div class="container-grid">
<div class="row mb-4">
<div class="col">
<h4 class="m-0"><strong>@(Title)</strong></h4>
</div>
</div>
@if (_loaded)
{
if (!_items.IsNullOrEmpty())
{
for (int i = 0; i < _items.Count; i++)
{
if (i > 0)
{
<div class="row">
<div class="col">
<hr/>
</div>
</div>
}
<div class="row">
<div class="col">
2024-09-28 02:36:53 +02:00
<a class="text-reset text-decoration-none" href="@(string.Format(UrlIdTemplate, IdSource(_items[i])))">
<ListItemComponent Id="@(IdSource(_items[i]))"
Name="@(NameSource(_items[i]))"
AdditionalNameInfo="@(AdditionalNameInfoSource(_items[i]))"
2024-09-29 23:00:32 +02:00
Rating="@(RatingSource(_items[i]))"
PictureDownloadingTask="@(PictureDownloadingTask)"/>
2024-09-28 02:36:53 +02:00
</a>
</div>
</div>
}
if (!_allItemsLoaded)
{
<div class="row mt-3">
<div class="col">
<div class="d-flex justify-content-center">
<button class="btn btn-secondary" @onclick="DownloadItems">
@if (!_itemsLoading)
{
2024-09-29 13:20:30 +02:00
<span>Load more</span>
2024-09-28 02:36:53 +02:00
}
else
{
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
2024-10-01 01:12:47 +02:00
<span>Loading...</span>
2024-09-28 02:36:53 +02:00
}
</button>
</div>
</div>
</div>
}
}
else
{
<div class="row">
<div class="col">
<div class="d-flex justify-content-center">
No items found
</div>
</div>
</div>
}
}
else
{
<div class="row">
<div class="col">
<LoadingComponent Color="light"/>
</div>
</div>
}
</div>
</div>