diff --git a/src/pages/HomePage/sections/Menu.tsx b/src/pages/HomePage/sections/Menu.tsx index 6bebe23..b632698 100644 --- a/src/pages/HomePage/sections/Menu.tsx +++ b/src/pages/HomePage/sections/Menu.tsx @@ -1,33 +1,216 @@ -// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this -// file as the canonical source for the "menu" section. +/* eslint-disable */ +// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body +import { useState } from "react"; +import { motion, AnimatePresence } from "motion/react"; +import { cls } from "@/lib/utils"; +import TextAnimation from "@/components/ui/TextAnimation"; +import ImageOrVideo from "@/components/ui/ImageOrVideo"; +import Button from "@/components/ui/Button"; -import React from 'react'; -import FeaturesFilterGrid from "@/components/sections/features/FeaturesFilterGrid"; +const categories = [ + "Hot Drinks", + "Cold Drinks", + "Pastries" +]; +const items = [ + { + name: "Espresso", + category: "Hot Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/espresso.webp" + }, + { + name: "Latte", + category: "Hot Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/latte-menu.webp" + }, + { + name: "Iced Latte", + category: "Cold Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/trail/trail-2.webp" + }, + { + name: "Cappuccino", + category: "Hot Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/cappuccino.webp" + }, + { + name: "Iced Americano", + category: "Cold Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/hero/iced-coffee.webp" + }, + { + name: "Mocha", + category: "Hot Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/mocha.webp" + }, + { + name: "Iced Mocha", + category: "Cold Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/trail/trail-6.webp" + }, + { + name: "Flat White", + category: "Hot Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/trail/trail-7.webp" + }, + { + name: "Iced Flat White", + category: "Cold Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/iced-flat-white.webp" + }, + { + name: "Chai Latte", + category: "Hot Drinks", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/chai-latte.webp" + }, + { + name: "Croissant", + category: "Pastries", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/trail/trail-3.webp" + }, + { + name: "Chocolate Chip Cookie", + category: "Pastries", + imageSrc: "https://storage.googleapis.com/webild/default/templates/joes-coffee/menu/chocolate-chip-cookie.webp" + } +]; + +const gridVariants = { + hidden: { opacity: 0 }, + visible: { + opacity: 1, + transition: { staggerChildren: 0.05 } + }, + exit: { opacity: 0 } +}; + +const itemVariants = { + hidden: { opacity: 0, scale: 0.9, y: 10 }, + visible: { + opacity: 1, + scale: 1, + y: 0, + transition: { duration: 0.3, ease: [0.16, 1, 0.3, 1] as const } + } +}; + +type FilterItem = { + name: string; + category: string; +} & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never }); + +type FeaturesFilterGridProps = { + tag: string; + title: string; + description: string; + categories: string[]; + items: FilterItem[]; + textAnimation: "slide-up" | "fade-blur" | "fade"; +}; + +const MenuInline = () => { + const allCategories = ["All", ...categories]; + const [activeFilter, setActiveFilter] = useState("All"); + + const filteredItems = items.filter(item => + activeFilter === "All" || item.category === activeFilter + ); + + const handleFilter = (category: string) => { + if (category === activeFilter) return; + setActiveFilter(category); + }; -export default function MenuSection(): React.JSX.Element { return ( - +
+
+
+
+

{"What We Serve"}

+
+ + + + + +
+ {allCategories.map((category) => ( + + ))} +
+
+ +
+ + + {filteredItems.map((item) => ( + +
+
+ +
+

{item.name}

+
+
+
+
+ ))} +
+
+
+
+
+ ); +}; + +export default function MenuSection() { + return ( + ); }