44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
export const GRAM_SLIDER_STEPS = [50, 100, 250, 500, 1000];
|
|
|
|
export function isGramUnit(packageUnit: string): boolean {
|
|
const u = (packageUnit || '').toLowerCase().trim();
|
|
return u === 'gramm' || u === 'g';
|
|
}
|
|
|
|
export function getProductStepSize(
|
|
packageUnit: string,
|
|
categoryName?: string | null,
|
|
productName?: string | null
|
|
): { step: number; label: string } {
|
|
const unit = (packageUnit || '').toLowerCase().trim();
|
|
const name = (productName || '').toLowerCase().trim();
|
|
const cat = (categoryName || '').toLowerCase().trim();
|
|
|
|
if (unit === 'gramm' || unit === 'g') {
|
|
const isSpice =
|
|
cat.includes('gewürz') ||
|
|
/paprika|hefe|gewürz|salz|pfeffer|curry|zimt|oregano|basilikum|thymian|knoblauch|chili|kümmel|rosmarin|muskat|kurkuma/i.test(
|
|
name
|
|
);
|
|
|
|
if (isSpice) {
|
|
return { step: 50, label: '50g' };
|
|
}
|
|
return { step: 250, label: '250g' };
|
|
}
|
|
|
|
if (unit === 'kilogramm' || unit === 'kg') {
|
|
return { step: 1, label: '1kg' };
|
|
}
|
|
|
|
if (unit === 'liter' || unit === 'l') {
|
|
return { step: 1, label: '1l' };
|
|
}
|
|
|
|
if (unit === 'milliliter' || unit === 'ml') {
|
|
return { step: 250, label: '250ml' };
|
|
}
|
|
|
|
return { step: 1, label: '1' };
|
|
}
|