mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
Implements #5316 - Service Portal History displaying last 5 loyalty card transactions **New feature library:** - Created @isa/crm/feature/customer-card-transactions with CDK table component - Shows transactions for first activated customer loyalty card - Displays: Date, Transaction type (reason), Amount (EUR), Receipt number, Points **Data layer:** - Added CustomerCardTransactionsResource with reactive resource pattern - Extended CrmSearchService with fetchLoyaltyBookings() method - Uses LoyaltyCardService.LoyaltyCardListBookings() API endpoint **UI/UX:** - CDK table with ISA design system colors - Header: 48px height, rounded corners (26px), neutral-400 background - Visual indicators: Green up arrow (EARN), Red down arrow (BURN) - German locale formatting (dd.MM.yyyy HH:mm.ss) - Full-width table layout with proper spacing (24px between rows) - Empty state when no transactions available **Icons:** - Added isaActionPolygonUp and isaActionPolygonDown to @isa/icons **Integration:** - Integrated into kundenkarte-main-view component - Automatically loads transactions for first active card
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
/// <reference types='vitest' />
|
|
import { defineConfig } from 'vite';
|
|
import angular from '@analogjs/vite-plugin-angular';
|
|
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
|
import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
|
|
|
|
export default
|
|
// @ts-expect-error - Vitest reporter tuple types have complex inference issues
|
|
defineConfig(() => ({
|
|
root: __dirname,
|
|
cacheDir:
|
|
'../../../../node_modules/.vite/libs/crm/feature/customer-card-transactions',
|
|
plugins: [angular(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
|
|
// Uncomment this if you are using workers.
|
|
// worker: {
|
|
// plugins: [ nxViteTsPaths() ],
|
|
// },
|
|
test: {
|
|
watch: false,
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
setupFiles: ['src/test-setup.ts'],
|
|
reporters: [
|
|
'default',
|
|
['junit', { outputFile: '../../../../testresults/junit-crm-feature-customer-card-transactions.xml' }],
|
|
],
|
|
coverage: {
|
|
reportsDirectory:
|
|
'../../../../coverage/libs/crm/feature/customer-card-transactions',
|
|
provider: 'v8' as const,
|
|
reporter: ['text', 'cobertura'],
|
|
},
|
|
},
|
|
}));
|