Add menu item allergens, drop nav Help link, animate customizer price
- Menu items can now list allergens (shared catalog + join table), shown on the menu grid and item detail pages when applicable, and editable from the admin menu item form. - Removed the top-nav "Help" link now that the footer links to it. - The item customization page's price now uses the sliding AnimatedNumber, matching the basket line price. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -145,6 +145,29 @@ export const seedGhostKitchen = async (db: NodePgDatabase<typeof schema>) => {
|
||||
])
|
||||
.returning()
|
||||
|
||||
const allergens = await db
|
||||
.insert(schema.allergens)
|
||||
.values([
|
||||
{ name: 'Gluten' },
|
||||
{ name: 'Dairy' },
|
||||
{ name: 'Eggs' },
|
||||
{ name: 'Soy' },
|
||||
{ name: 'Peanuts' },
|
||||
{ name: 'Tree nuts' },
|
||||
{ name: 'Sesame' },
|
||||
])
|
||||
.returning()
|
||||
const allergenByName = Object.fromEntries(
|
||||
allergens.map((allergen) => [allergen.name, allergen]),
|
||||
)
|
||||
|
||||
await db.insert(schema.menuItemAllergens).values([
|
||||
{ menuItemId: pizza.id, allergenId: allergenByName['Gluten'].id },
|
||||
{ menuItemId: pizza.id, allergenId: allergenByName['Dairy'].id },
|
||||
{ menuItemId: burger.id, allergenId: allergenByName['Gluten'].id },
|
||||
{ menuItemId: burger.id, allergenId: allergenByName['Sesame'].id },
|
||||
])
|
||||
|
||||
return {
|
||||
brand,
|
||||
machineTags: {
|
||||
@@ -156,6 +179,7 @@ export const seedGhostKitchen = async (db: NodePgDatabase<typeof schema>) => {
|
||||
machines: { prep1, oven1, grill1, assembly1 },
|
||||
menuItems: { pizza, burger },
|
||||
menuItemOptions: { pizza: pizzaOptions, burger: burgerOptions },
|
||||
allergens,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user