Merge version_2_1781729491612 into main #1

Merged
bender merged 1 commits from version_2_1781729491612 into main 2026-06-17 20:53:41 +00:00
9 changed files with 397 additions and 242 deletions

View File

@@ -1,254 +1,36 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import { Clock, Flame, Wheat } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import ProductsSection from './HomePage/sections/Products';
import FeaturesSection from './HomePage/sections/Features';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroTiltedCards
tag="Authentic Flavors"
title="Experience Traditional Pide"
description="Hand-crafted dough, premium local ingredients, and centuries-old recipes brought to life in every slice."
primaryButton={{
text: "See Menu",
href: "#products",
}}
secondaryButton={{
text: "Book a Table",
href: "#contact",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-sprinkles-kutab-with-sumach-with-yogurt_141793-3879.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/spinach-pide-with-egg-wood-serving-board_140725-599.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/breakfast-set-with-pancakes-omelette_140725-9337.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/traditional-leaf-dolma-top-view_140725-5552.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/pide-with-cheese-sausage_140725-1196.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Our Heritage"
title="A Tradition of Taste"
description="At İnci Pide, we believe that great food starts with passion. We combine time-honored techniques with the freshest ingredients to deliver the perfect Turkish pide experience."
items={[
{
icon: Flame,
title: "Stone Oven Baked",
description: "Crispy crusts and perfectly melted ingredients.",
},
{
icon: Wheat,
title: "Fresh Local Flour",
description: "We source the best local ingredients daily.",
},
{
icon: Clock,
title: "Hand-Crafted Hourly",
description: "Every pide is prepared by our master chefs.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/portrait-man-with-delicious-dish-poutine_23-2149486054.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="Featured Menu"
title="Our Pide Creations"
description="Explore our signature collection of authentic Turkish pide, crafted with love and care."
items={[
{
title: "Classic Cheese",
description: "Mozzarella and herbs",
imageSrc: "http://img.b2bpic.net/free-photo/traditional-turkish-pide-with-meat-stuffed-lemon-parsley-wooden-square-board_114579-2972.jpg",
},
{
title: "Minced Meat",
description: "Spiced ground beef",
imageSrc: "http://img.b2bpic.net/free-photo/arabian-food-composition-ramadan_23-2147794802.jpg",
},
{
title: "Sucuk Delight",
description: "Spicy turkish sausage",
imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seared-duck-breast-with-roasted-vegetables-rich-sauce_84443-72273.jpg",
},
{
title: "Veggie Mix",
description: "Fresh garden vegetables",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-buns-plate-with-olives-chopped-slices-cheese-wooden-background_141793-53331.jpg",
},
{
title: "Egg Special",
description: "Perfectly baked egg",
imageSrc: "http://img.b2bpic.net/free-photo/assorted-turkish-delight-flavors-wooden-board-tea-towel-marble-table_114579-72593.jpg",
},
{
title: "Mixed Feast",
description: "All signatures in one",
imageSrc: "http://img.b2bpic.net/free-photo/pide-with-sausage-melted-cheese_140725-1197.jpg",
},
{
title: "Mushroom Lover",
description: "Fresh forest mushrooms",
imageSrc: "http://img.b2bpic.net/free-photo/sweet-turkish-delight-plate-with-blank-paper_23-2148079993.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesRevealCards
tag="Why Us"
title="Quality You Can Taste"
description="We don't cut corners on flavor. Every element of our pide is carefully curated."
items={[
{
title: "Freshness Guaranteed",
description: "Ingredients delivered daily to your plate.",
imageSrc: "http://img.b2bpic.net/free-photo/turkish-pide-traditional-food-with-beef-vegetables_2829-13655.jpg",
},
{
title: "Authentic Techniques",
description: "Master chefs using traditional methods.",
imageSrc: "http://img.b2bpic.net/free-photo/turkish-pizza-lahmajun-with-minced-meat-bell-pepper-cheese-with-parsley-lemon_140725-6871.jpg",
},
{
title: "Cozy Atmosphere",
description: "Perfect for families and friends.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-egg-bread-baked-brown-wooden-table-bread-bun-bake-breakfast-eggs_140725-75605.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Numbers"
title="Serving Smiles Daily"
description="The numbers speak for our dedication to providing the best dining experience."
metrics={[
{
value: "15+",
description: "Years of experience",
},
{
value: "5k+",
description: "Pides baked monthly",
},
{
value: "98%",
description: "Satisfied customers",
},
{
value: "24/7",
description: "Passion for quality",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="The best pide I've ever had! It's so fresh, warm, and authentic. I visit every week with my family."
rating={5}
author="Ayşe Yılmaz"
avatars={[
{
name: "Customer 1",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-african-american-woman-cafe_273609-5044.jpg",
},
{
name: "Customer 2",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-with-vegetables-plate-cafe_169016-39450.jpg",
},
{
name: "Customer 3",
imageSrc: "http://img.b2bpic.net/free-photo/customs-food-wooden-board-top-view_23-2149598954.jpg",
},
{
name: "Customer 4",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-with-food_23-2149250084.jpg",
},
{
name: "Customer 5",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-people-spending-time-together_23-2149152906.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked Questions"
description="Got questions about our pide? We've got answers."
items={[
{
question: "Do you offer delivery?",
answer: "Yes, we partner with local platforms for your convenience.",
},
{
question: "Can I reserve a table?",
answer: "Absolutely! Use our contact form to book ahead.",
},
{
question: "Are there vegetarian options?",
answer: "Yes, we have a variety of veggie-friendly pides available.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get in Touch"
text="Ready to taste the best pide in town? Visit us or place your order today."
primaryButton={{
text: "Call Us",
href: "tel:+905550000000",
}}
secondaryButton={{
text: "Email Us",
href: "mailto:info@incipide.com",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,39 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import { Clock, Flame, Wheat } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Our Heritage"
title="A Tradition of Taste"
description="At İnci Pide, we believe that great food starts with passion. We combine time-honored techniques with the freshest ingredients to deliver the perfect Turkish pide experience."
items={[
{
icon: Flame,
title: "Stone Oven Baked",
description: "Crispy crusts and perfectly melted ingredients.",
},
{
icon: Wheat,
title: "Fresh Local Flour",
description: "We source the best local ingredients daily.",
},
{
icon: Clock,
title: "Hand-Crafted Hourly",
description: "Every pide is prepared by our master chefs.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/portrait-man-with-delicious-dish-poutine_23-2149486054.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,81 @@
/* eslint-disable */
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
import Button from "@/components/ui/Button";
const primaryButton = {
text: "Call Us",
href: "tel:+905550000000"
};
const secondaryButton = {
text: "Email Us",
href: "mailto:info@incipide.com"
};
const ContactInline = () => {
return (
<section aria-label="Contact section" className="py-20">
<div className="w-content-width mx-auto">
<ScrollReveal variant="fade">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center py-12 px-8 rounded card">
<div className="flex flex-col items-start gap-6">
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
<p>{"Visit Us"}</p>
</div>
<TextAnimation
text={"Come enjoy the authentic taste of İnci Pide."}
variant="slide-up"
gradientText={false}
tag="h2"
className="text-4xl md:text-5xl leading-[1.15] font-semibold text-balance"
/>
<div className="flex flex-col gap-4 mt-4 text-muted-foreground">
<div>
<strong className="text-foreground block mb-1">Location</strong>
<p>123 Lezzet Street, Kadıköy<br/>Istanbul, Turkey 34710</p>
</div>
<div>
<strong className="text-foreground block mb-1">Operating Hours</strong>
<p>Monday - Sunday<br/>11:00 AM - 10:00 PM</p>
</div>
<div>
<strong className="text-foreground block mb-1">Contact</strong>
<p>+90 555 000 0000<br/>info@incipide.com</p>
</div>
</div>
<div className="flex flex-wrap gap-3 mt-4">
<Button text={primaryButton.text} href={primaryButton.href} variant="primary" />
<Button text={secondaryButton.text} href={secondaryButton.href} variant="secondary" animationDelay={0.1} />
</div>
</div>
<div className="w-full h-[400px] lg:h-[500px] rounded-xl overflow-hidden shadow-sm">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3011.650490711227!2d29.02365031541369!3d40.98934597930263!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x14cab86100000000%3A0x0!2sKad%C4%B1k%C3%B6y%2C%20Istanbul!5e0!3m2!1sen!2str!4v1620000000000!5m2!1sen!2str"
width="100%"
height="100%"
style={{ border: 0 }}
allowFullScreen={true}
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
title="İnci Pide Location"
></iframe>
</div>
</div>
</ScrollReveal>
</div>
</section>
);
};
export default function ContactSection() {
return (
<div data-webild-section="contact" id="contact">
<ContactInline />
</div>
);
}

View File

@@ -0,0 +1,34 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked Questions"
description="Got questions about our pide? We've got answers."
items={[
{
question: "Do you offer delivery?",
answer: "Yes, we partner with local platforms for your convenience.",
},
{
question: "Can I reserve a table?",
answer: "Absolutely! Use our contact form to book ahead.",
},
{
question: "Are there vegetarian options?",
answer: "Yes, we have a variety of veggie-friendly pides available.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesRevealCards
tag="Why Us"
title="Quality You Can Taste"
description="We don't cut corners on flavor. Every element of our pide is carefully curated."
items={[
{
title: "Freshness Guaranteed",
description: "Ingredients delivered daily to your plate.",
imageSrc: "http://img.b2bpic.net/free-photo/turkish-pide-traditional-food-with-beef-vegetables_2829-13655.jpg",
},
{
title: "Authentic Techniques",
description: "Master chefs using traditional methods.",
imageSrc: "http://img.b2bpic.net/free-photo/turkish-pizza-lahmajun-with-minced-meat-bell-pepper-cheese-with-parsley-lemon_140725-6871.jpg",
},
{
title: "Cozy Atmosphere",
description: "Perfect for families and friends.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-egg-bread-baked-brown-wooden-table-bread-bun-bake-breakfast-eggs_140725-75605.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,45 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroTiltedCards
tag="Authentic Flavors"
title="Experience Traditional Pide"
description="Hand-crafted dough, premium local ingredients, and centuries-old recipes brought to life in every slice."
primaryButton={{
text: "See Menu",
href: "#products",
}}
secondaryButton={{
text: "Book a Table",
href: "#contact",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-sprinkles-kutab-with-sumach-with-yogurt_141793-3879.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/spinach-pide-with-egg-wood-serving-board_140725-599.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/breakfast-set-with-pancakes-omelette_140725-9337.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/traditional-leaf-dolma-top-view_140725-5552.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/pide-with-cheese-sausage_140725-1196.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Numbers"
title="Serving Smiles Daily"
description="The numbers speak for our dedication to providing the best dining experience."
metrics={[
{
value: "15+",
description: "Years of experience",
},
{
value: "5k+",
description: "Pides baked monthly",
},
{
value: "98%",
description: "Satisfied customers",
},
{
value: "24/7",
description: "Passion for quality",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesImageBento
tag="Featured Menu"
title="Our Pide Creations"
description="Explore our signature collection of authentic Turkish pide, crafted with love and care."
items={[
{
title: "Classic Cheese",
description: "Mozzarella and herbs",
imageSrc: "http://img.b2bpic.net/free-photo/traditional-turkish-pide-with-meat-stuffed-lemon-parsley-wooden-square-board_114579-2972.jpg",
},
{
title: "Minced Meat",
description: "Spiced ground beef",
imageSrc: "http://img.b2bpic.net/free-photo/arabian-food-composition-ramadan_23-2147794802.jpg",
},
{
title: "Sucuk Delight",
description: "Spicy turkish sausage",
imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seared-duck-breast-with-roasted-vegetables-rich-sauce_84443-72273.jpg",
},
{
title: "Veggie Mix",
description: "Fresh garden vegetables",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-buns-plate-with-olives-chopped-slices-cheese-wooden-background_141793-53331.jpg",
},
{
title: "Egg Special",
description: "Perfectly baked egg",
imageSrc: "http://img.b2bpic.net/free-photo/assorted-turkish-delight-flavors-wooden-board-tea-towel-marble-table_114579-72593.jpg",
},
{
title: "Mixed Feast",
description: "All signatures in one",
imageSrc: "http://img.b2bpic.net/free-photo/pide-with-sausage-melted-cheese_140725-1197.jpg",
},
{
title: "Mushroom Lover",
description: "Fresh forest mushrooms",
imageSrc: "http://img.b2bpic.net/free-photo/sweet-turkish-delight-plate-with-blank-paper_23-2148079993.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="The best pide I've ever had! It's so fresh, warm, and authentic. I visit every week with my family."
rating={5}
author="Ayşe Yılmaz"
avatars={[
{
name: "Customer 1",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-african-american-woman-cafe_273609-5044.jpg",
},
{
name: "Customer 2",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-with-vegetables-plate-cafe_169016-39450.jpg",
},
{
name: "Customer 3",
imageSrc: "http://img.b2bpic.net/free-photo/customs-food-wooden-board-top-view_23-2149598954.jpg",
},
{
name: "Customer 4",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-with-food_23-2149250084.jpg",
},
{
name: "Customer 5",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-people-spending-time-together_23-2149152906.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}