28 lines
746 B
TypeScript
28 lines
746 B
TypeScript
import type { MenuItem } from '@/domain/menu/entities';
|
|
import type { NewOrderLine } from '@/domain/shared/order-line';
|
|
import {
|
|
SWEETS_HALF_KG_PRICE,
|
|
SWEETS_KG_PRICE,
|
|
} from '@/domain/sweets/pricing';
|
|
|
|
export function buildCartLineFromMenuItem(item: MenuItem): NewOrderLine {
|
|
if (item.pricing === 'weight') {
|
|
return {
|
|
id: item.id,
|
|
name: item.name,
|
|
price: item.pricePerHalfKg ?? SWEETS_HALF_KG_PRICE,
|
|
image: item.image,
|
|
pricingMode: 'weight',
|
|
pricePerKg: item.pricePerKg ?? SWEETS_KG_PRICE,
|
|
pricePerHalfKg: item.pricePerHalfKg ?? SWEETS_HALF_KG_PRICE,
|
|
};
|
|
}
|
|
|
|
return {
|
|
id: item.id,
|
|
name: item.name,
|
|
price: item.price,
|
|
image: item.image,
|
|
pricingMode: 'standard',
|
|
};
|
|
} |