feat: Refactor sale invoice store to use new response model and improve state management

fix: Update single component to correctly bind invoice data

feat: Enhance partner info model with detailed license status

refactor: Simplify account list component by removing unnecessary details

fix: Correctly reference username in consumer account form

feat: Add POS related fields to consumer account list

chore: Update models to include charge account details for partners

feat: Implement charge account dialog for partner consumers

feat: Create API routes for accounts charge functionality

feat: Add charge account service for handling requests

feat: Introduce license info template component for dashboard

refactor: Update dashboard view to display license information

fix: Improve layout component to handle POS information more effectively

chore: Clean up unused imports and components in various files

feat: Add loading state handling in landing views

feat: Implement charge account form dialog for partner consumers
This commit is contained in:
2026-04-25 15:19:19 +03:30
parent a816c05777
commit 095ae31249
53 changed files with 554 additions and 196 deletions
@@ -1 +1,37 @@
<div class="grid grid-cols-2 gap-10">به پنل مدیریتی شریک تجاری خوش آمدید.</div>
<div class="grid grid-cols-3 w-full gap-4">
<partner-license-info-template
title="لایسنس‌ها"
[total]="entity()?.licenses_status?.total_purchased || 0"
[expired]="entity()?.licenses_status?.total_expired || 0"
[activated]="entity()?.licenses_status?.total_activated || 0"
[remained]="
(entity()?.licenses_status?.total_purchased || 0) -
(entity()?.licenses_status?.total_activated || 0) -
(entity()?.licenses_status?.total_expired || 0)
"
/>
<partner-license-info-template
title="شارژ کاربران"
[total]="entity()?.account_quotas_status?.total_purchased || 0"
[expired]="entity()?.account_quotas_status?.total_expired || 0"
[activated]="entity()?.account_quotas_status?.total_activated || 0"
[remained]="
(entity()?.account_quotas_status?.total_purchased || 0) -
(entity()?.account_quotas_status?.total_activated || 0) -
(entity()?.account_quotas_status?.total_expired || 0)
"
/>
<partner-license-info-template
title="تمدید لایسنس‌ها"
[total]="entity()?.license_renews_status?.total_purchased || 0"
[expired]="entity()?.license_renews_status?.total_expired || 0"
[activated]="entity()?.license_renews_status?.total_activated || 0"
[remained]="
(entity()?.license_renews_status?.total_purchased || 0) -
(entity()?.license_renews_status?.total_activated || 0) -
(entity()?.license_renews_status?.total_expired || 0)
"
/>
</div>
@@ -1,9 +1,11 @@
import { Component, computed, inject } from '@angular/core';
import { PartnerLicenseInfoTemplateComponent } from '../components/licenseInfo/license-info-template.component';
import { PartnerInfoStore } from '../store/main.store';
@Component({
selector: 'partner-dashboard',
templateUrl: './index.component.html',
imports: [PartnerLicenseInfoTemplateComponent],
})
export class DashboardComponent {
private readonly store = inject(PartnerInfoStore);