Merged PR 2021: feat(pickup-shelf): display Prämie label and Lesepunkte for reward items

feat(pickup-shelf): display Prämie label and Lesepunkte for reward items

- Add "Prämie" ui-label badge below product images in both list and details views
- Display Lesepunkte value instead of price for reward items
- Update getOrderItemRewardFeature helper to use structural typing for better type flexibility
- Apply to pickup-shelf-details-item and pickup-shelf-list-item components

Fixes #5467
This commit is contained in:
Lorenz Hilpert
2025-11-11 14:15:41 +00:00
committed by Nino Righi
parent cc186dbbe2
commit f261fc9987
7 changed files with 83 additions and 18 deletions

View File

@@ -1,7 +1,17 @@
import { OrderItemDTO, DisplayOrderItemDTO } from '@generated/swagger/oms-api';
/**
* Extracts and parses the reward points (Lesepunkte) value from an order item's features.
*
* @param orderItem - An object containing a features property with key-value pairs
* @returns The parsed numeric value of reward points, or undefined if not present
*
* @example
* ```ts
* const orderItem = { features: { praemie: '12.345' } };
* const points = getOrderItemRewardFeature(orderItem); // returns 12345
* ```
*/
export function getOrderItemRewardFeatureHelper(
orderItem: OrderItemDTO | DisplayOrderItemDTO | undefined,
orderItem: { features?: { [key: string]: string } } | undefined,
): undefined | number {
if (!orderItem || !orderItem.features) {
return undefined;