company-cafeteria-shared-demo
Version:
Package partagé pour l'écosystème Cafétéria Entreprise
204 lines • 7.37 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_PREPARATION_TIMES = exports.DIETARY_LABELS = exports.DIETARY_PREFERENCES = exports.ALLERGEN_LABELS = exports.ALLERGENS = exports.CATEGORY_ORDER = exports.CATEGORY_COLORS = exports.CATEGORY_ICONS = exports.CATEGORY_LABELS = exports.MENU_CATEGORIES = void 0;
exports.isCategoryCompatible = isCategoryCompatible;
exports.getDefaultPreparationTime = getDefaultPreparationTime;
/**
* Catégories de plats disponibles
*/
exports.MENU_CATEGORIES = {
PLATS: 'plats',
SALADES: 'salades',
SANDWICHS: 'sandwichs',
SOUPES: 'soupes',
DESSERTS: 'desserts',
BOISSONS: 'boissons',
ENTREES: 'entrees',
VEGETARIEN: 'vegetarien',
VEGAN: 'vegan'
};
/**
* Libellés d'affichage pour les catégories
*/
exports.CATEGORY_LABELS = {
[]: 'Plats principaux',
[]: 'Salades',
[]: 'Sandwichs & Wraps',
[]: 'Soupes',
[]: 'Desserts',
[]: 'Boissons',
[]: 'Entrées',
[]: 'Végétarien',
[]: 'Vegan'
};
/**
* Icônes pour chaque catégorie
*/
exports.CATEGORY_ICONS = {
[]: '🍖',
[]: '🥗',
[]: '🥪',
[]: '🍲',
[]: '🍰',
[]: '🥤',
[]: '🍤',
[]: '🌱',
[]: '🌿'
};
/**
* Couleurs pour chaque catégorie
*/
exports.CATEGORY_COLORS = {
[]: { primary: '#EF4444', secondary: '#FEE2E2' },
[]: { primary: '#10B981', secondary: '#D1FAE5' },
[]: { primary: '#F59E0B', secondary: '#FEF3C7' },
[]: { primary: '#8B5CF6', secondary: '#EDE9FE' },
[]: { primary: '#EC4899', secondary: '#FCE7F3' },
[]: { primary: '#06B6D4', secondary: '#CFFAFE' },
[]: { primary: '#F97316', secondary: '#FFEDD5' },
[]: { primary: '#65A30D', secondary: '#ECFCCB' },
[]: { primary: '#059669', secondary: '#D1FAE5' }
};
/**
* Ordre d'affichage des catégories
*/
exports.CATEGORY_ORDER = [
exports.MENU_CATEGORIES.PLATS,
exports.MENU_CATEGORIES.SALADES,
exports.MENU_CATEGORIES.SANDWICHS,
exports.MENU_CATEGORIES.SOUPES,
exports.MENU_CATEGORIES.ENTREES,
exports.MENU_CATEGORIES.DESSERTS,
exports.MENU_CATEGORIES.BOISSONS,
exports.MENU_CATEGORIES.VEGETARIEN,
exports.MENU_CATEGORIES.VEGAN
];
/**
* Allergènes possibles
*/
exports.ALLERGENS = {
GLUTEN: 'gluten',
DAIRY: 'dairy',
EGGS: 'eggs',
NUTS: 'nuts',
PEANUTS: 'peanuts',
SOY: 'soy',
FISH: 'fish',
SHELLFISH: 'shellfish',
SESAME: 'sesame',
SULFITES: 'sulfites',
CELERY: 'celery',
MUSTARD: 'mustard',
LUPIN: 'lupin',
MOLLUSCS: 'molluscs'
};
/**
* Libellés pour les allergènes
*/
exports.ALLERGEN_LABELS = {
[]: 'Gluten',
[]: 'Lait',
[]: 'Œufs',
[]: 'Fruits à coque',
[]: 'Arachides',
[]: 'Soja',
[]: 'Poisson',
[]: 'Crustacés',
[]: 'Sésame',
[]: 'Sulfites',
[]: 'Céleri',
[]: 'Moutarde',
[]: 'Lupin',
[]: 'Mollusques'
};
/**
* Régimes alimentaires
*/
exports.DIETARY_PREFERENCES = {
VEGETARIAN: 'vegetarian',
VEGAN: 'vegan',
PESCATARIAN: 'pescatarian',
GLUTEN_FREE: 'gluten_free',
DAIRY_FREE: 'dairy_free',
LOW_CARB: 'low_carb',
KETO: 'keto',
HALAL: 'halal',
KOSHER: 'kosher'
};
/**
* Libellés pour les régimes alimentaires
*/
exports.DIETARY_LABELS = {
[]: 'Végétarien',
[]: 'Vegan',
[]: 'Pescatarien',
[]: 'Sans gluten',
[]: 'Sans lactose',
[]: 'Faible en glucides',
[]: 'Cétogène',
[]: 'Halal',
[]: 'Casher'
};
/**
* Temps de préparation par défaut par catégorie (en minutes)
*/
exports.DEFAULT_PREPARATION_TIMES = {
[]: 15,
[]: 5,
[]: 8,
[]: 3,
[]: 2,
[]: 1,
[]: 7,
[]: 12,
[]: 12
};
/**
* Vérifie si une catégorie est compatible avec un régime alimentaire
*/
function isCategoryCompatible(category, dietary) {
const compatibilityMap = {
[]: [
exports.MENU_CATEGORIES.SALADES,
exports.MENU_CATEGORIES.DESSERTS,
exports.MENU_CATEGORIES.BOISSONS,
exports.MENU_CATEGORIES.ENTREES,
exports.MENU_CATEGORIES.VEGETARIEN,
exports.MENU_CATEGORIES.VEGAN
],
[]: [
exports.MENU_CATEGORIES.SALADES,
exports.MENU_CATEGORIES.BOISSONS,
exports.MENU_CATEGORIES.VEGAN
],
[]: [
exports.MENU_CATEGORIES.SALADES,
exports.MENU_CATEGORIES.DESSERTS,
exports.MENU_CATEGORIES.BOISSONS,
exports.MENU_CATEGORIES.ENTREES,
exports.MENU_CATEGORIES.VEGETARIEN,
exports.MENU_CATEGORIES.VEGAN
],
[]: [],
[]: [],
[]: [
exports.MENU_CATEGORIES.PLATS,
exports.MENU_CATEGORIES.SALADES,
exports.MENU_CATEGORIES.SOUPES
],
[]: [
exports.MENU_CATEGORIES.PLATS,
exports.MENU_CATEGORIES.SALADES
],
[]: [],
[]: []
};
return compatibilityMap[dietary]?.includes(category) ?? true;
}
/**
* Obtient la durée de préparation par défaut pour une catégorie
*/
function getDefaultPreparationTime(category) {
return exports.DEFAULT_PREPARATION_TIMES[category] ?? 10;
}
//# sourceMappingURL=menuCategories.js.map