Merge version_1 into main #2
248
src/app/page.tsx
248
src/app/page.tsx
@@ -35,9 +35,7 @@ export default function HomePage() {
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
button={{
|
||||
text: "Order Now",
|
||||
href: "/products",
|
||||
}}
|
||||
text: "Order Now", href: "/products"}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -49,49 +47,26 @@ export default function HomePage() {
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=t9nxbz"
|
||||
imageAlt="Beautiful display of fresh baked cookies and cakes"
|
||||
mediaAnimation="slide-up"
|
||||
background={{ variant: "plain" }}
|
||||
testimonials={[
|
||||
{
|
||||
name: "Emma Johnson",
|
||||
handle: "Happy Customer",
|
||||
testimonial: "The best cookies I've ever tasted! Fresh, delicious, and beautifully packaged.",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=z0blc1",
|
||||
imageAlt: "happy customer portrait smiling woman",
|
||||
},
|
||||
name: "Emma Johnson", handle: "Happy Customer", testimonial: "The best cookies I've ever tasted! Fresh, delicious, and beautifully packaged.", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=z0blc1", imageAlt: "happy customer portrait smiling woman"},
|
||||
{
|
||||
name: "Michael Chen",
|
||||
handle: "Event Planner",
|
||||
testimonial: "Their custom cakes are absolutely stunning. Highly recommended for any celebration!",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6361ja",
|
||||
imageAlt: "professional man portrait headshot business",
|
||||
},
|
||||
name: "Michael Chen", handle: "Event Planner", testimonial: "Their custom cakes are absolutely stunning. Highly recommended for any celebration!", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6361ja", imageAlt: "professional man portrait headshot business"},
|
||||
{
|
||||
name: "Sarah Williams",
|
||||
handle: "Repeat Customer",
|
||||
testimonial: "Consistently excellent quality. The flavors are incredible and shipping is always careful.",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=26puip",
|
||||
imageAlt: "woman professional headshot portrait smiling",
|
||||
},
|
||||
name: "Sarah Williams", handle: "Repeat Customer", testimonial: "Consistently excellent quality. The flavors are incredible and shipping is always careful.", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=26puip", imageAlt: "woman professional headshot portrait smiling"},
|
||||
{
|
||||
name: "David Martinez",
|
||||
handle: "Corporate Client",
|
||||
testimonial: "Perfect for our office celebrations. Everyone loves them and they're always a hit!",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=8ozfyc",
|
||||
imageAlt: "corporate man portrait business headshot smiling",
|
||||
},
|
||||
name: "David Martinez", handle: "Corporate Client", testimonial: "Perfect for our office celebrations. Everyone loves them and they're always a hit!", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=8ozfyc", imageAlt: "corporate man portrait business headshot smiling"},
|
||||
]}
|
||||
buttons={[
|
||||
{
|
||||
text: "Shop Now",
|
||||
href: "/products",
|
||||
},
|
||||
text: "Shop Now", href: "/products"},
|
||||
{
|
||||
text: "Learn More",
|
||||
href: "/about",
|
||||
},
|
||||
text: "Learn More", href: "/about"},
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
@@ -107,47 +82,17 @@ export default function HomePage() {
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
products={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Chocolate Chip Cookies",
|
||||
price: "$12",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=mwp4ru&_wi=1",
|
||||
imageAlt: "chocolate chip cookies warm fresh baked",
|
||||
},
|
||||
id: "1", name: "Chocolate Chip Cookies", price: "$12", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=mwp4ru", imageAlt: "chocolate chip cookies warm fresh baked"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Vanilla Dream Cake",
|
||||
price: "$45",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=un5h66&_wi=1",
|
||||
imageAlt: "vanilla cake elegant white frosting decoration",
|
||||
},
|
||||
id: "2", name: "Vanilla Dream Cake", price: "$45", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=un5h66", imageAlt: "vanilla cake elegant white frosting decoration"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Strawberry Shortcake",
|
||||
price: "$38",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=olz8io&_wi=1",
|
||||
imageAlt: "strawberry shortcake fresh berries cream",
|
||||
},
|
||||
id: "3", name: "Strawberry Shortcake", price: "$38", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=olz8io", imageAlt: "strawberry shortcake fresh berries cream"},
|
||||
{
|
||||
id: "4",
|
||||
name: "Salted Caramel Cookies",
|
||||
price: "$14",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pr5oa5&_wi=1",
|
||||
imageAlt: "salted caramel cookies gourmet baked",
|
||||
},
|
||||
id: "4", name: "Salted Caramel Cookies", price: "$14", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pr5oa5", imageAlt: "salted caramel cookies gourmet baked"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Red Velvet Cake",
|
||||
price: "$48",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=zs4e36&_wi=1",
|
||||
imageAlt: "red velvet cake cream cheese frosting",
|
||||
},
|
||||
id: "5", name: "Red Velvet Cake", price: "$48", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=zs4e36", imageAlt: "red velvet cake cream cheese frosting"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Matcha White Chocolate",
|
||||
price: "$13",
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6v7d8d&_wi=1",
|
||||
imageAlt: "matcha white chocolate cookies green tea",
|
||||
},
|
||||
id: "6", name: "Matcha White Chocolate", price: "$13", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6v7d8d", imageAlt: "matcha white chocolate cookies green tea"},
|
||||
]}
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
@@ -163,59 +108,23 @@ export default function HomePage() {
|
||||
animationType="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Jessica Anderson",
|
||||
role: "Wedding Coordinator",
|
||||
company: "Events & More",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=sezvp9&_wi=1",
|
||||
imageAlt: "wedding planner professional woman smiling",
|
||||
},
|
||||
id: "1", name: "Jessica Anderson", role: "Wedding Coordinator", company: "Events & More", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=sezvp9", imageAlt: "wedding planner professional woman smiling"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Robert Taylor",
|
||||
role: "Restaurant Owner",
|
||||
company: "Modern Bistro",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=43lcfn&_wi=1",
|
||||
imageAlt: "restaurant owner man professional portrait",
|
||||
},
|
||||
id: "2", name: "Robert Taylor", role: "Restaurant Owner", company: "Modern Bistro", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=43lcfn", imageAlt: "restaurant owner man professional portrait"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Amanda Brooks",
|
||||
role: "Party Planner",
|
||||
company: "Celebrate Creative",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=zndpie&_wi=1",
|
||||
imageAlt: "party planner woman professional happy portrait",
|
||||
},
|
||||
id: "3", name: "Amanda Brooks", role: "Party Planner", company: "Celebrate Creative", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=zndpie", imageAlt: "party planner woman professional happy portrait"},
|
||||
{
|
||||
id: "4",
|
||||
name: "Thomas Rivera",
|
||||
role: "Cafe Manager",
|
||||
company: "Downtown Cafe",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=faiv9e&_wi=1",
|
||||
imageAlt: "cafe manager man professional portrait happy",
|
||||
},
|
||||
id: "4", name: "Thomas Rivera", role: "Cafe Manager", company: "Downtown Cafe", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=faiv9e", imageAlt: "cafe manager man professional portrait happy"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Nicole Lee",
|
||||
role: "Corporate Manager",
|
||||
company: "Tech Solutions Inc",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6ws3z3",
|
||||
imageAlt: "corporate manager woman professional portrait",
|
||||
},
|
||||
id: "5", name: "Nicole Lee", role: "Corporate Manager", company: "Tech Solutions Inc", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6ws3z3", imageAlt: "corporate manager woman professional portrait"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Kevin Jackson",
|
||||
role: "Pastry Chef",
|
||||
company: "Culinary Arts Studio",
|
||||
rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ac8xqp",
|
||||
imageAlt: "pastry chef man professional culinary portrait",
|
||||
},
|
||||
id: "6", name: "Kevin Jackson", role: "Pastry Chef", company: "Culinary Arts Studio", rating: 5,
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ac8xqp", imageAlt: "pastry chef man professional culinary portrait"},
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
@@ -227,9 +136,7 @@ export default function HomePage() {
|
||||
title="We believe in the power of fresh, handcrafted ingredients to create moments of joy and connection. Every cookie and cake is made with love and the finest premium ingredients."
|
||||
buttons={[
|
||||
{
|
||||
text: "Read Our Full Story",
|
||||
href: "/about",
|
||||
},
|
||||
text: "Read Our Full Story", href: "/about"},
|
||||
]}
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
@@ -242,15 +149,7 @@ export default function HomePage() {
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
names={[
|
||||
"Local Weddings Co",
|
||||
"Downtown Café",
|
||||
"Party Perfect Events",
|
||||
"Corporate Catering Solutions",
|
||||
"Elite Events Planning",
|
||||
"Community Celebrations",
|
||||
"Premium Bistro Dining",
|
||||
"Wedding Dreams Studio",
|
||||
]}
|
||||
"Local Weddings Co", "Downtown Café", "Party Perfect Events", "Corporate Catering Solutions", "Elite Events Planning", "Community Celebrations", "Premium Bistro Dining", "Wedding Dreams Studio"]}
|
||||
speed={35}
|
||||
/>
|
||||
</div>
|
||||
@@ -262,17 +161,12 @@ export default function HomePage() {
|
||||
description="Contact us today to place your order, request a custom design, or ask about our wholesale options. We'd love to hear from you!"
|
||||
buttons={[
|
||||
{
|
||||
text: "Contact Us",
|
||||
href: "/contact",
|
||||
},
|
||||
text: "Contact Us", href: "/contact"},
|
||||
{
|
||||
text: "Browse Products",
|
||||
href: "/products",
|
||||
},
|
||||
text: "Browse Products", href: "/products"},
|
||||
]}
|
||||
background={{
|
||||
variant: "plain",
|
||||
}}
|
||||
variant: "plain"}}
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
</div>
|
||||
@@ -281,83 +175,49 @@ export default function HomePage() {
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Navigate",
|
||||
items: [
|
||||
title: "Navigate", items: [
|
||||
{
|
||||
label: "Home",
|
||||
href: "/",
|
||||
},
|
||||
label: "Home", href: "/"},
|
||||
{
|
||||
label: "Products",
|
||||
href: "/products",
|
||||
},
|
||||
label: "Products", href: "/products"},
|
||||
{
|
||||
label: "About Us",
|
||||
href: "/about",
|
||||
},
|
||||
label: "About Us", href: "/about"},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "/contact",
|
||||
},
|
||||
label: "Contact", href: "/contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{
|
||||
label: "About Our Bakery",
|
||||
href: "/about",
|
||||
},
|
||||
label: "About Our Bakery", href: "/about"},
|
||||
{
|
||||
label: "Our Process",
|
||||
href: "#",
|
||||
},
|
||||
label: "Our Process", href: "#"},
|
||||
{
|
||||
label: "Ingredients",
|
||||
href: "#",
|
||||
},
|
||||
label: "Ingredients", href: "#"},
|
||||
{
|
||||
label: "Blog",
|
||||
href: "#",
|
||||
},
|
||||
label: "Blog", href: "#"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Support",
|
||||
items: [
|
||||
title: "Support", items: [
|
||||
{
|
||||
label: "Contact Us",
|
||||
href: "/contact",
|
||||
},
|
||||
label: "Contact Us", href: "/contact"},
|
||||
{
|
||||
label: "FAQ",
|
||||
href: "#",
|
||||
},
|
||||
label: "FAQ", href: "#"},
|
||||
{
|
||||
label: "Shipping Info",
|
||||
href: "#",
|
||||
},
|
||||
label: "Shipping Info", href: "#"},
|
||||
{
|
||||
label: "Returns",
|
||||
href: "#",
|
||||
},
|
||||
label: "Returns", href: "#"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
label: "Privacy Policy", href: "#"},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#",
|
||||
},
|
||||
label: "Terms of Service", href: "#"},
|
||||
{
|
||||
label: "Cookie Policy",
|
||||
href: "#",
|
||||
},
|
||||
label: "Cookie Policy", href: "#"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
|
||||
@@ -1,51 +1,30 @@
|
||||
"use client";
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
import React from "react";
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
text: string;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({ text, className = "" }) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 200 50"
|
||||
className={className}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="100"
|
||||
y="25"
|
||||
textAnchor="middle"
|
||||
dominantBaseline="central"
|
||||
fontSize="24"
|
||||
fontWeight="bold"
|
||||
fill="currentColor"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user