grocery-app/frontend/src/constants/classifications.js
2026-01-02 14:27:39 -08:00

135 lines
2.5 KiB
JavaScript

// Item classification constants - app-level controlled values
export const ITEM_TYPES = {
PRODUCE: "produce",
MEAT: "meat",
DAIRY: "dairy",
BAKERY: "bakery",
FROZEN: "frozen",
PANTRY: "pantry",
BEVERAGE: "beverage",
SNACK: "snack",
HOUSEHOLD: "household",
PERSONAL_CARE: "personal_care",
OTHER: "other",
};
// Item groups filtered by item type
export const ITEM_GROUPS = {
[ITEM_TYPES.PRODUCE]: [
"Fruits",
"Vegetables",
"Salad Mix",
"Herbs",
"Organic Produce",
],
[ITEM_TYPES.MEAT]: [
"Beef",
"Pork",
"Chicken",
"Seafood",
"Deli Meat",
"Prepared Meat",
],
[ITEM_TYPES.DAIRY]: [
"Milk",
"Cheese",
"Yogurt",
"Butter",
"Eggs",
"Cream",
],
[ITEM_TYPES.BAKERY]: [
"Bread",
"Rolls",
"Pastries",
"Cakes",
"Bagels",
"Tortillas",
],
[ITEM_TYPES.FROZEN]: [
"Frozen Meals",
"Ice Cream",
"Frozen Vegetables",
"Frozen Meat",
"Pizza",
"Desserts",
],
[ITEM_TYPES.PANTRY]: [
"Canned Goods",
"Pasta",
"Rice",
"Cereal",
"Condiments",
"Spices",
"Baking",
"Oils",
],
[ITEM_TYPES.BEVERAGE]: [
"Water",
"Soda",
"Juice",
"Coffee",
"Tea",
"Alcohol",
"Sports Drinks",
],
[ITEM_TYPES.SNACK]: [
"Chips",
"Crackers",
"Nuts",
"Candy",
"Cookies",
"Protein Bars",
],
[ITEM_TYPES.HOUSEHOLD]: [
"Cleaning Supplies",
"Paper Products",
"Laundry",
"Kitchen Items",
"Storage",
],
[ITEM_TYPES.PERSONAL_CARE]: [
"Bath & Body",
"Hair Care",
"Oral Care",
"Skincare",
"Health",
],
[ITEM_TYPES.OTHER]: [
"Miscellaneous",
],
};
// Store zones for Costco layout
export const ZONES = [
"Front Entry",
"Fresh Foods Right",
"Fresh Foods Left",
"Center Aisles",
"Bakery",
"Meat Department",
"Dairy Cooler",
"Freezer Section",
"Back Wall",
"Checkout Area",
];
// Helper to get display label for item type
export const getItemTypeLabel = (type) => {
const labels = {
[ITEM_TYPES.PRODUCE]: "Produce",
[ITEM_TYPES.MEAT]: "Meat & Seafood",
[ITEM_TYPES.DAIRY]: "Dairy & Eggs",
[ITEM_TYPES.BAKERY]: "Bakery",
[ITEM_TYPES.FROZEN]: "Frozen",
[ITEM_TYPES.PANTRY]: "Pantry & Dry Goods",
[ITEM_TYPES.BEVERAGE]: "Beverages",
[ITEM_TYPES.SNACK]: "Snacks",
[ITEM_TYPES.HOUSEHOLD]: "Household",
[ITEM_TYPES.PERSONAL_CARE]: "Personal Care",
[ITEM_TYPES.OTHER]: "Other",
};
return labels[type] || type;
};