From 8c0de558a4605b86ef5d23cebe82f15cb9140cb3 Mon Sep 17 00:00:00 2001 From: Nino Date: Tue, 18 Nov 2025 16:44:54 +0100 Subject: [PATCH] feature(crm-customer-card): Improvements, Refresh Transactions Refs: #5316, #5315 --- .../kundenkarte-main-view.component.html | 10 +++---- ...rm-feature-customer-booking.component.html | 15 ++++++++-- .../crm-feature-customer-booking.component.ts | 2 ++ ...-customer-card-transactions.component.html | 29 ++++++++++++++----- ...re-customer-card-transactions.component.ts | 19 +++++++++--- libs/ui/tooltip/src/tooltip.scss | 2 +- 6 files changed, 58 insertions(+), 19 deletions(-) diff --git a/apps/isa-app/src/page/customer/customer-search/kundenkarte-main-view/kundenkarte-main-view.component.html b/apps/isa-app/src/page/customer/customer-search/kundenkarte-main-view/kundenkarte-main-view.component.html index 3267af977..9fc039af8 100644 --- a/apps/isa-app/src/page/customer/customer-search/kundenkarte-main-view/kundenkarte-main-view.component.html +++ b/apps/isa-app/src/page/customer/customer-search/kundenkarte-main-view/kundenkarte-main-view.component.html @@ -10,11 +10,11 @@ [tabId]="processId$ | async" class="mt-4" /> - - +@let cardCode = firstActiveCardCode(); +@if (cardCode) { + +} + - Kulanzbuchungen - 1€ entspricht 10 Lesepunkten + Lesepunkte verpunkten +
+ 1€ entspricht 10 Lesepunkten + +
@if (transactions()?.length) { -

- Letzte 5 Transaktionen des Kunden -

+
+

+ Letzte Transaktionen des Kunden +

+ + + +
} @if (isLoading()) { @@ -22,7 +33,7 @@ - + + @@ -43,7 +54,7 @@
DatumDatum {{ t.date | date: 'dd.MM.yyyy' }} {{ @@ -33,7 +44,7 @@ - BuchungsartBuchungsart {{ t.reason || '-' }} Umsatz - @if (t.type === 'BURN') { + @if (t.type === 'BURN' && t.amount >= 0) { - } {{ t.amount || 0 | number: '1.2-2' : 'de-DE' }} EUR @@ -69,7 +80,11 @@ } @else if (t.type === 'BURN') { - -{{ t.points }} + @if (t.points >= 0) { + -{{ t.points }} + } @else { + {{ t.points }} + } } @else { diff --git a/libs/crm/feature/customer-card-transactions/src/lib/crm-feature-customer-card-transactions/crm-feature-customer-card-transactions.component.ts b/libs/crm/feature/customer-card-transactions/src/lib/crm-feature-customer-card-transactions/crm-feature-customer-card-transactions.component.ts index 37d697d2b..50bb06589 100644 --- a/libs/crm/feature/customer-card-transactions/src/lib/crm-feature-customer-card-transactions/crm-feature-customer-card-transactions.component.ts +++ b/libs/crm/feature/customer-card-transactions/src/lib/crm-feature-customer-card-transactions/crm-feature-customer-card-transactions.component.ts @@ -9,11 +9,16 @@ import { import { DatePipe, DecimalPipe } from '@angular/common'; import { CdkTableModule } from '@angular/cdk/table'; import { NgIconComponent, provideIcons } from '@ng-icons/core'; -import { isaActionPolygonUp, isaActionPolygonDown } from '@isa/icons'; +import { + isaActionPolygonUp, + isaActionPolygonDown, + isaActionSearch, +} from '@isa/icons'; import { logger } from '@isa/core/logging'; import { EmptyStateComponent } from '@isa/ui/empty-state'; import { CustomerCardTransactionsResource } from '@isa/crm/data-access'; import { LoyaltyBookingInfoDTO } from '@generated/swagger/crm-api'; +import { IconButtonComponent } from '@isa/ui/buttons'; @Component({ selector: 'crm-customer-card-transactions', @@ -23,8 +28,11 @@ import { LoyaltyBookingInfoDTO } from '@generated/swagger/crm-api'; CdkTableModule, NgIconComponent, EmptyStateComponent, + IconButtonComponent, + ], + providers: [ + provideIcons({ isaActionPolygonUp, isaActionPolygonDown, isaActionSearch }), ], - providers: [provideIcons({ isaActionPolygonUp, isaActionPolygonDown })], templateUrl: './crm-feature-customer-card-transactions.component.html', styleUrl: './crm-feature-customer-card-transactions.component.css', changeDetection: ChangeDetectionStrategy.OnPush, @@ -75,8 +83,11 @@ export class CrmFeatureCustomerCardTransactionsComponent { const code = this.cardCode(); this.#logger.debug('Card code changed', () => ({ cardCode: code })); this.#transactionsResource.params({ cardCode: code }); - - console.log(this.transactions()); }); } + + refresh() { + this.#transactionsResource.params({ cardCode: this.cardCode() }); + this.#transactionsResource.resource.reload(); + } } diff --git a/libs/ui/tooltip/src/tooltip.scss b/libs/ui/tooltip/src/tooltip.scss index 20221bbc5..84981f3a5 100644 --- a/libs/ui/tooltip/src/tooltip.scss +++ b/libs/ui/tooltip/src/tooltip.scss @@ -28,7 +28,7 @@ } .ui-tooltip-content { - @apply isa-text-body-2-regular text-isa-neutral-600; + @apply isa-text-body-2-regular text-isa-neutral-600 whitespace-pre-line; } .ui-tooltip--warning .ui-tooltip-title {