From 989defdf6295af010d256eb6ed16b248629308d3 Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Wed, 5 Aug 2026 13:56:18 +0330 Subject: [PATCH] improve UI/UX of the User Area #496 --- .../Areas/User/Pages/DeleteAccount.cshtml | 114 +++++----- GanjooRazor/Areas/User/Pages/Index.cshtml | 204 +++++++----------- GanjooRazor/wwwroot/css/user-panel.css | 92 ++++++++ 3 files changed, 214 insertions(+), 196 deletions(-) diff --git a/GanjooRazor/Areas/User/Pages/DeleteAccount.cshtml b/GanjooRazor/Areas/User/Pages/DeleteAccount.cshtml index afc2dc5c..6d384251 100644 --- a/GanjooRazor/Areas/User/Pages/DeleteAccount.cshtml +++ b/GanjooRazor/Areas/User/Pages/DeleteAccount.cshtml @@ -1,4 +1,4 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.DeleteAccountModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ @@ -6,79 +6,61 @@ ViewData["Title"] = "حذف حساب کاربری"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); } -

@ViewData["Title"]

- +
+

@ViewData["Title"]

+
@if (Model.Step1) { -
- - - - - - - - +
+

این عملیات غیرقابل بازگشت است

+
+ در صورتی که کاربری تصمیم بگیرد حساب کاربری خود را در گنجور حذف کند تمام حاشیه‌ها و خوانش‌های منتشر شده‌اش در گنجور نیز حذف خواهد شد. علاوه بر آن رکوردهای بخش‌هایی از مشارکت کاربر که در گنجور اثر غیرقابل حذف گذاشته است (مثل ویرایش متن اشعار یا پیشنهاد تصاویر مرتبط با اشعار) به حساب کاربری سیستمی گنجور منتقل می‌شود. عملیات حذف کاربر غیرقابل برگشت است و در صورتی که کاربر با ایمیلی که پیشتر در گنجور حساب کاربری داشته و آن را حذف کرده مجدداً نام‌نویسی کند هیچ‌کدام از اطلاعات پیشتر واردشده‌اش بازنخواهد گشت. +
+
+ تبصره: گنجور ممکن است فهرست کاربران بدرفتار (کاربرانی که به ارسال مداوم حاشیه‌های نامناسب یا خرابکاری در سایت می‌پردازند) را به همراه گزارشی از فعالیت‌های نامناسب آنها نگهداری کند تا برخی یا همهٔ فعالیت‌های آنها محدود شود. ایمیل کاربر در این فهرست با حذف حساب کاربری حذف نمی‌شود و در صورت ثبت‌نام مجدد این اطلاعات مجدداً مورد مراجعه قرار خواهد گرفت. +
-
- - + +

برای حذف حساب کاربری باید گذرواژهٔ خود را در کادر زیر وارد کنید. پس از ورود گذرواژه یک رمز به ایمیلتان ارسال می‌شود که با ورود رمز دریافتی حساب کاربریتان حذف خواهد شد.

- - - +
+ + +
-
-

- برای حذف حساب کاربری باید گذرواژهٔ خود را در کادر زیر وارد کنید. -

-

- پس از ورود گذرواژه یک رمز به ایمیلتان ارسال می‌شود که با ورود رمز دریافتی حساب کاربریتان حذف خواهد شد. -

-
- گذرواژه: - - -
- -
-

- در صورتی که کاربری تصمیم بگیرد حساب کاربری خود را در گنجور حذف کند تمام حاشیه‌ها و خوانش‌های منتشر شده‌اش در گنجور نیز حذف خواهد شد. علاوه بر آن رکوردهای بخشهایی از مشارکت کاربر که در گنجور اثر غیر قابل حذف گذاشته است (مثل ویرایش متن اشعار یا پیشنهاد تصاویر مرتبط با اشعار) به حساب کاربری سیستمی گنجور منتقل می‌شود. عملیات حذف کاربر غیرقابل برگشت است و در صورتی که کاربر با ایمیلی که پیشتر در گنجور حساب کاربری داشته و آن را حذف کرده مجدداً نام‌نویسی کند هیچکدام از اطلاعات پیشتر وارد شده‌اش بر نخواهد گشت. -

-

- تبصره: گنجور ممکن است فهرست کاربران بدرفتار (کاربرانی که به ارسال مداوم حاشیه‌های نامناسب یا خرابکاری در سایت می‌پردازند) را به همراه گزارشی از فعالیتهای نامناسب آنها نگهداری کند تا برخی یا همهٔ فعالیتهای آنها محدود شود. ایمیل کاربر در این فهرست با حذف حساب کاربری حذف نمی‌شود و در صورت ثبت‌نام مجدد این اطلاعات مجدداً مورد مراجعه قرار خواهد گرفت. -

-
-

@Model.FatalError

-
+ @if (!string.IsNullOrEmpty(Model.FatalError)) + { +
@Model.FatalError
+ } + +
+ +
+ + } else { -
- - - - +
+

تأیید نهایی

+

لطفاً پست الکترونیکی خود را بررسی کنید. در صورتی که نشانی پست الکترونیکی خود را درست وارد کرده باشید نامه‌ای از گنجور دریافت کرده‌اید که حاوی یک رمز است. رمز دریافتی را در کادر زیر وارد کرده و روی دکمهٔ «حذف نهایی حساب کاربری» کلیک کنید.

+

تذکر: ممکن است نامه به پوشهٔ اسپم منتقل شده باشد.

-
- - - - - - -
-

لطفا پست الکترونیکی خود را بررسی کنید. در صورتی که نشانی پست الکترونیکی خود را درست وارد کرده باشید نامه‌ای از گنجور دریافت کرده‌اید که حاوی یک رمز است.

-

رمز دریافتی را در کادر زیر وارد کرده، روی دکمهٔ «ادامه» کلیک کنید

-

تذکر: ممکن است نامه به پوشه اسپم منتقل شده باشد

-
- رمز دریافتی: - - -
-

@Model.FatalError

-
+
+
+ + +
+ + @if (!string.IsNullOrEmpty(Model.FatalError)) + { +
@Model.FatalError
+ } + +
+ +
+
+ } - - diff --git a/GanjooRazor/Areas/User/Pages/Index.cshtml b/GanjooRazor/Areas/User/Pages/Index.cshtml index 6fb1fec4..7aad3f0d 100644 --- a/GanjooRazor/Areas/User/Pages/Index.cshtml +++ b/GanjooRazor/Areas/User/Pages/Index.cshtml @@ -1,4 +1,4 @@ -@page +@page @model GanjooRazor.Areas.Panel.Pages.IndexModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ @@ -50,137 +50,81 @@ else
-
- - - - - - - - - - - - - - - - - - - - - - -
-

تغییر گذرواژه

-
- گذرواژهٔ کنونی: - -
-
- گذرواژهٔ جدید: - -
-
- تکرار گذرواژهٔ جدید: - -
-
- @Model.PasswordChanged - - -
-
+

تغییر گذرواژه

+
+ @if (!string.IsNullOrEmpty(Model.PasswordChanged)) + { +
@Model.PasswordChanged
+ } +
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

مشخصات من

+ +
+ +
@Model.UserInfo.Email
+
+
+ + +
+
+ + +
+
+ + + نمایش در حاشیه‌ها؛ لطفاً از درج عناوین شغلی در نام مستعار خودداری کنید. +
+
+ + +
+
+ + + تذکر مهم: استفاده از این متن برای مخابرهٔ پیام‌های نامناسب (توهین، فحاشی و ...) منجر به حذف حساب کاربر بدون اخطار قبلی خواهد شد. + در صورتی که از این متن، وبگاه و از نام مستعار برای تبلیغ کسب و کار غیرادبی خود استفاده کنید به گونه‌ای که نمایهٔ شما به نمایه‌ای تبلیغاتی شباهت پیدا کند حساب کاربری شما بدون اخطار قبلی حذف خواهد شد. + لطفاً از درج تلفن و اطلاعات خصوصی در نام و مشخصات یا متن دربارهٔ من خودداری کنید. انتشار اطلاعات شخصی به صورت عمومی ممکن است باعث سوء استفادهٔ کلاهبرداران بشود لذا از انتشار چنین اطلاعاتی خودداری فرمایید. +
- - - + + + + + + + -
-

مشخصات من

-
- پست الکترونیکی: - - @Model.UserInfo.Email -
- نام: - -
-
- نام خانوادگی: - -
-
- نام مستعار (نمایش در حاشیه‌ها، لطفاً از درج عناوین شغلی در نام مستعار خودداری کنید): - -
-
- وبگاه: - - -
- دربارهٔ من: - - - تذکر مهم: استفاده از این متن برای مخابرهٔ پیام‌های نامناسب (توهین، فحاشی و ...) منجر به حذف حساب کاربر بدون اخطار قبلی خواهد شد. -
- در صورتی که از این متن، وبگاه و از نام مستعار برای تبلیغ کسب و کار غیرادبی خود استفاده کنید به گونه‌ای که نمایهٔ شما به نمایه‌ای تبلیغاتی شباهت پیدا کند حساب کاربری شما بدون اخطار قبلی حذف خواهد شد. - لطفاً از درج تلفن و اطلاعات خصوصی در نام و مشخصات یا متن دربارهٔ من خودداری کنید. انتشار اطلاعات شخصی به صورت عمومی ممکن است باعث سوء استفادهٔ کلاهبرداران بشود لذا از انتشار چنین اطلاعاتی خودداری فرمایید. -
- - - - - - - - - -
- نمایهٔ عمومی من -
- حذف حساب کاربری -
-
+ +
-} \ No newline at end of file +} diff --git a/GanjooRazor/wwwroot/css/user-panel.css b/GanjooRazor/wwwroot/css/user-panel.css index 87ea19f9..83d941d0 100644 --- a/GanjooRazor/wwwroot/css/user-panel.css +++ b/GanjooRazor/wwwroot/css/user-panel.css @@ -475,6 +475,98 @@ body.up-modal-open { .up-text-muted { color: var(--up-text-muted); } .up-text-center { text-align: center; } +/* ---------- forms ---------- */ + +.up-form { + display: flex; + flex-direction: column; + gap: var(--up-space-3); +} + +.up-field { + display: flex; + flex-direction: column; + gap: var(--up-space-1); +} + +.up-field > label { + font-size: 0.85rem; + color: var(--up-text-muted); +} + +.up-field input[type="text"], +.up-field input[type="password"], +.up-field input[type="email"], +.up-field input:not([type]), +.up-field textarea { + width: 100%; + padding: 9px 12px; + border: 1px solid var(--up-border); + border-radius: var(--up-radius-sm); + background: var(--up-surface); + color: var(--up-text); + font-family: var(--up-font); + font-size: 0.9rem; +} + +.up-field textarea { + min-height: 120px; + resize: vertical; +} + +.up-field input:focus, +.up-field textarea:focus { + outline: none; + border-color: var(--up-primary); + box-shadow: 0 0 0 3px rgba(51, 0, 0, 0.12); +} + +@media (prefers-color-scheme: dark) { + .up-field input:focus, + .up-field textarea:focus { + box-shadow: 0 0 0 3px rgba(165, 74, 74, 0.25); + } +} + +.up-field--ltr input, +.up-field--ltr .up-field-static { + direction: ltr; + text-align: left; +} + +.up-field-static { + padding: 9px 0; + color: var(--up-text-muted); + font-size: 0.9rem; +} + +.up-hint { + font-size: 0.78rem; + color: var(--up-text-muted); + line-height: 1.6; +} + +.up-hint--danger { + color: var(--up-danger-dark); +} + +.up-form-actions { + display: flex; + gap: var(--up-space-2); + flex-wrap: wrap; +} + +/* ---------- danger zone (destructive account actions) ---------- */ + +.up-danger-zone { + border-color: var(--up-danger-dark); +} + +.up-danger-zone .up-card__title { + color: var(--up-danger-dark); + border-bottom-color: var(--up-danger-dark); +} + /* ---------- navbar dropdowns ---------- */ /* Bootstrap 4's default (non-RTL) build anchors dropdown-menu to the left and left-aligns text, which reads wrong on this RTL page. */