Files
bakery-ia/frontend/src/components/domain/inventory/index.ts
2025-09-17 16:06:30 +02:00

96 lines
3.4 KiB
TypeScript
Raw Blame History

// Inventory Domain Components
// Focused Modal Components
export { default as CreateItemModal } from './CreateItemModal';
export { default as QuickViewModal } from './QuickViewModal';
export { default as AddStockModal } from './AddStockModal';
export { default as UseStockModal } from './UseStockModal';
export { default as HistoryModal } from './HistoryModal';
export { default as StockLotsModal } from './StockLotsModal';
export { default as EditItemModal } from './EditItemModal';
export { default as DeleteIngredientModal } from './DeleteIngredientModal';
// Re-export related types from inventory types
export type {
InventoryFilter,
IngredientResponse,
StockMovementResponse,
IngredientCreate,
IngredientUpdate,
UnitOfMeasure,
ProductType,
PaginatedResponse,
} from '../../../api/types/inventory';
// Utility exports for common inventory operations
export const INVENTORY_CONSTANTS = {
// Spanish bakery categories
BAKERY_CATEGORIES: [
{ value: 'harinas', label: 'Harinas' },
{ value: 'levaduras', label: 'Levaduras' },
{ value: 'azucares', label: 'Az<41>cares y Endulzantes' },
{ value: 'chocolates', label: 'Chocolates y Cacao' },
{ value: 'frutas', label: 'Frutas y Frutos Secos' },
{ value: 'lacteos', label: 'L<>cteos' },
{ value: 'huevos', label: 'Huevos' },
{ value: 'mantequillas', label: 'Mantequillas y Grasas' },
{ value: 'especias', label: 'Especias y Aromas' },
{ value: 'conservantes', label: 'Conservantes y Aditivos' },
{ value: 'decoracion', label: 'Decoraci<63>n' },
{ value: 'envases', label: 'Envases y Embalajes' },
{ value: 'utensilios', label: 'Utensilios y Equipos' },
{ value: 'limpieza', label: 'Limpieza e Higiene' },
],
// Stock level filters
STOCK_LEVEL_FILTERS: [
{ value: '', label: 'Todos los niveles' },
{ value: 'good', label: 'Stock Normal' },
{ value: 'low', label: 'Stock Bajo' },
{ value: 'critical', label: 'Stock Cr<43>tico' },
{ value: 'out', label: 'Sin Stock' },
],
// Units of measure commonly used in Spanish bakeries
BAKERY_UNITS: [
{ value: 'kg', label: 'Kilogramo (kg)' },
{ value: 'g', label: 'Gramo (g)' },
{ value: 'l', label: 'Litro (l)' },
{ value: 'ml', label: 'Mililitro (ml)' },
{ value: 'piece', label: 'Pieza (pz)' },
{ value: 'package', label: 'Paquete' },
{ value: 'bag', label: 'Bolsa' },
{ value: 'box', label: 'Caja' },
{ value: 'dozen', label: 'Docena' },
{ value: 'cup', label: 'Taza' },
{ value: 'tbsp', label: 'Cucharada' },
{ value: 'tsp', label: 'Cucharadita' },
],
// Default form values for new ingredients
DEFAULT_INGREDIENT_VALUES: {
low_stock_threshold: 10,
reorder_point: 20,
reorder_quantity: 50,
is_perishable: false,
requires_refrigeration: false,
requires_freezing: false,
},
// Alert severity colors and labels
ALERT_SEVERITY: {
CRITICAL: { label: 'Cr<43>tico', color: 'error', priority: 1 },
HIGH: { label: 'Alto', color: 'warning', priority: 2 },
MEDIUM: { label: 'Medio', color: 'info', priority: 3 },
LOW: { label: 'Bajo', color: 'secondary', priority: 4 },
},
// Stock status indicators
STOCK_STATUS: {
GOOD: { label: 'Normal', color: 'success' },
LOW: { label: 'Bajo', color: 'warning' },
CRITICAL: { label: 'Cr<43>tico', color: 'error' },
OUT: { label: 'Sin Stock', color: 'error' },
OVERSTOCKED: { label: 'Sobrestock', color: 'info' },
},
};