27 Commits

Author SHA1 Message Date
kudinDmitriyUp
e04b1414c2 Bob AI: Added verified badges to testimonial names 2026-06-07 19:42:09 +00:00
e6eaf0735b Merge version_4_1780861067851 into main
Merge version_4_1780861067851 into main
2026-06-07 19:39:06 +00:00
kudinDmitriyUp
5070621b08 Bob AI (stub): add a verified badge like an Instagram profile next to the n 2026-06-07 19:39:03 +00:00
21ef96493a Switch to version 3: modified src/pages/HomePage/sections/Metrics.tsx 2026-06-07 19:37:06 +00:00
fe53e76b41 Switch to version 2: modified src/pages/HomePage/sections/Metrics.tsx 2026-06-07 19:08:41 +00:00
db09f5966c Merge version_3_1780859068426 into main
Merge version_3_1780859068426 into main
2026-06-07 19:07:11 +00:00
kudinDmitriyUp
2fea80ea29 Bob AI: fix build errors (attempt 1) 2026-06-07 19:06:23 +00:00
kudinDmitriyUp
a82477d467 Bob AI: add a button inside of each one of the our impact cards with 2026-06-07 19:05:50 +00:00
9a833e6263 Switch to version 2: added src/pages/HomePage/sections/Team.tsx 2026-06-07 19:02:09 +00:00
c3ee3df13c Switch to version 2: added src/pages/HomePage/sections/Reviews.tsx 2026-06-07 19:02:09 +00:00
fb585b5d81 Switch to version 2: added src/pages/HomePage/sections/Metrics.tsx 2026-06-07 19:02:08 +00:00
776623b6ef Switch to version 2: added src/pages/HomePage/sections/Menu.tsx 2026-06-07 19:02:08 +00:00
821732252e Switch to version 2: added src/pages/HomePage/sections/Hero.tsx 2026-06-07 19:02:07 +00:00
43994331d6 Switch to version 2: added src/pages/HomePage/sections/Faq.tsx 2026-06-07 19:02:07 +00:00
8d2c771ecd Switch to version 2: added src/pages/HomePage/sections/Contact.tsx 2026-06-07 19:02:07 +00:00
ca80d1ae0e Switch to version 2: added src/pages/HomePage/sections/About.tsx 2026-06-07 19:02:06 +00:00
999d1ad422 Switch to version 2: modified src/pages/HomePage.tsx 2026-06-07 19:02:06 +00:00
2050eba8f2 Switch to version 1: remove src/pages/HomePage/sections/Team.tsx 2026-06-07 19:01:46 +00:00
4d02521f1d Switch to version 1: remove src/pages/HomePage/sections/Reviews.tsx 2026-06-07 19:01:46 +00:00
a796466363 Switch to version 1: remove src/pages/HomePage/sections/Metrics.tsx 2026-06-07 19:01:46 +00:00
795c8bc160 Switch to version 1: remove src/pages/HomePage/sections/Menu.tsx 2026-06-07 19:01:45 +00:00
5939f86125 Switch to version 1: remove src/pages/HomePage/sections/Hero.tsx 2026-06-07 19:01:45 +00:00
e621338c8c Switch to version 1: remove src/pages/HomePage/sections/Faq.tsx 2026-06-07 19:01:44 +00:00
06e393a7cd Switch to version 1: remove src/pages/HomePage/sections/Contact.tsx 2026-06-07 19:01:44 +00:00
d30cfcf201 Switch to version 1: remove src/pages/HomePage/sections/About.tsx 2026-06-07 19:01:44 +00:00
a08fd57949 Switch to version 1: modified src/pages/HomePage.tsx 2026-06-07 19:01:43 +00:00
0c663ba8e9 Merge version_2_1780858517625 into main
Merge version_2_1780858517625 into main
2026-06-07 18:57:32 +00:00
3 changed files with 66 additions and 38 deletions

View File

@@ -12,6 +12,9 @@ import ReviewsSection from './HomePage/sections/Reviews';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
{/* webild-stub @2026-06-07T19:39:02.554Z: add a verified badge like an Instagram profile next to the name of the person inside of each testimonial card */}
export default function HomePage(): React.JSX.Element {
return (
<>

View File

@@ -1,38 +1,62 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import { Award, Clock, DollarSign, Droplet, Flame, Pizza, Star, Wheat } from "lucide-react";
import { Pizza, Star, Award } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import Button from "@/components/ui/Button";
import Tag from "@/components/ui/Tag";
import Card from "@/components/ui/Card";
import ScrollReveal from "@/components/ui/ScrollReveal";
export default function MetricsSection(): React.JSX.Element {
const metrics = [
{
icon: Pizza,
title: "Pizzas Baked",
value: "50,000+",
},
{
icon: Star,
title: "Happy Customers",
value: "10,000+",
},
{
icon: Award,
title: "Years Serving SF",
value: "15+",
},
];
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="A Taste of Our Success"
description="More than just pizza, it's a legacy of flavor and satisfied customers."
metrics={[
{
icon: Pizza,
title: "Pizzas Baked",
value: "50,000+",
},
{
icon: Star,
title: "Happy Customers",
value: "10,000+",
},
{
icon: Award,
title: "Years Serving SF",
value: "15+",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="metrics" data-webild-section="metrics">
<SectionErrorBoundary name="metrics">
<section className="bg-background">
<div className="max-w-content-width mx-auto px-6">
<div className="text-center">
<ScrollReveal variant="slide-up">
<Tag text="Our Impact" className="mb-4" />
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-6">A Taste of Our Success</h2>
<p className="text-lg text-muted-foreground max-w-content-width mx-auto">
More than just pizza, it's a legacy of flavor and satisfied customers.
</p>
</ScrollReveal>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{metrics.map((metric, index) => (
<ScrollReveal key={index} variant="slide-up" delay={index * 0.1} className="h-full">
<Card className="p-8 flex flex-col items-center text-center h-full">
<div className="w-16 h-16 rounded-full bg-primary-cta/10 flex items-center justify-center mb-6 text-primary-cta">
<metric.icon size={32} />
</div>
<h3 className="text-4xl font-bold text-foreground mb-2">{metric.value}</h3>
<p className="text-lg text-muted-foreground mb-8 flex-grow">{metric.title}</p>
<Button text="Contact" variant="secondary" className="w-full mt-auto" />
</Card>
</ScrollReveal>
))}
</div>
</div>
</section>
</SectionErrorBoundary>
</div>
);
}
}

View File

@@ -3,6 +3,7 @@
import React from 'react';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import { BadgeCheck } from 'lucide-react';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ReviewsSection(): React.JSX.Element {
@@ -15,42 +16,42 @@ export default function ReviewsSection(): React.JSX.Element {
description="Our customers can't get enough of our authentic flavors and friendly service. Hear what they have to say!"
testimonials={[
{
name: "Sarah J.",
name: (<span className="inline-flex items-center gap-1">Sarah J. <BadgeCheck className="w-4 h-4 fill-blue-500 text-white" /></span>) as unknown as string,
role: "Local Resident",
quote: "The best pizza in San Francisco, hands down! The crust is perfect, and the toppings are always fresh. A must-try!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/attractive-hipster-dressed-leather-jacket-eating-vegan-burger_613910-16395.jpg",
},
{
name: "Michael T.",
name: (<span className="inline-flex items-center gap-1">Michael T. <BadgeCheck className="w-4 h-4 fill-blue-500 text-white" /></span>) as unknown as string,
role: "Food Blogger",
quote: "An absolute culinary delight! Every slice is a journey of flavor. The Margherita is exceptional.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-friends-eating-pizza_23-2151231308.jpg",
},
{
name: "Emily R.",
name: (<span className="inline-flex items-center gap-1">Emily R. <BadgeCheck className="w-4 h-4 fill-blue-500 text-white" /></span>) as unknown as string,
role: "Tech Professional",
quote: "Fast, friendly, and incredibly delicious. My go-to spot for pizza night. Highly recommend the BBQ Chicken!",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-eating-delicious-pizza_23-2150317035.jpg",
},
{
name: "David L.",
name: (<span className="inline-flex items-center gap-1">David L. <BadgeCheck className="w-4 h-4 fill-blue-500 text-white" /></span>) as unknown as string,
role: "Tourist",
quote: "Stumbled upon this gem and was blown away. Truly authentic taste, felt like I was back in Italy!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/handsome-smiling-man-eat-salade-restaurant-waiting-woman-with-bouquet-roses_496169-302.jpg",
},
{
name: "Jessica B.",
name: (<span className="inline-flex items-center gap-1">Jessica B. <BadgeCheck className="w-4 h-4 fill-blue-500 text-white" /></span>) as unknown as string,
role: "Student",
quote: "Affordable and amazing quality. Perfect for a quick lunch or a relaxed dinner with friends. Loved the veggie options.",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-family-eating-pizza-outdoors_23-2149931059.jpg",
},
{
name: "Chris P.",
name: (<span className="inline-flex items-center gap-1">Chris P. <BadgeCheck className="w-4 h-4 fill-blue-500 text-white" /></span>) as unknown as string,
role: "Artisan Baker",
quote: "As a fellow baker, I appreciate the craftsmanship. The dough is expertly fermented, making for a superb crust.",
rating: 5,