Files
TafsirQuran/src/TafsirQuran.UI/Pages/BookmarksPage.razor
T
admin 7f06856f45
build-and-deploy / deploy (push) Successful in 10m50s
Initial TafsirQuran app with Gitea CI/CD deploy to k3s.
Blazor UI + ASP.NET API + Postgres; push to main builds images and rolls out namespace tafsirquran.
2026-10-09 21:50:37 +03:30

46 lines
1.2 KiB
Plaintext

@page "/bookmarks"
@inject TafsirApiClient Api
@inject IDeviceIdStore DeviceStore
<section class="list-page">
<h1>نشان‌شده‌ها</h1>
@if (loading)
{
<p class="muted">در حال بارگذاری...</p>
}
else if (items.Count == 0)
{
<p class="muted">هنوز نشانی ذخیره نشده است.</p>
}
else
{
<ul class="simple-list">
@foreach (var item in items)
{
<li>
<a href="/tafsir/ghatreh-chekani">@item.Episode.Title</a>
<span class="ep-meta">@item.Episode.SurahNameFa — آیه @item.Episode.AyahNumber</span>
</li>
}
</ul>
}
</section>
@code {
private List<BookmarkDto> items = [];
private bool loading = true;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (!firstRender) return;
var deviceId = await DeviceStore.GetOrCreateAsync();
try { items = (await Api.GetBookmarksAsync(deviceId)).ToList(); }
catch { items = []; }
finally
{
loading = false;
await InvokeAsync(StateHasChanged);
}
}
}