company-cafeteria-shared-demo
Version:
Package partagé pour l'écosystème Cafétéria Entreprise
134 lines • 4.17 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ORDER_STATUS_COLORS = exports.ORDER_STATUS_ICONS = exports.ORDER_STATUS_MESSAGES = exports.FINAL_STATUSES = exports.ACTIVE_STATUSES = exports.CANCELLABLE_STATUSES = exports.ORDER_STATUS_TRANSITIONS = exports.ORDER_STATUS = void 0;
exports.isValidStatusTransition = isValidStatusTransition;
exports.canCancelOrder = canCancelOrder;
exports.isActiveOrder = isActiveOrder;
exports.isFinalOrder = isFinalOrder;
/**
* Statuts possibles pour une commande
*/
exports.ORDER_STATUS = {
PENDING: 'pending',
CONFIRMED: 'confirmed',
PREPARING: 'preparing',
READY: 'ready',
COMPLETED: 'completed',
CANCELLED: 'cancelled'
};
/**
* Transitions de statut autorisées
*/
exports.ORDER_STATUS_TRANSITIONS = {
[]: [exports.ORDER_STATUS.CONFIRMED, exports.ORDER_STATUS.CANCELLED],
[]: [exports.ORDER_STATUS.PREPARING, exports.ORDER_STATUS.CANCELLED],
[]: [exports.ORDER_STATUS.READY, exports.ORDER_STATUS.CANCELLED],
[]: [exports.ORDER_STATUS.COMPLETED],
[]: [],
[]: []
};
/**
* Statuts où l'utilisateur peut annuler sa commande
*/
exports.CANCELLABLE_STATUSES = [
exports.ORDER_STATUS.PENDING,
exports.ORDER_STATUS.CONFIRMED
];
/**
* Statuts indiquant une commande active
*/
exports.ACTIVE_STATUSES = [
exports.ORDER_STATUS.PENDING,
exports.ORDER_STATUS.CONFIRMED,
exports.ORDER_STATUS.PREPARING,
exports.ORDER_STATUS.READY
];
/**
* Statuts finaux (commande terminée)
*/
exports.FINAL_STATUSES = [
exports.ORDER_STATUS.COMPLETED,
exports.ORDER_STATUS.CANCELLED
];
/**
* Messages d'affichage pour chaque statut
*/
exports.ORDER_STATUS_MESSAGES = {
[]: 'En attente de confirmation',
[]: 'Confirmée',
[]: 'En préparation',
[]: 'Prête à récupérer',
[]: 'Récupérée',
[]: 'Annulée'
};
/**
* Icônes pour chaque statut
*/
exports.ORDER_STATUS_ICONS = {
[]: '⏳',
[]: '✅',
[]: '👨🍳',
[]: '🍽️',
[]: '✨',
[]: '❌'
};
/**
* Couleurs pour chaque statut (Tailwind CSS)
*/
exports.ORDER_STATUS_COLORS = {
[]: {
bg: 'bg-yellow-100',
text: 'text-yellow-800',
border: 'border-yellow-200'
},
[]: {
bg: 'bg-blue-100',
text: 'text-blue-800',
border: 'border-blue-200'
},
[]: {
bg: 'bg-orange-100',
text: 'text-orange-800',
border: 'border-orange-200'
},
[]: {
bg: 'bg-green-100',
text: 'text-green-800',
border: 'border-green-200'
},
[]: {
bg: 'bg-gray-100',
text: 'text-gray-800',
border: 'border-gray-200'
},
[]: {
bg: 'bg-red-100',
text: 'text-red-800',
border: 'border-red-200'
}
};
/**
* Vérifie si une transition de statut est autorisée
*/
function isValidStatusTransition(currentStatus, newStatus) {
return exports.ORDER_STATUS_TRANSITIONS[currentStatus]?.includes(newStatus) ?? false;
}
/**
* Vérifie si une commande peut être annulée
*/
function canCancelOrder(status) {
return exports.CANCELLABLE_STATUSES.includes(status);
}
/**
* Vérifie si une commande est active
*/
function isActiveOrder(status) {
return exports.ACTIVE_STATUSES.includes(status);
}
/**
* Vérifie si une commande est terminée
*/
function isFinalOrder(status) {
return exports.FINAL_STATUSES.includes(status);
}
//# sourceMappingURL=orderStatus.js.map