divan/GanjooRazor/Areas/User/Pages/Index.cshtml
2026-08-05 13:56:18 +03:30

131 lines
7.3 KiB
Plaintext

@page
@model GanjooRazor.Areas.Panel.Pages.IndexModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_UserPanelLayout";
ViewData["Title"] = "پیشخان کاربر";
await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData);
}
<div class="up-page-header">
<h1>@ViewData["Title"]</h1>
@{
var displayName = !string.IsNullOrWhiteSpace(Model.UserInfo?.NickName) ? Model.UserInfo.NickName : Model.UserInfo?.FirstName;
}
@if (!string.IsNullOrWhiteSpace(displayName))
{
<div class="up-page-subtitle">خوش آمدید، @displayName</div>
}
</div>
@if (Model.LastError != "")
{
<div class="up-alert up-alert--danger">@Model.LastError</div>
}
else
{
<div class="up-quick-links">
<a class="up-card up-quick-link" asp-area="User" asp-page="/Edits">
<strong>ویرایش‌های من</strong>
<span class="up-text-muted">پیگیری وضعیت ویرایش‌های پیشنهادی شما</span>
</a>
<a class="up-card up-quick-link" asp-area="User" asp-page="/MyComments">
<strong>حاشیه‌های من</strong>
<span class="up-text-muted">حاشیه‌هایی که نوشته‌اید</span>
</a>
<a class="up-card up-quick-link" asp-area="User" asp-page="/MyBookmarks">
<strong>نشان‌شده‌های من</strong>
<span class="up-text-muted">شعرهایی که نشان کرده‌اید</span>
</a>
<a class="up-card up-quick-link" asp-area="User" asp-page="/Notifications">
<strong>اعلان‌های من</strong>
<span class="up-text-muted">پاسخ‌ها و رویدادهای مرتبط با شما</span>
</a>
<a class="up-card up-quick-link" asp-area="User" asp-page="/History">
<strong>ادامهٔ مطالعه</strong>
<span class="up-text-muted">از جایی که مانده بودید ادامه دهید</span>
</a>
<a class="up-card up-quick-link" asp-area="User" asp-page="/MySuggestedQuotes">
<strong>مشق‌های پیشنهادی من</strong>
<span class="up-text-muted">اشعاری که به عنوان مشق پیشنهاد داده‌اید</span>
</a>
</div>
<div class="up-card">
<h2 class="up-card__title">تغییر گذرواژه</h2>
<form method="post" asp-page-handler="SetMyPass" class="up-form">
@if (!string.IsNullOrEmpty(Model.PasswordChanged))
{
<div class="up-alert up-alert--success">@Model.PasswordChanged</div>
}
<div class="up-field">
<label asp-for="ChangePasswordModel.OldPassword">گذرواژهٔ کنونی</label>
<input type="password" asp-for="ChangePasswordModel.OldPassword" />
</div>
<div class="up-field">
<label asp-for="ChangePasswordModel.NewPassword">گذرواژهٔ جدید</label>
<input type="password" asp-for="ChangePasswordModel.NewPassword" />
</div>
<div class="up-field">
<label asp-for="ChangePasswordModel.NewPasswordRepeat">تکرار گذرواژهٔ جدید</label>
<input type="password" asp-for="ChangePasswordModel.NewPasswordRepeat" />
</div>
<div class="up-form-actions">
<button type="submit" name="approve" id="approve" class="up-btn up-btn--success">تغییر گذرواژه</button>
</div>
</form>
</div>
<div class="up-card">
<h2 class="up-card__title">مشخصات من</h2>
<form method="post" asp-page-handler="SetMyInfo" class="up-form">
<div class="up-field up-field--ltr">
<label>پست الکترونیکی</label>
<div class="up-field-static">@Model.UserInfo.Email</div>
</div>
<div class="up-field">
<label asp-for="UserInfo.FirstName">نام</label>
<input asp-for="UserInfo.FirstName" />
</div>
<div class="up-field">
<label asp-for="UserInfo.SurName">نام خانوادگی</label>
<input asp-for="UserInfo.SurName" />
</div>
<div class="up-field">
<label asp-for="UserInfo.NickName">نام مستعار</label>
<input asp-for="UserInfo.NickName" />
<span class="up-hint">نمایش در حاشیه‌ها؛ لطفاً از درج عناوین شغلی در نام مستعار خودداری کنید.</span>
</div>
<div class="up-field up-field--ltr">
<label>
وبگاه
@if (!string.IsNullOrWhiteSpace(Model.UserInfo.Website))
{
<a target="_blank" href="@Html.Raw(Model.UserInfo.Website)">(مشاهده)</a>
}
</label>
<input asp-for="UserInfo.Website" />
</div>
<div class="up-field">
<label asp-for="UserInfo.Bio">دربارهٔ من</label>
<textarea asp-for="UserInfo.Bio" class="editor"></textarea>
<span class="up-hint"><strong>تذکر مهم:</strong> استفاده از این متن برای مخابرهٔ پیام‌های نامناسب (توهین، فحاشی و ...) منجر به حذف حساب کاربر بدون اخطار قبلی خواهد شد.</span>
<span class="up-hint">در صورتی که از این متن، وبگاه و از نام مستعار برای تبلیغ کسب و کار غیرادبی خود استفاده کنید به گونه‌ای که نمایهٔ شما به نمایه‌ای تبلیغاتی شباهت پیدا کند حساب کاربری شما بدون اخطار قبلی حذف خواهد شد.</span>
<span class="up-hint up-hint--danger"><strong>لطفاً از درج تلفن و اطلاعات خصوصی در نام و مشخصات یا متن دربارهٔ من خودداری کنید.</strong> انتشار اطلاعات شخصی به صورت عمومی ممکن است باعث سوء استفادهٔ کلاهبرداران بشود لذا از انتشار چنین اطلاعاتی خودداری فرمایید.</span>
</div>
<input type="hidden" asp-for="UserInfo.Id" />
<input type="hidden" asp-for="UserInfo.Email" />
<input type="hidden" asp-for="UserInfo.Username" />
<input type="hidden" asp-for="UserInfo.Password" />
<input type="hidden" asp-for="UserInfo.PhoneNumber" />
<input type="hidden" asp-for="UserInfo.Status" />
<input type="hidden" asp-for="UserInfo.RImageId" />
<div class="up-form-actions">
<button type="submit" name="approve" id="approveProfile" class="up-btn up-btn--success">ذخیره</button>
<a href="/hashieha/?userid=@Model.UserInfo.Id" target="_blank" class="up-btn up-btn--ghost">نمایهٔ عمومی من</a>
<a role="button" class="up-btn up-btn--danger" href="/User/DeleteAccount">حذف حساب کاربری</a>
</div>
</form>
</div>
}