From e65652e4dcd10640f052d35320abb77687c003de Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Wed, 5 Aug 2026 16:55:42 +0330 Subject: [PATCH] mprove UI/UX of the User Area #496 --- .../Areas/User/Pages/AwaitingComments.cshtml | 198 +++-------- GanjooRazor/Areas/User/Pages/FAQItems.cshtml | 152 ++++---- .../Areas/User/Pages/FinalizeImages.cshtml | 75 ++-- .../Areas/User/Pages/ReportedComments.cshtml | 119 +++---- .../Areas/User/Pages/ReviewSongs.cshtml | 333 +++++++----------- .../User/Pages/SuggestedPoetPhotos.cshtml | 127 +++---- .../User/Pages/SuggestedPoetSpecLines.cshtml | 100 ++---- 7 files changed, 415 insertions(+), 689 deletions(-) diff --git a/GanjooRazor/Areas/User/Pages/AwaitingComments.cshtml b/GanjooRazor/Areas/User/Pages/AwaitingComments.cshtml index 3435c7e3..6012b289 100644 --- a/GanjooRazor/Areas/User/Pages/AwaitingComments.cshtml +++ b/GanjooRazor/Areas/User/Pages/AwaitingComments.cshtml @@ -1,201 +1,119 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.AwaitingCommentsModel @using DNTPersianUtils.Core @{ Layout = "_UserPanelLayout"; ViewData["Title"] = "حاشیه‌های در انتظار تأیید"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); - string color = "gray"; } - -

@ViewData["Title"]

+
+

@ViewData["Title"]

+
@if (Model.LastError != "") { -

@Model.LastError

+
@Model.LastError
} else { -

- @foreach (var paginationLink in Model.PaginationLinks) - { - if (!string.IsNullOrEmpty(paginationLink.Url)) - { - @paginationLink.Name - } - else - { - @paginationLink.Name - } - } -

- - + + دستهٔ جدید + -

پرسش‌های دستهٔ جاری

-

- پرسش جدید -

-
+
+

پرسش‌های دستهٔ جاری

+
+ + +
@if (Model.CategoryItems != null) { @foreach (var item in Model.CategoryItems) { -

@item.Question

- +
+ @item.Question +
+ +
+
} }
- - } diff --git a/GanjooRazor/Areas/User/Pages/FinalizeImages.cshtml b/GanjooRazor/Areas/User/Pages/FinalizeImages.cshtml index 61ea460b..d0763da1 100644 --- a/GanjooRazor/Areas/User/Pages/FinalizeImages.cshtml +++ b/GanjooRazor/Areas/User/Pages/FinalizeImages.cshtml @@ -1,4 +1,4 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.FinalizeImagesModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ @@ -6,50 +6,49 @@ ViewData["Title"] = "نهایی‌سازی تصاویر پیشنهادی"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); } -

@ViewData["Title"]

+
+

@ViewData["Title"]

+
@if (Model.LastError != "") { -

@Model.LastError

+
@Model.LastError
} - - -@if (Model.MainImage != null) +@if (Model.MainImage == null) { - - - - - - - - - - - - - - - -
- @Model.MainImage.GanjoorTitle -
- - + +} +else +{ +
+

@Model.MainImage.GanjoorTitle

+ +
+
+

تصویر پیشنهادی

+ +
@if (Model.PreviouslyLinkedImage != null) { - +
+

تصویر فعلی

+ +
} -
-
- + + + + +
+ - - -
- تعداد کل: - - @Model.TotalCount -
-} \ No newline at end of file +
+
+ +
+ + +

تعداد کل: @Model.TotalCount

+ +} diff --git a/GanjooRazor/Areas/User/Pages/ReportedComments.cshtml b/GanjooRazor/Areas/User/Pages/ReportedComments.cshtml index 86f8e465..20542854 100644 --- a/GanjooRazor/Areas/User/Pages/ReportedComments.cshtml +++ b/GanjooRazor/Areas/User/Pages/ReportedComments.cshtml @@ -1,112 +1,83 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.ReportedCommentsModel @using DNTPersianUtils.Core @{ Layout = "_UserPanelLayout"; ViewData["Title"] = "حاشیه‌های گزارش شده"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); - string color = "gray"; } -

@ViewData["Title"]

+
+

@ViewData["Title"]

+
@if (Model.LastError != "") { -

@Model.LastError

+
@Model.LastError
} else { - -

- @foreach (var paginationLink in Model.PaginationLinks) - { - if (!string.IsNullOrEmpty(paginationLink.Url)) - { - @paginationLink.Name - } - else - { - @paginationLink.Name - } - } -

+ - @foreach (var report in Model.Reports) + @if (Model.Reports.Count == 0) { - if (color == "gray") - color = "lightsteelblue"; - else - color = "gray"; - -
-

- @report.ReasonCode -

-
-

- @report.ReasonText -

-
-
- @Html.Raw(report.Comment.HtmlComment) -

- @report.Comment.AuthorName در @report.Comment.CommentDate.ToFriendlyPersianDateTextify() دربارهٔ @report.Comment.Poem.Title -

-
- ✓ درست می‌گوید -     - گزارش نابجا ❌ -
- - -
+ + } + else + { +
+ @foreach (var report in Model.Reports) + { +
+ @report.ReasonCode +

@report.ReasonText

+
+ @Html.Raw(report.Comment.HtmlComment) +
+ @report.Comment.AuthorName در @report.Comment.CommentDate.ToFriendlyPersianDateTextify() دربارهٔ @report.Comment.Poem.Title +
+
+ +
+ } +
} -

- @foreach (var paginationLink in Model.PaginationLinks) - { - if (!string.IsNullOrEmpty(paginationLink.Url)) - { - @paginationLink.Name - } - else - { - @paginationLink.Name - } - } -

-} \ No newline at end of file + +} diff --git a/GanjooRazor/Areas/User/Pages/ReviewSongs.cshtml b/GanjooRazor/Areas/User/Pages/ReviewSongs.cshtml index b15f201a..b991dde6 100644 --- a/GanjooRazor/Areas/User/Pages/ReviewSongs.cshtml +++ b/GanjooRazor/Areas/User/Pages/ReviewSongs.cshtml @@ -1,4 +1,4 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.ReviewSongsModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @using DNTPersianUtils.Core @@ -7,266 +7,187 @@ ViewData["Title"] = "آهنگ‌های پیشنهادی"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); } -

@ViewData["Title"]

+
+

@ViewData["Title"]

+
@if (Model.LastError != "") { -

@Model.LastError

+
@Model.LastError
} else if (@Model.PoemMusicTrackViewModel == null) { -

پیشنهادی وجود ندارد.

+ } else if (@Model.Poem == null) { -

شعر مرتبط یافت نشد!

+
شعر مرتبط یافت نشد!
} else { - - - -
- - - - - - - - - + + + +
+ + +
+ @if (Model.UserSongSuggestionsHistory != null && (Model.UserSongSuggestionsHistory.Approved + Model.UserSongSuggestionsHistory.Rejected) > 0) { - - - - +
+ @if (Model.UserSongSuggestionsHistory.Approved > 0) + { + @Model.UserSongSuggestionsHistory.Approved.ToPersianNumbers() پیشنهاد تأیید شده + } + @if (Model.UserSongSuggestionsHistory.Rejected > 0) + { + @Model.UserSongSuggestionsHistory.Rejected.ToPersianNumbers() پیشنهاد رد شده + } +
} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- شعر: - +
+ +
+ +
- پیشنهاد دهنده: - - @Model.PoemMusicTrackViewModel.SuggestedByNickName -
- @if (Model.UserSongSuggestionsHistory.Approved > 0) - { - @Model.UserSongSuggestionsHistory.Approved.ToPersianNumbers() پیشنهاد تأیید شده - } - - - @if (Model.UserSongSuggestionsHistory.Rejected > 0) - { - @Model.UserSongSuggestionsHistory.Rejected.ToPersianNumbers() پیشنهاد رد شده - } -
- @{ - switch (Model.PoemMusicTrackViewModel.TrackType) - { - case RMuseum.Models.Ganjoor.PoemMusicTrackType.Spotify: - اسپاتیفای - break; - case RMuseum.Models.Ganjoor.PoemMusicTrackType.Golha: - گلها - break; - default: - بیپ‌تونز - break; - } +
+ @{ + switch (Model.PoemMusicTrackViewModel.TrackType) + { + case RMuseum.Models.Ganjoor.PoemMusicTrackType.Spotify: + اسپاتیفای + break; + case RMuseum.Models.Ganjoor.PoemMusicTrackType.Golha: + گلها + break; + default: + بیپ‌تونز + break; } -
- خواننده: - -
-
- نشانی خواننده: - - -
- -
- آلبوم: - -
-
- نشانی آلبوم: - - -
- آهنگ: - - -
- نشانی آهنگ: - - -
- توضیح: - -
-
- - - - @if (Model.EditMode) - { - - + } + - +
+ + +
+ - } - else - { - - +
+ + +
+ - - - - - - - - - - - - } -
- -
- -
- -
- - -
-
- -
+
+ + +
+ -
- تعداد کل: - - @Model.TotalCount -
+
+ + +
-
+
+ + @if (Model.EditMode) + { + + } + else + { + + + + } +
+ @if (!Model.EditMode) + { +
+ +
+ + +
+
+ } +

تعداد کل: @Model.TotalCount

+ + } @if (ViewData.ContainsKey("ganjoor-songrevu")) { - اضافه کردن آهنگ از منبع دلخواه + } -

بازسازی صفحات نمایهٔ موسیقی

- -

حذف کش صفحات نمایهٔ موسیقی

- - - + diff --git a/GanjooRazor/Areas/User/Pages/SuggestedPoetPhotos.cshtml b/GanjooRazor/Areas/User/Pages/SuggestedPoetPhotos.cshtml index 30090f4e..ceaeb42c 100644 --- a/GanjooRazor/Areas/User/Pages/SuggestedPoetPhotos.cshtml +++ b/GanjooRazor/Areas/User/Pages/SuggestedPoetPhotos.cshtml @@ -1,4 +1,4 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.SuggestedPoetPhotosModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ @@ -6,106 +6,61 @@ ViewData["Title"] = "تصاویر پیشنهادی برای تصاویر سخنوران"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); } - -

@ViewData["Title"]

+
+

@ViewData["Title"]

+
@if (Model.LastError != "") { -

@Model.LastError

+
@Model.LastError
} else { -
- - - - - - - - - + + - - - +
+ + +
- - - - + - - - - - - - - - - - - +
+ + +
- - - - +
+ + +
+
+ + +
-
- سخنور: - +
+ +
+ +
- پیشنهاد دهنده: - - @Model.Suggestion.SuggestedById -
- -
- عنوان: - - -
- توضیحات: - - -
- ترتیب: - - -
- - - - - - - - - - - - -
- علت رد: - -
- -
- -
+
+ + +
-
- تعداد کل: - - @Model.TotalCount -
- -
+
+ + + +
+

تعداد کل: @Model.TotalCount

+ + } diff --git a/GanjooRazor/Areas/User/Pages/SuggestedPoetSpecLines.cshtml b/GanjooRazor/Areas/User/Pages/SuggestedPoetSpecLines.cshtml index 6f90aea2..ce5ba0fa 100644 --- a/GanjooRazor/Areas/User/Pages/SuggestedPoetSpecLines.cshtml +++ b/GanjooRazor/Areas/User/Pages/SuggestedPoetSpecLines.cshtml @@ -1,4 +1,4 @@ -@page +@page @model GanjooRazor.Areas.User.Pages.SuggestedPoetSpecLinesModel @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers @{ @@ -6,84 +6,50 @@ ViewData["Title"] = "نکات پیشنهادی برای تصاویر سخنوران"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); } - -

@ViewData["Title"]

+
+

@ViewData["Title"]

+
@if (Model.LastError != "") { -

@Model.LastError

+
@Model.LastError
} else { -
- - - - - - - - - + + - - - - - - - - +
+ + +
- - - - +
+ + +
+
+ + + +
-
- سخنور: - +
+ +
+ +
- پیشنهاد دهنده: - - @Model.Suggestion.SuggestedById -
- نکته: - - -
- - - - - - - - - - - - -
- علت رد: - -
- -
- -
+
+ + +
-
- تعداد کل: - - @Model.TotalCount -
- -
- -} \ No newline at end of file +

تعداد کل: @Model.TotalCount

+ + +}