Compare commits
5 Commits
version_4_
...
version_6_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52835c41e3 | ||
|
|
327d7eeeda | ||
| 191c56ec88 | |||
|
|
e04b1414c2 | ||
| e6eaf0735b |
@@ -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,
|
||||
|
||||
@@ -1,37 +1,76 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "team" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamStackedCards from '@/components/sections/team/TeamStackedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
import Tag from '@/components/ui/Tag';
|
||||
import ImageOrVideo from '@/components/ui/ImageOrVideo';
|
||||
import ScrollReveal from '@/components/ui/ScrollReveal';
|
||||
|
||||
export default function TeamSection() {
|
||||
const members = [
|
||||
{
|
||||
name: "Chef Marco",
|
||||
role: "Head Pizzaiolo",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/italian-chef-is-putting-gourmet-freshly-made-pizza-stone-oven_613910-14121.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sophia Rodriguez",
|
||||
role: "Assistant Chef",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-pretty-delivery-girl-red-uniform-cap-holding-pizza-packages_141793-31534.jpg",
|
||||
},
|
||||
{
|
||||
name: "David Kim",
|
||||
role: "Operations Manager",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-goodies-local-producer_23-2149110825.jpg",
|
||||
},
|
||||
];
|
||||
|
||||
export default function TeamSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamStackedCards
|
||||
<div id="team" data-webild-section="team">
|
||||
<div className="hidden">
|
||||
<TeamStackedCards
|
||||
tag="Meet the Maestros"
|
||||
title="Our Passionate Pizza Crew"
|
||||
description="Behind every delicious pizza is a dedicated team committed to quality and a warm dining experience."
|
||||
members={[
|
||||
{
|
||||
name: "Chef Marco",
|
||||
role: "Head Pizzaiolo",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/italian-chef-is-putting-gourmet-freshly-made-pizza-stone-oven_613910-14121.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sophia Rodriguez",
|
||||
role: "Assistant Chef",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-pretty-delivery-girl-red-uniform-cap-holding-pizza-packages_141793-31534.jpg",
|
||||
},
|
||||
{
|
||||
name: "David Kim",
|
||||
role: "Operations Manager",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-looking-goodies-local-producer_23-2149110825.jpg",
|
||||
},
|
||||
]}
|
||||
members={members}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<div className="bg-background">
|
||||
<div className="max-w-content-width mx-auto px-6">
|
||||
<ScrollReveal variant="slide-up">
|
||||
<div className="text-center">
|
||||
<Tag text="Meet the Maestros" className="mb-4" />
|
||||
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-4">Our Passionate Pizza Crew</h2>
|
||||
<p className="text-lg text-muted-foreground max-w-content-width mx-auto">
|
||||
Behind every delicious pizza is a dedicated team committed to quality and a warm dining experience.
|
||||
</p>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
{members.map((member, index) => (
|
||||
<ScrollReveal key={index} variant="slide-up" delay={index * 0.1}>
|
||||
<div className="group relative rounded-theme overflow-hidden bg-card border border-border">
|
||||
<div className="relative aspect-[4/5] overflow-hidden">
|
||||
<ImageOrVideo
|
||||
imageSrc={member.imageSrc}
|
||||
className="w-full h-full object-cover transition-transform duration-500 group-hover:scale-105"
|
||||
/>
|
||||
<div className="absolute top-4 left-4 z-10">
|
||||
<div className="flex items-center gap-2 px-3 py-1.5 rounded-full bg-white/20 backdrop-blur-md border border-white/30 shadow-sm">
|
||||
<span className="w-2 h-2 rounded-full bg-green-400 animate-pulse"></span>
|
||||
<span className="text-xs font-medium text-white drop-shadow-md">Active now</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-6 text-center">
|
||||
<h3 className="text-xl font-bold text-foreground mb-1">{member.name}</h3>
|
||||
<p className="text-sm text-muted-foreground">{member.role}</p>
|
||||
</div>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user