Refactor commission-related pages and terminology to enhance clarity and consistency
Build and Deploy / build (push) Successful in 1m22s

- Updated CommissionDashboardPage to reflect new terminology for rewards instead of commissions.
- Removed CommissionHistoryPage as its functionality has been integrated into the dashboard.
- Adjusted WeeklyBalancePage to align with new reward terminology and improved layout.
- Modified Index, NetworkStatisticsPage, MyPackages, Packages, Profile, and Wallet pages to use consistent terms related to team and rewards.
- Updated ClubMembershipContractDialog to clarify user invitation terms.
- Enhanced footer description to reflect the focus on sales teams.
This commit is contained in:
masoodafar-web
2025-12-29 00:35:12 +03:30
parent 8588db949a
commit 29ce8cad38
15 changed files with 215 additions and 325 deletions
@@ -1,32 +1,33 @@
@attribute [Route(RouteConstants.Commission.Dashboard)]
@attribute [Route(RouteConstants.Commission.History)]
@using FrontOffice.Main.Utilities
@using FrontOffice.Main.Shared
@using MudBlazor
<PageTitle>داشبورد کمیسیون</PageTitle>
<PageTitle>پاداش‌های من</PageTitle>
<MudContainer MaxWidth="MaxWidth.Large" Class="py-6">
<MudStack Spacing="3">
<MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center">
<MudText Typo="Typo.h5">داشبورد کمیسیون</MudText>
<MudText Typo="Typo.h5">پاداش‌های من</MudText>
<MudButton Variant="Variant.Text" StartIcon="@Icons.Material.Filled.ArrowBack" Href="@RouteConstants.Profile.Index">بازگشت</MudButton>
</MudStack>
@if (_isLoading)
{
<MudProgressLinear Color="Color.Primary" Indeterminate="true" />
}
else
{
<!-- فیلترها -->
<MudPaper Elevation="2" Class="pa-3 rounded-lg">
<MudStack Row="true" Spacing="2" AlignItems="AlignItems.End">
<MudNumericField @bind-Value="_filterWeekNumber"
Label="شماره هفته"
Variant="Variant.Outlined"
Min="1"
Clearable="true"
Style="max-width: 150px;" />
<MudSelect T="string" @bind-Value="_filterStatus" Label="وضعیت" Variant="Variant.Outlined" Style="max-width: 200px;">
<!-- فیلترها -->
<MudPaper Elevation="2" Class="pa-3 rounded-lg">
<MudGrid Spacing="2">
<MudItem xs="12" sm="6" md="4">
<WeekSelector @ref="_weekSelector"
@bind-Value="_selectedWeekDefinition"
Label="انتخاب هفته"
Placeholder="جستجوی هفته..."
Variant="Variant.Outlined"
Dense="false"
Clearable="true"
OnlyActive="false" />
</MudItem>
<MudItem xs="12" sm="6" md="4">
<MudSelect T="string" @bind-Value="_filterStatus" Label="وضعیت" Variant="Variant.Outlined">
<MudSelectItem T="string" Value="@string.Empty">همه</MudSelectItem>
<MudSelectItem T="string" Value="@("Pending")">در انتظار</MudSelectItem>
<MudSelectItem T="string" Value="@("Paid")">پرداخت شده</MudSelectItem>
@@ -35,78 +36,114 @@
<MudSelectItem T="string" Value="@("PaymentFailed")">شکست خورده</MudSelectItem>
<MudSelectItem T="string" Value="@("Cancelled")">لغو شده</MudSelectItem>
</MudSelect>
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="ApplyFiltersAsync" StartIcon="@Icons.Material.Filled.FilterList">
اعمال فیلتر
</MudButton>
<MudButton Variant="Variant.Outlined" OnClick="ClearFiltersAsync" StartIcon="@Icons.Material.Filled.Clear">
پاک کردن
</MudButton>
</MudStack>
</MudPaper>
</MudItem>
<MudItem xs="12" sm="12" md="4">
<MudStack Row="true" Spacing="2" Style="height: 100%;" AlignItems="AlignItems.End">
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="ApplyFiltersAsync" StartIcon="@Icons.Material.Filled.FilterList" FullWidth="true">
اعمال فیلتر
</MudButton>
<MudButton Variant="Variant.Outlined" OnClick="ClearFiltersAsync" StartIcon="@Icons.Material.Filled.Clear" FullWidth="true">
پاک کردن
</MudButton>
</MudStack>
</MudItem>
</MudGrid>
</MudPaper>
<!-- لیست کمیسیون‌ها -->
@if (_isLoading)
{
<MudProgressLinear Color="Color.Primary" Indeterminate="true" />
}
else
{
<!-- آمار خلاصه -->
@if (_payouts.Any())
{
<MudHidden Breakpoint="Breakpoint.MdAndUp" Invert="true">
<MudTable Items="_payouts" Hover="true" Striped="true" Dense="true">
<HeaderContent>
<MudTh>هفته</MudTh>
<MudTh>تعداد تعادل</MudTh>
<MudTh>مبلغ کل</MudTh>
<MudTh>وضعیت</MudTh>
<MudTh>تاریخ</MudTh>
<MudTh>عملیات</MudTh>
</HeaderContent>
<RowTemplate>
<MudTd>
<MudChip T="string" Color="Color.Default" Size="Size.Small">@context.WeekDisplayName</MudChip>
</MudTd>
<MudTd>@context.BalancesEarned</MudTd>
<MudTd>
<MudText Color="Color.Success"><strong>@context.AmountFormatted</strong></MudText>
</MudTd>
<MudTd>
<MudChip T="string" Color="@GetStatusColor(context.StatusColor)" Size="Size.Small" Variant="Variant.Outlined">
@context.StatusText
</MudChip>
</MudTd>
<MudTd>@context.DatePersian</MudTd>
<MudTd>
<MudButton Size="Size.Small"
Variant="Variant.Text"
Color="Color.Info"
StartIcon="@Icons.Material.Filled.Info"
Href="@($"{RouteConstants.Commission.WeeklyBalance}?week={context.WeekDefinitionId}")">
جزئیات
</MudButton>
</MudTd>
</RowTemplate>
</MudTable>
<MudGrid Spacing="2">
<MudItem xs="6" sm="4">
<MudPaper Elevation="2" Class="pa-3 rounded-lg text-center">
<MudText Typo="Typo.caption" Class="mud-text-secondary">کل پاداش</MudText>
<MudText Typo="Typo.h6" Color="Color.Success">@GetTotalEarnings()</MudText>
</MudPaper>
</MudItem>
<MudItem xs="6" sm="4">
<MudPaper Elevation="2" Class="pa-3 rounded-lg text-center">
<MudText Typo="Typo.caption" Class="mud-text-secondary">تعداد</MudText>
<MudText Typo="Typo.h6" Color="Color.Primary">@_totalCount</MudText>
</MudPaper>
</MudItem>
<MudItem xs="12" sm="4">
<MudPaper Elevation="2" Class="pa-3 rounded-lg text-center">
<MudText Typo="Typo.caption" Class="mud-text-secondary">میانگین هفتگی</MudText>
<MudText Typo="Typo.h6" Color="Color.Info">@GetAverageWeekly()</MudText>
</MudPaper>
</MudItem>
</MudGrid>
}
<!-- لیست پاداش‌ها -->
@if (_payouts.Any())
{
<!-- جدول - دسکتاپ -->
<MudHidden Breakpoint="Breakpoint.SmAndDown">
<MudPaper Elevation="2" Class="pa-0 rounded-lg">
<MudTable Items="_payouts" Hover="true" Striped="true" Dense="true" FixedHeader="true" Height="400px">
<HeaderContent>
<MudTh>هفته</MudTh>
<MudTh>امتیاز</MudTh>
<MudTh>مبلغ (تومان)</MudTh>
<MudTh>وضعیت</MudTh>
<MudTh>تاریخ</MudTh>
<MudTh>جزئیات</MudTh>
</HeaderContent>
<RowTemplate>
<MudTd DataLabel="هفته">
<MudChip T="string" Color="Color.Primary" Size="Size.Small" Variant="Variant.Outlined">@context.WeekDisplayName</MudChip>
</MudTd>
<MudTd DataLabel="امتیاز">@context.BalancesEarned</MudTd>
<MudTd DataLabel="مبلغ">
<MudText Color="Color.Success"><strong>@context.AmountFormatted</strong></MudText>
</MudTd>
<MudTd DataLabel="وضعیت">
<MudChip T="string" Color="@GetStatusColor(context.StatusColor)" Size="Size.Small">@context.StatusText</MudChip>
</MudTd>
<MudTd DataLabel="تاریخ">@context.DatePersian</MudTd>
<MudTd DataLabel="جزئیات">
<MudIconButton Size="Size.Small"
Icon="@Icons.Material.Filled.Visibility"
Color="Color.Info"
Href="@($"{RouteConstants.Commission.WeeklyBalance}?week={context.WeekDefinitionId}")" />
</MudTd>
</RowTemplate>
</MudTable>
</MudPaper>
</MudHidden>
<MudHidden Breakpoint="Breakpoint.MdAndUp">
<!-- کارت‌ها - موبایل -->
<MudHidden Breakpoint="Breakpoint.SmAndDown" Invert="true">
<MudStack Spacing="2">
@foreach (var payout in _payouts)
{
<MudPaper Class="pa-3 rounded-lg" Outlined="true">
<MudStack Spacing="1">
<MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center">
<MudChip T="string" Color="Color.Default" Size="Size.Small">@payout.WeekDisplayName</MudChip>
<MudChip T="string" Color="@GetStatusColor(payout.StatusColor)" Size="Size.Small" Variant="Variant.Outlined">
@payout.StatusText
</MudChip>
<MudChip T="string" Color="Color.Primary" Size="Size.Small" Variant="Variant.Outlined">@payout.WeekDisplayName</MudChip>
<MudChip T="string" Color="@GetStatusColor(payout.StatusColor)" Size="Size.Small">@payout.StatusText</MudChip>
</MudStack>
<MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center">
<MudText Typo="Typo.h6" Color="Color.Success">@payout.AmountFormatted</MudText>
<MudText Typo="Typo.caption" Class="mud-text-secondary">امتیاز: @payout.BalancesEarned</MudText>
</MudStack>
<MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center">
<MudText Typo="Typo.caption" Class="mud-text-secondary">@payout.DatePersian</MudText>
<MudButton Size="Size.Small"
Variant="Variant.Text"
Color="Color.Info"
EndIcon="@Icons.Material.Filled.ChevronLeft"
Href="@($"{RouteConstants.Commission.WeeklyBalance}?week={payout.WeekDefinitionId}")">
جزئیات
</MudButton>
</MudStack>
<MudText Typo="Typo.h6" Color="Color.Success">@payout.AmountFormatted</MudText>
<MudText Typo="Typo.caption" Class="mud-text-secondary">تعداد تعادل: @payout.BalancesEarned</MudText>
<MudText Typo="Typo.caption" Class="mud-text-secondary">@payout.DatePersian</MudText>
<MudButton Size="Size.Small"
Variant="Variant.Outlined"
Color="Color.Info"
FullWidth="true"
StartIcon="@Icons.Material.Filled.Info"
Href="@($"{RouteConstants.Commission.WeeklyBalance}?week={payout.WeekDefinitionId}")">
مشاهده جزئیات هفته
</MudButton>
</MudStack>
</MudPaper>
}
@@ -114,37 +151,27 @@
</MudHidden>
<!-- Pagination -->
<MudPaper Elevation="0" Class="pa-3">
<MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center">
<MudText Typo="Typo.body2">کل: @_totalCount کمیسیون</MudText>
<MudPagination Count="@GetTotalPages()" Selected="_pageNumber" SelectedChanged="OnPageChangedAsync" Color="Color.Primary" />
<MudPaper Elevation="0" Class="pa-2">
<MudStack Row="true" Justify="Justify.Center" AlignItems="AlignItems.Center">
<MudPagination Count="@GetTotalPages()" Selected="_pageNumber" SelectedChanged="OnPageChangedAsync" Color="Color.Primary" Size="Size.Small" />
</MudStack>
</MudPaper>
}
else
{
<MudAlert Severity="Severity.Info" Variant="Variant.Outlined">
کمیسیونی برای نمایش وجود ندارد.
پاداشی برای نمایش وجود ندارد.
</MudAlert>
}
<!-- دکمه‌های بیشتر -->
<MudStack Row="true" Spacing="2">
<MudButton Variant="Variant.Outlined"
Color="Color.Secondary"
StartIcon="@Icons.Material.Filled.History"
Href="@RouteConstants.Commission.History"
FullWidth="true">
تاریخچه کامل
</MudButton>
<MudButton Variant="Variant.Outlined"
Color="Color.Info"
StartIcon="@Icons.Material.Filled.BarChart"
Href="@RouteConstants.Commission.WeeklyBalance"
FullWidth="true">
تعادل هفتگی
</MudButton>
</MudStack>
<!-- دکمه گزارش هفتگی -->
<MudButton Variant="Variant.Outlined"
Color="Color.Info"
StartIcon="@Icons.Material.Filled.BarChart"
Href="@RouteConstants.Commission.WeeklyBalance"
FullWidth="true">
مشاهده گزارش هفتگی
</MudButton>
}
</MudStack>
</MudContainer>