@thescaffold/ngx-apps-capital 0.2.46 → 0.2.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -120,7 +120,7 @@ class DashboardComponent extends BaseDirective {
120
120
 
121
121
  @if (capital$ | async; as capital) {
122
122
  <div class="">
123
- <div class="row gx-5 d-flex flex-wrap">
123
+ <div class="row g-3 d-flex flex-wrap">
124
124
  <div class="col d-flex flex-column">
125
125
  <div class="card card-body">
126
126
  <div class="d-flex justify-content-between align-items-center">
@@ -419,7 +419,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
419
419
 
420
420
  @if (capital$ | async; as capital) {
421
421
  <div class="">
422
- <div class="row gx-5 d-flex flex-wrap">
422
+ <div class="row g-3 d-flex flex-wrap">
423
423
  <div class="col d-flex flex-column">
424
424
  <div class="card card-body">
425
425
  <div class="d-flex justify-content-between align-items-center">
@@ -759,4 +759,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
759
759
  }] });
760
760
 
761
761
  export { DashboardModule };
762
- //# sourceMappingURL=thescaffold-ngx-apps-capital-dashboard.module-C_hARs2A.mjs.map
762
+ //# sourceMappingURL=thescaffold-ngx-apps-capital-dashboard.module-CXmyBWdE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thescaffold-ngx-apps-capital-dashboard.module-CXmyBWdE.mjs","sources":["../../../projects/capital/src/lib/pages/dashboard/dashboard.component.ts","../../../projects/capital/src/lib/pages/dashboard/dashboard.module.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport {\n DefaultPeriodType,\n PaymentContract,\n PeriodService,\n} from '@thescaffold/ngx-common';\nimport {\n BaseDirective,\n ControlService,\n getEnv,\n navigateExternal,\n using,\n} from '@thescaffold/ngx-core';\nimport {\n FlyoutService,\n PickerItemContract,\n WizardContract,\n WizardService,\n} from '@thescaffold/ngx-ui';\nimport { forkJoin, map, Observable, of, switchMap, takeUntil } from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'app-dashboard',\n template: `\n <ng-template #beforeMetricsTemplate>\n <!-- verify payment -->\n <x-common-payment [data]=\"verifyPaymentData\"></x-common-payment>\n\n @if (capital$ | async; as capital) {\n <div class=\"\">\n <div class=\"row g-3 d-flex flex-wrap\">\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">\n {{\n 'apps.capital.component.dashboard.message.plan'\n | xTranslate\n }}\n </span>\n @if (capital.plan?.type?.name) {\n <span class=\"fs-3\">{{ capital.plan?.type?.name }} </span>\n }\n <!-- <span *ngIf=\"capital.plan?.type?.name\" class=\"fs-3\"\n >{{\n capital.plan.type[capital.plan.periodType]\n | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{ capital.plan.type.currency }}</span>\n </span> -->\n @if (!capital.plan?.type?.name) {\n <span class=\"fs-3\"> ... </span>\n }\n </div>\n @if (\n capital.plan?.type?.name &&\n capital.plan?.type?.name?.toLowerCase() != 'pro'\n ) {\n <div class=\"d-flex justify-content-end align-items-center\">\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"upgradePlan()\"\n >\n {{\n 'apps.capital.component.dashboard.button.upgrade-plan'\n | xTranslate\n }}\n </button>\n </div>\n }\n @if (!capital.plan?.type?.name) {\n <div class=\"d-flex justify-content-end align-items-center\">\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"upgradePlan()\"\n >\n {{\n 'apps.capital.component.dashboard.button.select-plan'\n | xTranslate\n }}\n </button>\n </div>\n }\n </div>\n </div>\n <!-- <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">{{\n 'apps.capital.component.dashboard.message.balance'\n | xTranslate\n }}</span>\n <span class=\"fs-3\"\n >{{ capital.wallet.availableBalance | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{\n capital.wallet.currency\n }}</span></span\n >\n </div>\n </div>\n </div> -->\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">\n {{\n 'apps.capital.component.dashboard.message.pending'\n | xTranslate\n }}\n </span>\n <span\n class=\"fs-3\"\n [ngClass]=\"{ 'text-warning': capital.pending.amount }\"\n >{{ capital.pending.amount | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{ capital.wallet.currency }}</span>\n </span>\n </div>\n @if (capital.pending.amount > 0) {\n <div class=\"d-flex justify-content-end align-items-center\">\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"payNow(capital.pending.amount)\"\n >\n {{\n 'apps.capital.component.dashboard.button.pay-now'\n | xTranslate\n }}\n </button>\n </div>\n }\n </div>\n </div>\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">{{\n 'apps.capital.component.dashboard.message.amount'\n | xTranslate\n }}</span>\n <span class=\"fs-3\"\n >{{ capital.estimate.amount | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{\n capital.wallet.currency\n }}</span></span\n >\n </div>\n </div>\n </div>\n </div>\n </div>\n } @else {\n <x-element-loader></x-element-loader>\n }\n </ng-template>\n\n <!-- upgrade plan flyout -->\n <ng-template #upgradePlanFlyout>\n <x-webget-flyout [data]=\"{ title: 'Upgrade Plan' }\">\n <x-webget-wizard [data]=\"wizardData\">\n <ng-template [xWizard]=\"'select-plan'\">\n @if (periodData$ | async; as periodData) {\n @if (planTypes$ && planTypes$ | async; as planTypes) {\n <div class=\"d-flex flex-column\">\n <div class=\"d-flex flex-column my-3 align-items-center\">\n <p class=\"text-secondary text-center\">\n {{\n 'apps.capital.component.dashboard.message.select-plan'\n | xTranslate\n }}\n </p>\n </div>\n <div\n class=\"d-flex justify-content-end align-items-center my-3\"\n >\n <x-picker\n [data]=\"periodData\"\n (select)=\"onPeriodSelect($event)\"\n ></x-picker>\n </div>\n @if (planTypes.length) {\n <div class=\"accordion\" id=\"plan-accordion\">\n @for (\n planType of planTypes;\n track planType;\n let i = $index\n ) {\n <div class=\"accordion-item w-100\">\n @if (planType.id != currentPlan?.type?.id) {\n <div class=\"accordion-header\">\n <button\n class=\"accordion-button d-flex justify-content-between align-items-center\"\n [ngClass]=\"{\n collapsed: planType.type !== 'popular',\n }\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [attr.data-bs-target]=\"'#collapse' + i\"\n >\n <div class=\"col-8\">\n <div class=\"h3\">\n {{ planType.name | titlecase }}\n </div>\n @if (planType.desc) {\n <div class=\"h6 text-body-secondary\">\n {{ planType.desc }}\n </div>\n }\n </div>\n <div class=\"col-3\">\n <div class=\"fw-bolder fst-italic h3\">\n {{ planType.currency ?? '...' }}\n {{\n (planType[periodType]\n | xMajor\n | number: '1.2-2') ?? '...'\n }}\n </div>\n </div>\n </button>\n </div>\n }\n <div\n [attr.id]=\"'collapse' + i\"\n class=\"accordion-collapse collapse\"\n [ngClass]=\"{ show: planType.type == 'popular' }\"\n data-bs-parent=\"#plan-accordion\"\n >\n <div class=\"accordion-body\">\n <div\n class=\"d-flex justify-content-start align-items-center\"\n >\n @if (planType.detail) {\n <p class=\"text-body-secondary\">\n {{ planType.detail }}\n </p>\n }\n </div>\n @if (planType?.meta?.features?.length) {\n <ul class=\"list-group list-group-flush\">\n @for (\n feature of planType?.meta?.features;\n track feature\n ) {\n <li class=\"list-group-item\">\n {{ feature }}\n </li>\n }\n </ul>\n }\n <div\n class=\"d-flex justify-content-end align-items-center my-3\"\n >\n <button\n class=\"btn btn-primary\"\n (click)=\"selectPlanType(planType)\"\n >\n Choose {{ planType.name }}\n <i class=\"fa-solid fa-arrow-right-long\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n } @else {\n <x-element-blank></x-element-blank>\n }\n <div\n class=\"d-flex justify-content-center align-items-center my-3\"\n >\n <p class=\"text-center mb-1\">\n {{\n 'apps.capital.component.dashboard.message.terms'\n | xTranslate\n }}\n </p>\n </div>\n </div>\n } @else {\n <x-element-loader></x-element-loader>\n }\n } @else {\n <x-element-loader></x-element-loader>\n }\n </ng-template>\n <ng-template [xWizard]=\"'make-payment'\">\n @if (false) {\n } @else {\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n }\n </ng-template>\n </x-webget-wizard>\n </x-webget-flyout>\n </ng-template>\n\n <!-- pay now flyout -->\n <ng-template #payNowFlyout>\n <x-webget-flyout [data]=\"{ title: 'Pay Now' }\">\n @if (false) {\n } @else {\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n }\n </x-webget-flyout>\n </ng-template>\n\n <!-- upgrade payment flyout -->\n <ng-template #makePaymentTemplate>\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n </ng-template>\n\n <!-- misc -->\n <ng-template #loader>\n <x-element-loader></x-element-loader>\n </ng-template>\n\n <ng-template #empty>\n <x-element-blank></x-element-blank>\n </ng-template>\n `,\n styles: [\n `\n .small-text {\n font-size: 0.7rem !important;\n }\n `,\n ],\n})\nexport class DashboardComponent extends BaseDirective {\n private readonly flyoutService = inject(FlyoutService);\n private readonly controlService = inject(ControlService);\n private readonly wizardService = inject(WizardService);\n private readonly periodService = inject(PeriodService);\n\n paymentMeta$ = () =>\n of({\n type: this.actionType,\n planTypeId: this.selectedPlanTypeId,\n periodType: this.periodType,\n });\n\n get paymentData(): PaymentContract {\n const amount = (\n this.actionType == 'apps.capital.dashboard.upgrade-plan'\n ? this.upgradePlanAmount\n : this.actionType == 'apps.capital.dashboard.pay-debt'\n ? this.payNowAmount\n : 0\n )!;\n return {\n mode: 'pay',\n appName: getEnv('APP_NAME'),\n amount: amount == 0 ? -1 : amount,\n hooks: {\n meta: () => this.paymentMeta$(),\n },\n options: ['card', 'provider', 'wallet'],\n redirect: (\n provider: string,\n amount: number,\n reference: string,\n currency: string,\n ) => {\n navigateExternal(\n `${getEnv('BASE_URL')}${this.router.url.split('?')[0]}?type=${provider}&reference=${reference}`,\n false,\n true,\n );\n },\n };\n }\n\n verifyPaymentData: PaymentContract = {\n mode: 'verify',\n appName: getEnv('APP_NAME'),\n amount: 0.0,\n hooks: {},\n options: [],\n };\n\n wizardData: WizardContract = {\n name: 'upgrade-plan',\n showProgress: true,\n showNav: false,\n };\n context = this.controlService.getContext();\n selectedPlanTypeId?: string;\n\n @ViewChild('beforeMetricsTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeMetricsTemplate!: TemplateRef<any>;\n\n @ViewChild('upgradePlanFlyout', { read: TemplateRef, static: true })\n upgradePlanFlyout!: TemplateRef<any>;\n\n @ViewChild('payNowFlyout', { read: TemplateRef, static: true })\n payNowFlyout!: TemplateRef<any>;\n\n planTypes$ = this.apiService\n .on('apps/capital/plan-type')\n .getMany({\n page: 1,\n perPage: 12,\n clientId: this.context?.clientId,\n currency: getEnv('X_PREFERENCE_CURRENCY'),\n })\n .pipe(\n takeUntil(this.$),\n map(({ data }) => data),\n );\n\n currentPlan: any = null;\n capital$: Observable<{\n plan: any;\n wallet: any;\n pending: any;\n estimate: any;\n }> = this.apiService.post('apps/capital/wallet/init').pipe(\n takeUntil(this.$),\n switchMap((wallet) =>\n forkJoin([\n this.apiService.get('apps/capital/user-plan'),\n of(wallet),\n this.apiService.get('apps/capital/debt'),\n this.apiService.get('apps/capital/accrual'),\n ]),\n ),\n map(([plan, wallet, pending, estimate]) => {\n this.currentPlan = plan?.data;\n return {\n plan: plan?.data,\n wallet: wallet?.data,\n pending: pending?.data,\n estimate: estimate?.data,\n };\n }),\n );\n\n private actionType?:\n | 'apps.capital.dashboard.upgrade-plan'\n | 'apps.capital.dashboard.pay-debt';\n\n upgradePlanAmount?: number;\n payNowAmount?: number;\n\n periodType = DefaultPeriodType;\n\n periodData$ = this.periodService.list().pipe(\n map((list) => ({\n default: list.find((item) => item.value == DefaultPeriodType)!,\n list,\n size: 'btn-lg',\n showSearch: false,\n })),\n );\n\n onPeriodSelect({ value }: PickerItemContract) {\n this.periodType = value;\n }\n\n upgradePlan() {\n this.actionType = 'apps.capital.dashboard.upgrade-plan';\n this.flyoutService.open(this.upgradePlanFlyout);\n }\n\n payNow(payNowAmount: number) {\n this.actionType = 'apps.capital.dashboard.pay-debt';\n this.payNowAmount = payNowAmount;\n this.flyoutService.open(this.payNowFlyout);\n }\n\n selectPlanType(planType: any) {\n this.selectedPlanTypeId = planType.id;\n this.apiService\n .post('apps/capital/user-plan/compute-upgrade', {\n planTypeId: planType.id,\n periodType: this.periodType,\n })\n .pipe(takeUntil(this.$))\n .subscribe(\n using(({ data }: any) => {\n this.upgradePlanAmount = data.diff;\n this.wizardService.goto(this.wizardData.name, 'make-payment');\n }),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport {\n ElementsModule,\n DashboardModule as InnerDashboardModule,\n WebgetsModule,\n} from '@thescaffold/ngx-ui';\nimport { CardProvider } from '../card/card.provider';\nimport { PaymentProvider } from '../payment/payment.provider';\nimport { DashboardComponent } from './dashboard.component';\n\n@NgModule({\n declarations: [DashboardComponent],\n imports: [\n SharedModule,\n InnerDashboardModule.register({\n metrics: [],\n providers: [CardProvider, PaymentProvider],\n templateSource: DashboardComponent,\n }),\n WebgetsModule,\n ElementsModule,\n PipesModule,\n PaymentModule,\n ],\n})\nexport class DashboardModule {}\n"],"names":["i3","i4","PaymentModule","InnerDashboardModule"],"mappings":"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"}
@@ -28,7 +28,7 @@ class VoucherComponent extends BaseDirective {
28
28
  title: ('apps.capital.voucher.available.title' | xTranslate),
29
29
  }"
30
30
  ></x-nav-toolbar>
31
- <div class="mb-3 row row-cols-3 g-4">
31
+ <div class="mb-3 row row-cols-3 g-3">
32
32
  @for (voucher of vouchers; track voucher) {
33
33
  <div class="col">
34
34
  <div class="card">
@@ -109,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
109
109
  title: ('apps.capital.voucher.available.title' | xTranslate),
110
110
  }"
111
111
  ></x-nav-toolbar>
112
- <div class="mb-3 row row-cols-3 g-4">
112
+ <div class="mb-3 row row-cols-3 g-3">
113
113
  @for (voucher of vouchers; track voucher) {
114
114
  <div class="col">
115
115
  <div class="card">
@@ -421,4 +421,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
421
421
  }] });
422
422
 
423
423
  export { VoucherModule };
424
- //# sourceMappingURL=thescaffold-ngx-apps-capital-voucher.module-D6hqVD4l.mjs.map
424
+ //# sourceMappingURL=thescaffold-ngx-apps-capital-voucher.module-dls52xwB.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"thescaffold-ngx-apps-capital-voucher.module-D6hqVD4l.mjs","sources":["../../../projects/capital/src/lib/pages/voucher/voucher.component.ts","../../../projects/capital/src/lib/pages/voucher/voucher.provider.ts","../../../projects/capital/src/lib/pages/voucher/voucher.module.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport { BaseDirective } from '@thescaffold/ngx-core';\nimport { ItemService } from '@thescaffold/ngx-ui';\nimport { map, takeUntil } from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'app-voucher',\n template: `\n <ng-template #beforeListTemplate>\n @if (vouchers$ | async; as vouchers) {\n @if (vouchers.length) {\n <div class=\"mb-5\">\n <x-nav-toolbar\n [data]=\"{\n title: ('apps.capital.voucher.available.title' | xTranslate),\n }\"\n ></x-nav-toolbar>\n <div class=\"mb-3 row row-cols-3 g-4\">\n @for (voucher of vouchers; track voucher) {\n <div class=\"col\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5 class=\"card-title d-flex justify-content-between\">\n {{ voucher.name | titlecase }}\n <span class=\"border rounded p-2 fs-3\">\n {{ voucher.token?.toUpperCase() }}\n <button\n type=\"button\"\n class=\"btn btn-link p-0\"\n (click)=\"copy(voucher.token)\"\n >\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </span>\n </h5>\n <p class=\"card-text text-end\">\n <span class=\"badge text-bg-primary\"\n >{{ voucher.currency }}\n {{ voucher.amount | xMajor | number: '1.2-2' }}\n monthly</span\n >\n </p>\n @if (voucher.rules?.startAt || voucher.rules?.endAt) {\n <ul\n class=\"list-group list-group-flush\"\n >\n @if (voucher.rules.startAt) {\n <li\n class=\"list-group-item d-flex justify-content-between\"\n >\n <span>Usable From</span>\n <span>{{ voucher.rules?.startAt | date: 'medium' }}</span>\n </li>\n }\n @if (voucher.rules?.endAt) {\n <li\n class=\"list-group-item d-flex justify-content-between\"\n >\n <span>Expire On</span>\n <span>{{ voucher.rules.endAt | date: 'medium' }}</span>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n } @else {\n <x-element-loader></x-element-loader>\n }\n </ng-template>\n \n <!-- misc -->\n <ng-template #loader>\n <x-element-loader></x-element-loader>\n </ng-template>\n \n <ng-template #empty>\n <x-element-blank></x-element-blank>\n </ng-template>\n `,\n styles: [],\n})\nexport class VoucherComponent extends BaseDirective {\n private readonly itemService = inject(ItemService);\n\n vouchers$ = this.apiService.get('apps/capital/voucher/list').pipe(\n takeUntil(this.$),\n map(({ data }) => data),\n );\n\n @ViewChild('beforeListTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeListTemplate!: TemplateRef<any>;\n\n copy(value: string) {\n this.itemService.copy(value ?? '');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { toMajor } from '@thescaffold/ngx-core';\nimport { CrudActionType, CrudProvider } from '@thescaffold/ngx-ui';\nimport { VoucherComponent } from './voucher.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VoucherProvider extends CrudProvider {\n override main = true;\n override name = this.translate('apps.capital.voucher.name');\n override pluralName = this.translate('apps.capital.voucher.plural');\n override dataSource = this.apiService.on('apps/capital/voucher');\n override path = ['/', 'payments', 'voucher'];\n override columns = [\n {\n key: 'voucherType.name',\n value: this.translate('apps.capital.voucher.columns.name.title'),\n type: 'link',\n links: (column: any, item: any) => [\n {\n title: item.voucherType.name,\n fn: (link: any) => {\n this.show(item);\n },\n },\n ],\n },\n {\n key: 'voucherType.currency',\n value: this.translate('apps.capital.voucher.columns.currency.title'),\n },\n {\n key: 'voucherType.amount',\n value: this.translate('apps.capital.voucher.columns.amount.title'),\n },\n {\n key: 'voucherType.token',\n value: '', // this.translate('apps.capital.voucher.columns.token.title')\n type: 'class',\n class: 'badge border text-primary',\n },\n {\n key: 'createdAt',\n value: '', // this.translate('apps.capital.voucher.columns.created-at.title')\n type: 'date',\n },\n ];\n override fields = [];\n\n override templateSource = VoucherComponent;\n\n override routes = {\n // [CrudActionType.CloseCreate]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterSave]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseEdit]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterUpdate]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseShow]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseDelete]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterRemove]: ['/', 'payments', 'voucher'],\n };\n\n override morphs = {\n [CrudActionType.BeforeSave]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterSave]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeEdit]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterEdit]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeUpdate]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterUpdate]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeShow]: (payload: any) => {\n return {\n list: [\n {\n title: this.translate('apps.capital.voucher.show.list.name.title'),\n value: payload.voucherType.name,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.currency.title',\n ),\n value: payload.voucherType.currency,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.amount.title',\n ),\n value: payload.voucherType.amount,\n },\n {\n title: this.translate('apps.capital.voucher.show.list.token.title'),\n value: payload.voucherType.token,\n copyable: true,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.created-at.title',\n ),\n value: payload.createdAt,\n },\n ],\n ...payload,\n };\n },\n [CrudActionType.AfterShow]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeList]: (payload: any) => {\n return {\n ...payload,\n relations: 'voucherType',\n };\n },\n [CrudActionType.AfterList]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeDelete]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterDelete]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeRemove]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterRemove]: (payload: any) => {\n return payload;\n },\n };\n\n override hooks = {\n [CrudActionType.BeforeCreate]: () => {},\n [CrudActionType.AfterCreate]: () => {},\n [CrudActionType.BeforeSave]: (payload: any) => {},\n [CrudActionType.AfterSave]: (payload: any, data: any) => {},\n [CrudActionType.BeforeEdit]: (payload: any) => {},\n [CrudActionType.AfterEdit]: (payload: any) => {},\n [CrudActionType.BeforeUpdate]: (payload: any) => {},\n [CrudActionType.AfterUpdate]: (payload: any, data: any) => {},\n [CrudActionType.BeforeShow]: (payload: any) => {},\n [CrudActionType.AfterShow]: (payload: any) => {},\n [CrudActionType.BeforeList]: (payload: any) => {},\n [CrudActionType.AfterList]: (payload: any, data: any) => {},\n [CrudActionType.BeforeDelete]: (payload: any) => {},\n [CrudActionType.AfterDelete]: (payload: any) => {},\n [CrudActionType.BeforeRemove]: (payload: any) => {},\n [CrudActionType.AfterRemove]: (payload: any, data: any) => {},\n };\n\n override toCollection = (response: any) => {\n return {\n title: this.pluralName,\n columns: this.columns,\n rows: response?.data?.map((row: any) => ({\n ...row,\n voucherType: {\n ...row.voucherType,\n amount: toMajor(row.voucherType.amount),\n },\n })),\n links: {\n primary: [],\n secondary: [\n {\n title: this.translate(\n 'apps.capital.voucher.collection.links.secondary.view.title',\n ),\n fn: (link: any, item: any) => {\n this.show(item);\n },\n },\n ],\n tertiary: [],\n empty: [\n // {\n // title: this.translate(\n // 'apps.capital.voucher.collection.links.empty.learn-more.title',\n // ),\n // fn: (link: any) => {\n // navigateExternal(`${getEnv('DOCS_BASE_URL')}/vouchers`, true);\n // },\n // },\n ],\n },\n hasTextFilter: true,\n hasDateFilter: false,\n selectable: false,\n hasHeaders: true,\n page: response?.meta?.current_page,\n perPage: response?.meta?.per_page,\n total: response?.meta?.total,\n };\n };\n}\n","import { NgModule } from '@angular/core';\nimport { PaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport {\n CRUD_PROVIDER,\n CrudModule,\n ElementsModule,\n NavsModule,\n} from '@thescaffold/ngx-ui';\nimport { VoucherComponent } from './voucher.component';\nimport { VoucherProvider } from './voucher.provider';\n\n@NgModule({\n declarations: [VoucherComponent],\n exports: [CrudModule],\n providers: [\n {\n provide: CRUD_PROVIDER,\n useClass: VoucherProvider,\n },\n ],\n imports: [\n SharedModule,\n PaymentModule,\n ElementsModule,\n PipesModule,\n NavsModule,\n ],\n})\nexport class VoucherModule {}\n"],"names":["i1","i2","PaymentModule"],"mappings":"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"}
1
+ {"version":3,"file":"thescaffold-ngx-apps-capital-voucher.module-dls52xwB.mjs","sources":["../../../projects/capital/src/lib/pages/voucher/voucher.component.ts","../../../projects/capital/src/lib/pages/voucher/voucher.provider.ts","../../../projects/capital/src/lib/pages/voucher/voucher.module.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport { BaseDirective } from '@thescaffold/ngx-core';\nimport { ItemService } from '@thescaffold/ngx-ui';\nimport { map, takeUntil } from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'app-voucher',\n template: `\n <ng-template #beforeListTemplate>\n @if (vouchers$ | async; as vouchers) {\n @if (vouchers.length) {\n <div class=\"mb-5\">\n <x-nav-toolbar\n [data]=\"{\n title: ('apps.capital.voucher.available.title' | xTranslate),\n }\"\n ></x-nav-toolbar>\n <div class=\"mb-3 row row-cols-3 g-3\">\n @for (voucher of vouchers; track voucher) {\n <div class=\"col\">\n <div class=\"card\">\n <div class=\"card-body\">\n <h5 class=\"card-title d-flex justify-content-between\">\n {{ voucher.name | titlecase }}\n <span class=\"border rounded p-2 fs-3\">\n {{ voucher.token?.toUpperCase() }}\n <button\n type=\"button\"\n class=\"btn btn-link p-0\"\n (click)=\"copy(voucher.token)\"\n >\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </span>\n </h5>\n <p class=\"card-text text-end\">\n <span class=\"badge text-bg-primary\"\n >{{ voucher.currency }}\n {{ voucher.amount | xMajor | number: '1.2-2' }}\n monthly</span\n >\n </p>\n @if (voucher.rules?.startAt || voucher.rules?.endAt) {\n <ul\n class=\"list-group list-group-flush\"\n >\n @if (voucher.rules.startAt) {\n <li\n class=\"list-group-item d-flex justify-content-between\"\n >\n <span>Usable From</span>\n <span>{{ voucher.rules?.startAt | date: 'medium' }}</span>\n </li>\n }\n @if (voucher.rules?.endAt) {\n <li\n class=\"list-group-item d-flex justify-content-between\"\n >\n <span>Expire On</span>\n <span>{{ voucher.rules.endAt | date: 'medium' }}</span>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n } @else {\n <x-element-loader></x-element-loader>\n }\n </ng-template>\n \n <!-- misc -->\n <ng-template #loader>\n <x-element-loader></x-element-loader>\n </ng-template>\n \n <ng-template #empty>\n <x-element-blank></x-element-blank>\n </ng-template>\n `,\n styles: [],\n})\nexport class VoucherComponent extends BaseDirective {\n private readonly itemService = inject(ItemService);\n\n vouchers$ = this.apiService.get('apps/capital/voucher/list').pipe(\n takeUntil(this.$),\n map(({ data }) => data),\n );\n\n @ViewChild('beforeListTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeListTemplate!: TemplateRef<any>;\n\n copy(value: string) {\n this.itemService.copy(value ?? '');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { toMajor } from '@thescaffold/ngx-core';\nimport { CrudActionType, CrudProvider } from '@thescaffold/ngx-ui';\nimport { VoucherComponent } from './voucher.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VoucherProvider extends CrudProvider {\n override main = true;\n override name = this.translate('apps.capital.voucher.name');\n override pluralName = this.translate('apps.capital.voucher.plural');\n override dataSource = this.apiService.on('apps/capital/voucher');\n override path = ['/', 'payments', 'voucher'];\n override columns = [\n {\n key: 'voucherType.name',\n value: this.translate('apps.capital.voucher.columns.name.title'),\n type: 'link',\n links: (column: any, item: any) => [\n {\n title: item.voucherType.name,\n fn: (link: any) => {\n this.show(item);\n },\n },\n ],\n },\n {\n key: 'voucherType.currency',\n value: this.translate('apps.capital.voucher.columns.currency.title'),\n },\n {\n key: 'voucherType.amount',\n value: this.translate('apps.capital.voucher.columns.amount.title'),\n },\n {\n key: 'voucherType.token',\n value: '', // this.translate('apps.capital.voucher.columns.token.title')\n type: 'class',\n class: 'badge border text-primary',\n },\n {\n key: 'createdAt',\n value: '', // this.translate('apps.capital.voucher.columns.created-at.title')\n type: 'date',\n },\n ];\n override fields = [];\n\n override templateSource = VoucherComponent;\n\n override routes = {\n // [CrudActionType.CloseCreate]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterSave]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseEdit]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterUpdate]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseShow]: ['/', 'payments', 'voucher'],\n // [CrudActionType.CloseDelete]: ['/', 'payments', 'voucher'],\n // [CrudActionType.AfterRemove]: ['/', 'payments', 'voucher'],\n };\n\n override morphs = {\n [CrudActionType.BeforeSave]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterSave]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeEdit]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterEdit]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeUpdate]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterUpdate]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeShow]: (payload: any) => {\n return {\n list: [\n {\n title: this.translate('apps.capital.voucher.show.list.name.title'),\n value: payload.voucherType.name,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.currency.title',\n ),\n value: payload.voucherType.currency,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.amount.title',\n ),\n value: payload.voucherType.amount,\n },\n {\n title: this.translate('apps.capital.voucher.show.list.token.title'),\n value: payload.voucherType.token,\n copyable: true,\n },\n {\n title: this.translate(\n 'apps.capital.voucher.show.list.created-at.title',\n ),\n value: payload.createdAt,\n },\n ],\n ...payload,\n };\n },\n [CrudActionType.AfterShow]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeList]: (payload: any) => {\n return {\n ...payload,\n relations: 'voucherType',\n };\n },\n [CrudActionType.AfterList]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeDelete]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterDelete]: (payload: any) => {\n return payload;\n },\n [CrudActionType.BeforeRemove]: (payload: any) => {\n return payload;\n },\n [CrudActionType.AfterRemove]: (payload: any) => {\n return payload;\n },\n };\n\n override hooks = {\n [CrudActionType.BeforeCreate]: () => {},\n [CrudActionType.AfterCreate]: () => {},\n [CrudActionType.BeforeSave]: (payload: any) => {},\n [CrudActionType.AfterSave]: (payload: any, data: any) => {},\n [CrudActionType.BeforeEdit]: (payload: any) => {},\n [CrudActionType.AfterEdit]: (payload: any) => {},\n [CrudActionType.BeforeUpdate]: (payload: any) => {},\n [CrudActionType.AfterUpdate]: (payload: any, data: any) => {},\n [CrudActionType.BeforeShow]: (payload: any) => {},\n [CrudActionType.AfterShow]: (payload: any) => {},\n [CrudActionType.BeforeList]: (payload: any) => {},\n [CrudActionType.AfterList]: (payload: any, data: any) => {},\n [CrudActionType.BeforeDelete]: (payload: any) => {},\n [CrudActionType.AfterDelete]: (payload: any) => {},\n [CrudActionType.BeforeRemove]: (payload: any) => {},\n [CrudActionType.AfterRemove]: (payload: any, data: any) => {},\n };\n\n override toCollection = (response: any) => {\n return {\n title: this.pluralName,\n columns: this.columns,\n rows: response?.data?.map((row: any) => ({\n ...row,\n voucherType: {\n ...row.voucherType,\n amount: toMajor(row.voucherType.amount),\n },\n })),\n links: {\n primary: [],\n secondary: [\n {\n title: this.translate(\n 'apps.capital.voucher.collection.links.secondary.view.title',\n ),\n fn: (link: any, item: any) => {\n this.show(item);\n },\n },\n ],\n tertiary: [],\n empty: [\n // {\n // title: this.translate(\n // 'apps.capital.voucher.collection.links.empty.learn-more.title',\n // ),\n // fn: (link: any) => {\n // navigateExternal(`${getEnv('DOCS_BASE_URL')}/vouchers`, true);\n // },\n // },\n ],\n },\n hasTextFilter: true,\n hasDateFilter: false,\n selectable: false,\n hasHeaders: true,\n page: response?.meta?.current_page,\n perPage: response?.meta?.per_page,\n total: response?.meta?.total,\n };\n };\n}\n","import { NgModule } from '@angular/core';\nimport { PaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport {\n CRUD_PROVIDER,\n CrudModule,\n ElementsModule,\n NavsModule,\n} from '@thescaffold/ngx-ui';\nimport { VoucherComponent } from './voucher.component';\nimport { VoucherProvider } from './voucher.provider';\n\n@NgModule({\n declarations: [VoucherComponent],\n exports: [CrudModule],\n providers: [\n {\n provide: CRUD_PROVIDER,\n useClass: VoucherProvider,\n },\n ],\n imports: [\n SharedModule,\n PaymentModule,\n ElementsModule,\n PipesModule,\n NavsModule,\n ],\n})\nexport class VoucherModule {}\n"],"names":["i1","i2","PaymentModule"],"mappings":"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"}
@@ -154,7 +154,7 @@ class PagesModule {
154
154
  },
155
155
  {
156
156
  path: 'dashboard',
157
- loadChildren: () => import('./thescaffold-ngx-apps-capital-dashboard.module-C_hARs2A.mjs').then((m) => m.DashboardModule),
157
+ loadChildren: () => import('./thescaffold-ngx-apps-capital-dashboard.module-CXmyBWdE.mjs').then((m) => m.DashboardModule),
158
158
  },
159
159
  {
160
160
  path: 'card',
@@ -166,7 +166,7 @@ class PagesModule {
166
166
  },
167
167
  {
168
168
  path: 'voucher',
169
- loadChildren: () => import('./thescaffold-ngx-apps-capital-voucher.module-D6hqVD4l.mjs').then((m) => m.VoucherModule),
169
+ loadChildren: () => import('./thescaffold-ngx-apps-capital-voucher.module-dls52xwB.mjs').then((m) => m.VoucherModule),
170
170
  },
171
171
  ],
172
172
  },
@@ -199,7 +199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
199
199
  },
200
200
  {
201
201
  path: 'dashboard',
202
- loadChildren: () => import('./thescaffold-ngx-apps-capital-dashboard.module-C_hARs2A.mjs').then((m) => m.DashboardModule),
202
+ loadChildren: () => import('./thescaffold-ngx-apps-capital-dashboard.module-CXmyBWdE.mjs').then((m) => m.DashboardModule),
203
203
  },
204
204
  {
205
205
  path: 'card',
@@ -211,7 +211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
211
211
  },
212
212
  {
213
213
  path: 'voucher',
214
- loadChildren: () => import('./thescaffold-ngx-apps-capital-voucher.module-D6hqVD4l.mjs').then((m) => m.VoucherModule),
214
+ loadChildren: () => import('./thescaffold-ngx-apps-capital-voucher.module-dls52xwB.mjs').then((m) => m.VoucherModule),
215
215
  },
216
216
  ],
217
217
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thescaffold/ngx-apps-capital",
3
- "version": "0.2.46",
3
+ "version": "0.2.51",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^21.1.3",
6
6
  "@angular/cdk": "^21.1.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"thescaffold-ngx-apps-capital-dashboard.module-C_hARs2A.mjs","sources":["../../../projects/capital/src/lib/pages/dashboard/dashboard.component.ts","../../../projects/capital/src/lib/pages/dashboard/dashboard.module.ts"],"sourcesContent":["import { Component, inject, TemplateRef, ViewChild } from '@angular/core';\nimport {\n DefaultPeriodType,\n PaymentContract,\n PeriodService,\n} from '@thescaffold/ngx-common';\nimport {\n BaseDirective,\n ControlService,\n getEnv,\n navigateExternal,\n using,\n} from '@thescaffold/ngx-core';\nimport {\n FlyoutService,\n PickerItemContract,\n WizardContract,\n WizardService,\n} from '@thescaffold/ngx-ui';\nimport { forkJoin, map, Observable, of, switchMap, takeUntil } from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'app-dashboard',\n template: `\n <ng-template #beforeMetricsTemplate>\n <!-- verify payment -->\n <x-common-payment [data]=\"verifyPaymentData\"></x-common-payment>\n\n @if (capital$ | async; as capital) {\n <div class=\"\">\n <div class=\"row gx-5 d-flex flex-wrap\">\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">\n {{\n 'apps.capital.component.dashboard.message.plan'\n | xTranslate\n }}\n </span>\n @if (capital.plan?.type?.name) {\n <span class=\"fs-3\">{{ capital.plan?.type?.name }} </span>\n }\n <!-- <span *ngIf=\"capital.plan?.type?.name\" class=\"fs-3\"\n >{{\n capital.plan.type[capital.plan.periodType]\n | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{ capital.plan.type.currency }}</span>\n </span> -->\n @if (!capital.plan?.type?.name) {\n <span class=\"fs-3\"> ... </span>\n }\n </div>\n @if (\n capital.plan?.type?.name &&\n capital.plan?.type?.name?.toLowerCase() != 'pro'\n ) {\n <div class=\"d-flex justify-content-end align-items-center\">\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"upgradePlan()\"\n >\n {{\n 'apps.capital.component.dashboard.button.upgrade-plan'\n | xTranslate\n }}\n </button>\n </div>\n }\n @if (!capital.plan?.type?.name) {\n <div class=\"d-flex justify-content-end align-items-center\">\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"upgradePlan()\"\n >\n {{\n 'apps.capital.component.dashboard.button.select-plan'\n | xTranslate\n }}\n </button>\n </div>\n }\n </div>\n </div>\n <!-- <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">{{\n 'apps.capital.component.dashboard.message.balance'\n | xTranslate\n }}</span>\n <span class=\"fs-3\"\n >{{ capital.wallet.availableBalance | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{\n capital.wallet.currency\n }}</span></span\n >\n </div>\n </div>\n </div> -->\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">\n {{\n 'apps.capital.component.dashboard.message.pending'\n | xTranslate\n }}\n </span>\n <span\n class=\"fs-3\"\n [ngClass]=\"{ 'text-warning': capital.pending.amount }\"\n >{{ capital.pending.amount | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{ capital.wallet.currency }}</span>\n </span>\n </div>\n @if (capital.pending.amount > 0) {\n <div class=\"d-flex justify-content-end align-items-center\">\n <button\n class=\"btn btn-outline-warning btn-sm small-text\"\n (click)=\"payNow(capital.pending.amount)\"\n >\n {{\n 'apps.capital.component.dashboard.button.pay-now'\n | xTranslate\n }}\n </button>\n </div>\n }\n </div>\n </div>\n <div class=\"col d-flex flex-column\">\n <div class=\"card card-body\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <span class=\"fs-6\">{{\n 'apps.capital.component.dashboard.message.amount'\n | xTranslate\n }}</span>\n <span class=\"fs-3\"\n >{{ capital.estimate.amount | xMajor | number: '1.2-2'\n }}<span class=\"fs-6\">{{\n capital.wallet.currency\n }}</span></span\n >\n </div>\n </div>\n </div>\n </div>\n </div>\n } @else {\n <x-element-loader></x-element-loader>\n }\n </ng-template>\n\n <!-- upgrade plan flyout -->\n <ng-template #upgradePlanFlyout>\n <x-webget-flyout [data]=\"{ title: 'Upgrade Plan' }\">\n <x-webget-wizard [data]=\"wizardData\">\n <ng-template [xWizard]=\"'select-plan'\">\n @if (periodData$ | async; as periodData) {\n @if (planTypes$ && planTypes$ | async; as planTypes) {\n <div class=\"d-flex flex-column\">\n <div class=\"d-flex flex-column my-3 align-items-center\">\n <p class=\"text-secondary text-center\">\n {{\n 'apps.capital.component.dashboard.message.select-plan'\n | xTranslate\n }}\n </p>\n </div>\n <div\n class=\"d-flex justify-content-end align-items-center my-3\"\n >\n <x-picker\n [data]=\"periodData\"\n (select)=\"onPeriodSelect($event)\"\n ></x-picker>\n </div>\n @if (planTypes.length) {\n <div class=\"accordion\" id=\"plan-accordion\">\n @for (\n planType of planTypes;\n track planType;\n let i = $index\n ) {\n <div class=\"accordion-item w-100\">\n @if (planType.id != currentPlan?.type?.id) {\n <div class=\"accordion-header\">\n <button\n class=\"accordion-button d-flex justify-content-between align-items-center\"\n [ngClass]=\"{\n collapsed: planType.type !== 'popular',\n }\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [attr.data-bs-target]=\"'#collapse' + i\"\n >\n <div class=\"col-8\">\n <div class=\"h3\">\n {{ planType.name | titlecase }}\n </div>\n @if (planType.desc) {\n <div class=\"h6 text-body-secondary\">\n {{ planType.desc }}\n </div>\n }\n </div>\n <div class=\"col-3\">\n <div class=\"fw-bolder fst-italic h3\">\n {{ planType.currency ?? '...' }}\n {{\n (planType[periodType]\n | xMajor\n | number: '1.2-2') ?? '...'\n }}\n </div>\n </div>\n </button>\n </div>\n }\n <div\n [attr.id]=\"'collapse' + i\"\n class=\"accordion-collapse collapse\"\n [ngClass]=\"{ show: planType.type == 'popular' }\"\n data-bs-parent=\"#plan-accordion\"\n >\n <div class=\"accordion-body\">\n <div\n class=\"d-flex justify-content-start align-items-center\"\n >\n @if (planType.detail) {\n <p class=\"text-body-secondary\">\n {{ planType.detail }}\n </p>\n }\n </div>\n @if (planType?.meta?.features?.length) {\n <ul class=\"list-group list-group-flush\">\n @for (\n feature of planType?.meta?.features;\n track feature\n ) {\n <li class=\"list-group-item\">\n {{ feature }}\n </li>\n }\n </ul>\n }\n <div\n class=\"d-flex justify-content-end align-items-center my-3\"\n >\n <button\n class=\"btn btn-primary\"\n (click)=\"selectPlanType(planType)\"\n >\n Choose {{ planType.name }}\n <i class=\"fa-solid fa-arrow-right-long\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n } @else {\n <x-element-blank></x-element-blank>\n }\n <div\n class=\"d-flex justify-content-center align-items-center my-3\"\n >\n <p class=\"text-center mb-1\">\n {{\n 'apps.capital.component.dashboard.message.terms'\n | xTranslate\n }}\n </p>\n </div>\n </div>\n } @else {\n <x-element-loader></x-element-loader>\n }\n } @else {\n <x-element-loader></x-element-loader>\n }\n </ng-template>\n <ng-template [xWizard]=\"'make-payment'\">\n @if (false) {\n } @else {\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n }\n </ng-template>\n </x-webget-wizard>\n </x-webget-flyout>\n </ng-template>\n\n <!-- pay now flyout -->\n <ng-template #payNowFlyout>\n <x-webget-flyout [data]=\"{ title: 'Pay Now' }\">\n @if (false) {\n } @else {\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n }\n </x-webget-flyout>\n </ng-template>\n\n <!-- upgrade payment flyout -->\n <ng-template #makePaymentTemplate>\n <x-common-payment [data]=\"paymentData\"></x-common-payment>\n </ng-template>\n\n <!-- misc -->\n <ng-template #loader>\n <x-element-loader></x-element-loader>\n </ng-template>\n\n <ng-template #empty>\n <x-element-blank></x-element-blank>\n </ng-template>\n `,\n styles: [\n `\n .small-text {\n font-size: 0.7rem !important;\n }\n `,\n ],\n})\nexport class DashboardComponent extends BaseDirective {\n private readonly flyoutService = inject(FlyoutService);\n private readonly controlService = inject(ControlService);\n private readonly wizardService = inject(WizardService);\n private readonly periodService = inject(PeriodService);\n\n paymentMeta$ = () =>\n of({\n type: this.actionType,\n planTypeId: this.selectedPlanTypeId,\n periodType: this.periodType,\n });\n\n get paymentData(): PaymentContract {\n const amount = (\n this.actionType == 'apps.capital.dashboard.upgrade-plan'\n ? this.upgradePlanAmount\n : this.actionType == 'apps.capital.dashboard.pay-debt'\n ? this.payNowAmount\n : 0\n )!;\n return {\n mode: 'pay',\n appName: getEnv('APP_NAME'),\n amount: amount == 0 ? -1 : amount,\n hooks: {\n meta: () => this.paymentMeta$(),\n },\n options: ['card', 'provider', 'wallet'],\n redirect: (\n provider: string,\n amount: number,\n reference: string,\n currency: string,\n ) => {\n navigateExternal(\n `${getEnv('BASE_URL')}${this.router.url.split('?')[0]}?type=${provider}&reference=${reference}`,\n false,\n true,\n );\n },\n };\n }\n\n verifyPaymentData: PaymentContract = {\n mode: 'verify',\n appName: getEnv('APP_NAME'),\n amount: 0.0,\n hooks: {},\n options: [],\n };\n\n wizardData: WizardContract = {\n name: 'upgrade-plan',\n showProgress: true,\n showNav: false,\n };\n context = this.controlService.getContext();\n selectedPlanTypeId?: string;\n\n @ViewChild('beforeMetricsTemplate', {\n read: TemplateRef,\n static: true,\n })\n beforeMetricsTemplate!: TemplateRef<any>;\n\n @ViewChild('upgradePlanFlyout', { read: TemplateRef, static: true })\n upgradePlanFlyout!: TemplateRef<any>;\n\n @ViewChild('payNowFlyout', { read: TemplateRef, static: true })\n payNowFlyout!: TemplateRef<any>;\n\n planTypes$ = this.apiService\n .on('apps/capital/plan-type')\n .getMany({\n page: 1,\n perPage: 12,\n clientId: this.context?.clientId,\n currency: getEnv('X_PREFERENCE_CURRENCY'),\n })\n .pipe(\n takeUntil(this.$),\n map(({ data }) => data),\n );\n\n currentPlan: any = null;\n capital$: Observable<{\n plan: any;\n wallet: any;\n pending: any;\n estimate: any;\n }> = this.apiService.post('apps/capital/wallet/init').pipe(\n takeUntil(this.$),\n switchMap((wallet) =>\n forkJoin([\n this.apiService.get('apps/capital/user-plan'),\n of(wallet),\n this.apiService.get('apps/capital/debt'),\n this.apiService.get('apps/capital/accrual'),\n ]),\n ),\n map(([plan, wallet, pending, estimate]) => {\n this.currentPlan = plan?.data;\n return {\n plan: plan?.data,\n wallet: wallet?.data,\n pending: pending?.data,\n estimate: estimate?.data,\n };\n }),\n );\n\n private actionType?:\n | 'apps.capital.dashboard.upgrade-plan'\n | 'apps.capital.dashboard.pay-debt';\n\n upgradePlanAmount?: number;\n payNowAmount?: number;\n\n periodType = DefaultPeriodType;\n\n periodData$ = this.periodService.list().pipe(\n map((list) => ({\n default: list.find((item) => item.value == DefaultPeriodType)!,\n list,\n size: 'btn-lg',\n showSearch: false,\n })),\n );\n\n onPeriodSelect({ value }: PickerItemContract) {\n this.periodType = value;\n }\n\n upgradePlan() {\n this.actionType = 'apps.capital.dashboard.upgrade-plan';\n this.flyoutService.open(this.upgradePlanFlyout);\n }\n\n payNow(payNowAmount: number) {\n this.actionType = 'apps.capital.dashboard.pay-debt';\n this.payNowAmount = payNowAmount;\n this.flyoutService.open(this.payNowFlyout);\n }\n\n selectPlanType(planType: any) {\n this.selectedPlanTypeId = planType.id;\n this.apiService\n .post('apps/capital/user-plan/compute-upgrade', {\n planTypeId: planType.id,\n periodType: this.periodType,\n })\n .pipe(takeUntil(this.$))\n .subscribe(\n using(({ data }: any) => {\n this.upgradePlanAmount = data.diff;\n this.wizardService.goto(this.wizardData.name, 'make-payment');\n }),\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PaymentModule } from '@thescaffold/ngx-common';\nimport { PipesModule, SharedModule } from '@thescaffold/ngx-core';\nimport {\n ElementsModule,\n DashboardModule as InnerDashboardModule,\n WebgetsModule,\n} from '@thescaffold/ngx-ui';\nimport { CardProvider } from '../card/card.provider';\nimport { PaymentProvider } from '../payment/payment.provider';\nimport { DashboardComponent } from './dashboard.component';\n\n@NgModule({\n declarations: [DashboardComponent],\n imports: [\n SharedModule,\n InnerDashboardModule.register({\n metrics: [],\n providers: [CardProvider, PaymentProvider],\n templateSource: DashboardComponent,\n }),\n WebgetsModule,\n ElementsModule,\n PipesModule,\n PaymentModule,\n ],\n})\nexport class DashboardModule {}\n"],"names":["i3","i4","PaymentModule","InnerDashboardModule"],"mappings":"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"}