divan/DivanRazor/Pages/PersonWindow.cshtml
Anas Rashid e3e3819c78 Urdu public pages, batch 2 (#2): auth, errors, map, FAQ, similar poems, people pages, page titles
- translate remaining public views and page-model strings (titles, messages, relation names)
- Urdu stopword list for word-frequency stats (replaces Persian list)
- error pages: drop list of alternative Ganjoor services

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 00:22:09 +02:00

149 lines
6.0 KiB
Plaintext

@page "{id:int}"
@model DivanRazor.Pages.PersonWindowModel
@using DNTPersianUtils.Core
@{
Layout = null;
}
@if (!string.IsNullOrEmpty(Model.LastError))
{
<p>@Model.LastError</p>
}
else
{
<div class="up-modal-person">
<h2>
@Model.Person.Name
@if (Model.LoggedIn)
{
<a href="/User/SuggestPersonEdit?id=@Model.Person.Id" class="up-icon-btn" title="اس شخصیت میں ترمیم تجویز کریں" aria-label="اس شخصیت میں ترمیم تجویز کریں">✎</a>
}
</h2>
@if (!string.IsNullOrEmpty(Model.Person.FamilyTreeCaption))
{
<p><strong>شجرہ: @Model.Person.FamilyTreeCaption</strong></p>
}
@if (Model.Person.BirthYearInLHijri != 0 || Model.Person.DeathYearInLHijri != 0)
{
<p>
@if (Model.Person.BirthYearInLHijri != 0)
{
<text>ولادت: @Model.Person.BirthYearInLHijri.ToPersianNumbers() (ہجری) @(Model.Person.ValidBirthDate ? "" : "- تخمینی")</text>
}
@if (Model.Person.DeathYearInLHijri != 0)
{
<text> — وفات: @Model.Person.DeathYearInLHijri.ToPersianNumbers() (ہجری) @(Model.Person.ValidDeathDate ? "" : "- تخمینی")</text>
}
</p>
}
@if (!string.IsNullOrEmpty(Model.Person.Description))
{
<p>@Model.Person.Description</p>
}
@if (!string.IsNullOrEmpty(Model.Person.WikiUrl))
{
<p><a href="@Model.Person.WikiUrl" target="_blank" rel="noopener">ویکیپیڈیا صفحہ</a></p>
}
@if (Model.RelationRows.Count > 0)
{
<h3>
رشتہ دار
<a href="javascript:void(0)" onclick="FamilyTreeWindow.open(@Model.Person.Id)" class="up-btn up-btn--ghost up-btn--sm">شجرے کا خاکہ دکھائیں</a>
@if (Model.LoggedIn)
{
<a href="/User/SuggestNewPersonRelation?personId=@Model.Person.Id" class="up-btn up-btn--ghost up-btn--sm">نیا رشتہ دار شامل کریں</a>
}
</h3>
<ul>
@foreach (var row in Model.RelationRows)
{
<li>
@row.Label — <a href="javascript:void(0)" onclick="PersonWindow.open(@row.OtherPersonId)">@row.OtherPersonName</a>
@if (!string.IsNullOrEmpty(row.Note))
{
<text> (@row.Note)</text>
}
@if (Model.LoggedIn)
{
<a href="/User/SuggestPersonRelationEdit?relationId=@row.RelationId" class="up-icon-btn" title="ترمیم تجویز کریں/یہ رشتہ ہٹائیں" aria-label="ترمیم تجویز کریں/یہ رشتہ ہٹائیں">✎</a>
}
</li>
}
</ul>
}
else if (Model.LoggedIn)
{
<h3>
رشتہ دار
<a href="/User/SuggestNewPersonRelation?personId=@Model.Person.Id" class="up-btn up-btn--ghost up-btn--sm">نیا رشتہ دار شامل کریں</a>
</h3>
}
@if (Model.AffiliationRows.Count > 0)
{
<h3>
غیر خاندانی وابستگیاں
@if (Model.LoggedIn)
{
<a href="/User/SuggestNewPersonRelation?personId=@Model.Person.Id" class="up-btn up-btn--ghost up-btn--sm">نئی وابستگی شامل کریں</a>
}
</h3>
<ul>
@foreach (var row in Model.AffiliationRows)
{
<li>
@row.SentenceBeforeOtherName<a href="javascript:void(0)" onclick="PersonWindow.open(@row.OtherPersonId)">@row.OtherPersonName</a>@row.SentenceAfterOtherName
@if (!string.IsNullOrEmpty(row.Note))
{
<text> (@row.Note)</text>
}
@if (Model.LoggedIn)
{
<a href="/User/SuggestPersonRelationEdit?affiliationId=@row.AffiliationId" class="up-icon-btn" title="ترمیم تجویز کریں/یہ وابستگی ہٹائیں" aria-label="ترمیم تجویز کریں/یہ وابستگی ہٹائیں">✎</a>
}
</li>
}
</ul>
}
else if (Model.LoggedIn)
{
<h3>
غیر خاندانی وابستگیاں
<a href="/User/SuggestNewPersonRelation?personId=@Model.Person.Id" class="up-btn up-btn--ghost up-btn--sm">نئی وابستگی شامل کریں</a>
</h3>
}
@if (Model.Poems != null && Model.Poems.Length > 0)
{
<h3>اس شخصیت سے نشان زدہ اشعار</h3>
<ul>
@foreach (var tag in Model.Poems)
{
if (tag.Poem != null)
{
<li>
<a href="@tag.Poem.FullUrl">@tag.Poem.FullTitle</a>
@if (!string.IsNullOrEmpty(tag.CoupletText))
{
<p>@tag.CoupletText</p>
}
@if (!string.IsNullOrEmpty(tag.Note))
{
<p class="up-hint"><small>نوٹ: @tag.Note</small></p>
}
</li>
}
}
</ul>
}
else
{
<p><small>ابھی کسی شعر میں اس شخصیت کی نشاندہی نہیں ہوئی.</small></p>
}
</div>
}