Merge version_1 into main #2
@@ -6,10 +6,17 @@ import { useBlogPosts } from "@/hooks/useBlogPosts";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
import BlogCardThree from '@/components/sections/blog/BlogCardThree';
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function BlogPage() {
|
||||
const { posts, isLoading } = useBlogPosts();
|
||||
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Blog", id: "/blog" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
@@ -26,15 +33,7 @@ export default function BlogPage() {
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Order", id: "order" },
|
||||
{ name: "Menu", id: "menu" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Flavors", id: "flavors" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
navItems={navItems.map(item => ({...item, component: Link}))}
|
||||
brandName="bb.q chicken"
|
||||
/>
|
||||
</div>
|
||||
@@ -80,7 +79,6 @@ export default function BlogPage() {
|
||||
},
|
||||
]}
|
||||
copyrightText="© 2024 bb.q chicken — Columbus. All rights reserved."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Site footer with navigation and social links."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -38,8 +38,7 @@ export default function LandingPage() {
|
||||
logoText="bb.q chicken"
|
||||
description="Hand-brushed sauces. Double-fried crisp. Delivered hot, fast, and flavor-packed — every time. From our signature Honey Garlic Wings to our fiery Gangnam Spice, bb.q chicken brings Korea’s most iconic fried chicken experience straight to Columbus. Whether you’re dining in, grabbing takeout, or ordering delivery — expect premium crisp, bold flavor, and next-level freshness."
|
||||
buttons={[{text:"Order Now",href:"#order"},{text:"View Menu",href:"#flavors"}]}
|
||||
background={{variant:"blurBottom"}}
|
||||
imageSrc="https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42875.jpg?_wi=1"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42875.jpg"
|
||||
imageAlt="Crispy, saucy Korean fried chicken with bold flavors."
|
||||
mediaAnimation="blur-reveal"
|
||||
frameStyle="card"
|
||||
@@ -54,7 +53,7 @@ export default function LandingPage() {
|
||||
<MediaSplitTabsAbout
|
||||
title="Korean Fried Chicken — Perfected"
|
||||
tabs={[{id:"craft",label:"A Craft",description:"At bb.q chicken, fried chicken isn’t fast food — it’s a craft. Our chicken is double-fried for an ultra-light, ultra-crispy texture that stays crunchy even after it’s sauced."},{id:"flavors",label:"Bold Flavors",description:"Every batch is hand-coated in our signature Korean flavors, balancing sweet, spicy, savory, and umami in every bite. With dozens of sauce combinations and premium sides, we’ve become a go-to Columbus destination."},{id:"freshness",label:"Fresh & Hot",description:"Fresh. Hot. Crispy. Always. For dine-in nights, campus cravings, and late-night delivery, expect premium crisp, bold flavor, and next-level freshness."}]}
|
||||
imageSrc="https://img.b2bpic.net/free-photo/fried-crispy-fish-with-narsharab-sauce_140725-4669.jpg?_wi=1"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/fried-crispy-fish-with-narsharab-sauce_140725-4669.jpg"
|
||||
imageAlt="Chef hand-brushing sauce on crispy fried chicken."
|
||||
mediaAnimation="slide-up"
|
||||
imagePosition="right"
|
||||
@@ -72,7 +71,7 @@ export default function LandingPage() {
|
||||
<FeatureCardThree
|
||||
title="Choose Your Flavor Obsession"
|
||||
description="Fan-favorite sauces inspired by real reviews"
|
||||
features={[{id:"01",title:"Honey Garlic",description:"Sweet, glossy, and dangerously addictive. A perfect balance of rich garlic and golden honey.",imageSrc:"https://img.b2bpic.net/free-photo/high-angle-delicious-chicken-dish_23-2148771293.jpg?_wi=1",imageAlt:"Honey garlic fried chicken wings."},{id:"02",title:"Soy Garlic",description:"Classic Korean comfort — savory, aromatic, and crispy perfection.",imageSrc:"https://img.b2bpic.net/free-photo/high-angle-fried-chicken-legs-with-sauce_23-2148646631.jpg",imageAlt:"Soy garlic fried chicken."},{id:"03",title:"Gangnam Spicy",description:"Sweet heat that builds with every bite. A Columbus fan favorite.",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42880.jpg?_wi=1",imageAlt:"Gangnam spicy fried chicken."},{id:"04",title:"Secret Sauce",description:"Our signature blend — sweet, tangy, and unforgettable.",imageSrc:"https://img.b2bpic.net/free-photo/fried-crispy-fish-with-narsharab-sauce_140725-4669.jpg?_wi=2",imageAlt:"Fried chicken with bb.q chicken's secret sauce."},{id:"05",title:"Hot Spicy",description:"For serious heat lovers. Crispy outside, fiery inside.",imageSrc:"https://img.b2bpic.net/free-photo/grilled-chicken-wings-with-ketchup-dark-background_84443-72406.jpg",imageAlt:"Extremely hot and spicy fried chicken."},{id:"06",title:"Spicy Galbi",description:"Smoky, bold, and uniquely Korean BBQ inspired.",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42880.jpg?_wi=2",imageAlt:"Spicy galbi flavored fried chicken."}]}
|
||||
features={[{id:"01",title:"Honey Garlic",description:"Sweet, glossy, and dangerously addictive. A perfect balance of rich garlic and golden honey.",imageSrc:"https://img.b2bpic.net/free-photo/high-angle-delicious-chicken-dish_23-2148771293.jpg",imageAlt:"Honey garlic fried chicken wings."},{id:"02",title:"Soy Garlic",description:"Classic Korean comfort — savory, aromatic, and crispy perfection.",imageSrc:"https://img.b2bpic.net/free-photo/high-angle-fried-chicken-legs-with-sauce_23-2148646631.jpg",imageAlt:"Soy garlic fried chicken."},{id:"03",title:"Gangnam Spicy",description:"Sweet heat that builds with every bite. A Columbus fan favorite.",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42880.jpg",imageAlt:"Gangnam spicy fried chicken."},{id:"04",title:"Secret Sauce",description:"Our signature blend — sweet, tangy, and unforgettable.",imageSrc:"https://img.b2bpic.net/free-photo/fried-crispy-fish-with-narsharab-sauce_140725-4669.jpg",imageAlt:"Fried chicken with bb.q chicken's secret sauce."},{id:"05",title:"Hot Spicy",description:"For serious heat lovers. Crispy outside, fiery inside.",imageSrc:"https://img.b2bpic.net/free-photo/grilled-chicken-wings-with-ketchup-dark-background_84443-72406.jpg",imageAlt:"Extremely hot and spicy fried chicken."},{id:"06",title:"Spicy Galbi",description:"Smoky, bold, and uniquely Korean BBQ inspired.",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42880.jpg",imageAlt:"Spicy galbi flavored fried chicken."}]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
@@ -163,7 +162,8 @@ export default function LandingPage() {
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardFive
|
||||
title="Columbus Can’t Get Enough"
|
||||
testimonials={[{id:"1",name:"Sarah Johnson",date:"Date: 28 October 2024",title:"Delivered in 30–45 minutes — fresh and hot. Already can’t wait to order again.",quote:"\"Delivered in 30–45 minutes — fresh and hot. Already can’t wait to order again.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/young-man-wearing-blue-outfit-looking-happy_1298-197.jpg",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42875.jpg?_wi=2",imageAlt:"Customer enjoying bb.q chicken"},{id:"2",name:"Michael Chen",date:"Date: 29 October 2024",title:"So many flavor options. Crispy, great value, amazing service.",quote:"\"So many flavor options. Crispy, great value, amazing service.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg",imageSrc:"https://img.b2bpic.net/free-photo/high-angle-delicious-chicken-dish_23-2148771293.jpg?_wi=2",imageAlt:"Crispy fried chicken with various sauces"},{id:"3",name:"Emily Rodriguez",date:"Date: 30 October 2024",title:"Better than similar spots around Columbus. Boneless chicken was juicy and perfectly crispy.",quote:"\"Better than similar spots around Columbus. Boneless chicken was juicy and perfectly crispy.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/handsome-man-outdoors-portrait_158595-3552.jpg",imageSrc:"https://img.b2bpic.net/free-photo/fried-crispy-fish-with-narsharab-sauce_140725-4669.jpg?_wi=3",imageAlt:"Close up of juicy fried chicken"},{id:"4",name:"David Kim",date:"Date: 31 October 2024",title:"Gangnam spicy is the perfect sweet-heat balance. Crispiness is next level.",quote:"\"Gangnam spicy is the perfect sweet-heat balance. Crispiness is next level.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/portrait-barista-boy-cafe_23-2148436241.jpg",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42880.jpg?_wi=3",imageAlt:"Gangnam spicy fried chicken being served"}]}
|
||||
description="See what our customers are saying about their new favorite chicken spot."
|
||||
testimonials={[{id:"1",name:"Sarah Johnson",date:"Date: 28 October 2024",title:"Delivered in 30–45 minutes — fresh and hot. Already can’t wait to order again.",quote:"\"Delivered in 30–45 minutes — fresh and hot. Already can’t wait to order again.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/young-man-wearing-blue-outfit-looking-happy_1298-197.jpg",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42875.jpg",imageAlt:"Customer enjoying bb.q chicken"},{id:"2",name:"Michael Chen",date:"Date: 29 October 2024",title:"So many flavor options. Crispy, great value, amazing service.",quote:"\"So many flavor options. Crispy, great value, amazing service.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg",imageSrc:"https://img.b2bpic.net/free-photo/high-angle-delicious-chicken-dish_23-2148771293.jpg",imageAlt:"Crispy fried chicken with various sauces"},{id:"3",name:"Emily Rodriguez",date:"Date: 30 October 2024",title:"Better than similar spots around Columbus. Boneless chicken was juicy and perfectly crispy.",quote:"\"Better than similar spots around Columbus. Boneless chicken was juicy and perfectly crispy.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/handsome-man-outdoors-portrait_158595-3552.jpg",imageSrc:"https://img.b2bpic.net/free-photo/fried-crispy-fish-with-narsharab-sauce_140725-4669.jpg",imageAlt:"Close up of juicy fried chicken"},{id:"4",name:"David Kim",date:"Date: 31 October 2024",title:"Gangnam spicy is the perfect sweet-heat balance. Crispiness is next level.",quote:"\"Gangnam spicy is the perfect sweet-heat balance. Crispiness is next level.\"",tag:"★★★★★",avatarSrc:"https://img.b2bpic.net/free-photo/portrait-barista-boy-cafe_23-2148436241.jpg",imageSrc:"https://img.b2bpic.net/free-photo/chicken-fried-spicy-sauce-korean-style_1150-42880.jpg",imageAlt:"Gangnam spicy fried chicken being served"}]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Customer testimonials section."
|
||||
@@ -182,7 +182,6 @@ export default function LandingPage() {
|
||||
inputPlaceholder="Leave your email for exclusive deals!"
|
||||
buttonText="Order Now"
|
||||
termsText="By ordering you agree to our terms & conditions."
|
||||
background={{variant:"blurBottom"}}
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Final call to action section for ordering."
|
||||
tagClassName="text-xl font-bold"
|
||||
|
||||
@@ -11,6 +11,7 @@ import ProductCart from "@/components/ecommerce/cart/ProductCart";
|
||||
import { useProductDetail } from "@/hooks/useProductDetail";
|
||||
import { useCart } from "@/hooks/useCart";
|
||||
import { useCheckout } from "@/hooks/useCheckout";
|
||||
import Link from 'next/link';
|
||||
|
||||
interface ProductPageProps {
|
||||
params: Promise<{ id: string }>;
|
||||
@@ -74,6 +75,12 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() });
|
||||
}, [cartItems, checkout, getCheckoutItems]);
|
||||
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Blog", id: "/blog" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
];
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<ThemeProvider
|
||||
@@ -91,9 +98,9 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleApple
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
navItems={navItems.map(item => ({...item, component: Link}))}
|
||||
brandName="bb.q chicken"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<div id="loading-section" data-section="loading-section">
|
||||
@@ -109,7 +116,6 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
{ title: "Follow Us", items: [{ label: "Instagram", href: "#" }, { label: "Facebook", href: "#" }, { label: "TikTok", href: "#" }] }
|
||||
]}
|
||||
copyrightText="© 2024 bb.q chicken — Columbus. All rights reserved."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Site footer with navigation and social links."
|
||||
/>
|
||||
</div>
|
||||
@@ -135,9 +141,9 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleApple
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
navItems={navItems.map(item => ({...item, component: Link}))}
|
||||
brandName="bb.q chicken"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<div id="not-found-section" data-section="not-found-section">
|
||||
@@ -161,7 +167,6 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
{ title: "Follow Us", items: [{ label: "Instagram", href: "#" }, { label: "Facebook", href: "#" }, { label: "TikTok", href: "#" }] }
|
||||
]}
|
||||
copyrightText="© 2024 bb.q chicken — Columbus. All rights reserved."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Site footer with navigation and social links."
|
||||
/>
|
||||
</div>
|
||||
@@ -187,8 +192,8 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleApple
|
||||
brandName="bb.q chicken"
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
navItems={navItems.map(item => ({...item, component: Link}))}
|
||||
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<div id="product-detail-card" data-section="product-detail-card">
|
||||
@@ -235,7 +240,6 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
{ title: "Follow Us", items: [{ label: "Instagram", href: "#" }, { label: "Facebook", href: "#" }, { label: "TikTok", href: "#" }] }
|
||||
]}
|
||||
copyrightText="© 2024 bb.q chicken — Columbus. All rights reserved."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Site footer with navigation and social links."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -10,6 +10,7 @@ import ProductCart from "@/components/ecommerce/cart/ProductCart";
|
||||
import { useProductCatalog } from "@/hooks/useProductCatalog";
|
||||
import { useCart } from "@/hooks/useCart";
|
||||
import { useCheckout } from "@/hooks/useCheckout";
|
||||
import Link from 'next/link';
|
||||
|
||||
function ShopPageContent() {
|
||||
const {
|
||||
@@ -41,6 +42,12 @@ function ShopPageContent() {
|
||||
await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() });
|
||||
}, [cartItems, checkout, getCheckoutItems]);
|
||||
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Blog", id: "/blog" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
];
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<ThemeProvider
|
||||
@@ -58,7 +65,7 @@ function ShopPageContent() {
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleApple
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
navItems={navItems.map(item => ({...item, component: Link}))}
|
||||
brandName="bb.q chicken"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
@@ -76,7 +83,6 @@ function ShopPageContent() {
|
||||
{ title: "Follow Us", items: [{ label: "Instagram", href: "#" }, { label: "Facebook", href: "#" }, { label: "TikTok", href: "#" }] }
|
||||
]}
|
||||
copyrightText="© 2024 bb.q chicken — Columbus. All rights reserved."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Site footer with navigation and social links."
|
||||
/>
|
||||
</div>
|
||||
@@ -101,9 +107,9 @@ function ShopPageContent() {
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleApple
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
navItems={navItems.map(item => ({...item, component: Link}))}
|
||||
brandName="bb.q chicken"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
button={{ text: `Cart (${cartItems.length})`, onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<div id="product-catalog" data-section="product-catalog">
|
||||
@@ -140,7 +146,6 @@ function ShopPageContent() {
|
||||
{ title: "Follow Us", items: [{ label: "Instagram", href: "#" }, { label: "Facebook", href: "#" }, { label: "TikTok", href: "#" }] }
|
||||
]}
|
||||
copyrightText="© 2024 bb.q chicken — Columbus. All rights reserved."
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Site footer with navigation and social links."
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user