Merge version_2_1781388286649 into main #1
@@ -12,8 +12,8 @@ export default function Layout() {
|
||||
"href": "/"
|
||||
},
|
||||
{
|
||||
"name": "Banyo Dolabı",
|
||||
"href": "#products"
|
||||
"name": "Modeller",
|
||||
"href": "#catalog"
|
||||
},
|
||||
{
|
||||
"name": "Projeler",
|
||||
@@ -26,14 +26,6 @@ export default function Layout() {
|
||||
{
|
||||
"name": "İletişim",
|
||||
"href": "#contact"
|
||||
},
|
||||
{
|
||||
"name": "Hero",
|
||||
"href": "#hero"
|
||||
},
|
||||
{
|
||||
"name": "Metrics",
|
||||
"href": "#metrics"
|
||||
}
|
||||
];
|
||||
|
||||
@@ -42,9 +34,9 @@ export default function Layout() {
|
||||
<SiteBackgroundSlot />
|
||||
<SectionErrorBoundary name="navbar">
|
||||
<NavbarFloating
|
||||
logo="LOKS"
|
||||
logo="LOKS MOBİLYA"
|
||||
ctaButton={{
|
||||
text: "Teklif Al",
|
||||
text: "Ücretsiz Teklif Al",
|
||||
href: "#contact",
|
||||
}}
|
||||
navItems={navItems} />
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #0B0B0B;
|
||||
--card: #171717;
|
||||
--foreground: #F8F6F2;
|
||||
--primary-cta: #D4A64F;
|
||||
--primary-cta-text: #0B0B0B;
|
||||
--secondary-cta: #171717;
|
||||
--secondary-cta-text: #D4A64F;
|
||||
--accent: #D4A64F;
|
||||
--background-accent: #171717;
|
||||
--background: #F7F9FC;
|
||||
--card: #FFFFFF;
|
||||
--foreground: #1A1A1A;
|
||||
--primary-cta: #0F2744;
|
||||
--primary-cta-text: #FFFFFF;
|
||||
--secondary-cta: #FFFFFF;
|
||||
--secondary-cta-text: #0F2744;
|
||||
--accent: #3B82F6;
|
||||
--background-accent: #2D5B8A;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1.5rem;
|
||||
|
||||
@@ -1,265 +1,41 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroBrand from '@/components/sections/hero/HeroBrand';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import { Award, Building2, ShieldCheck, Sparkles } 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 MetricsSection from './HomePage/sections/Metrics';
|
||||
import ProductsSection from './HomePage/sections/Products';
|
||||
import AboutSection from './HomePage/sections/About';
|
||||
import BeforeAfterSection from './HomePage/sections/BeforeAfter';
|
||||
import ProjectsSection from './HomePage/sections/Projects';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
|
||||
import CatalogSection from './HomePage/sections/Catalog';export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBrand
|
||||
brand="Banyonuza Lüks Dokunuş Katın"
|
||||
description="Özel Ölçü Üretim • Kaliteli Malzeme • Profesyonel Montaj"
|
||||
primaryButton={{
|
||||
text: "Teklif Al",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Ürünleri İncele",
|
||||
href: "#products",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/interior-design-neoclassical-style-with-furnishings-decor_23-2151199302.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="Uzmanlık"
|
||||
title="Neden Biz?"
|
||||
description="Premium standartlarda hizmet veriyoruz."
|
||||
metrics={[
|
||||
{
|
||||
icon: Building2,
|
||||
title: "Özel Ölçü Üretim",
|
||||
value: "100%",
|
||||
},
|
||||
{
|
||||
icon: ShieldCheck,
|
||||
title: "Uzman Montaj",
|
||||
value: "24/7",
|
||||
},
|
||||
{
|
||||
icon: Sparkles,
|
||||
title: "Kaliteli Malzeme",
|
||||
value: "Premium",
|
||||
},
|
||||
{
|
||||
icon: Award,
|
||||
title: "Memnuniyet",
|
||||
value: "%100",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesImageBento
|
||||
tag="Ürünler"
|
||||
title="Ürün Kategorilerimiz"
|
||||
description="Modern tasarımlarımızla banyonuzu yenileyin."
|
||||
items={[
|
||||
{
|
||||
title: "Banyo Dolabı",
|
||||
description: "Özel tasarım modern banyo dolapları.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/basin-black-faucet-green-bathroom-with-lighting-cozy-spa-nook_169016-69326.jpg",
|
||||
},
|
||||
{
|
||||
title: "Duşakabin",
|
||||
description: "Modern minimalist duş sistemleri.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/three-shower-niches-ambient-light-stone-minimalism_169016-68895.jpg",
|
||||
},
|
||||
{
|
||||
title: "Boy Dolabı",
|
||||
description: "Şık ve fonksiyonel boy dolapları.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/detail-home-interior-part-kitchen-interior-with-ovens_169016-20190.jpg",
|
||||
},
|
||||
{
|
||||
title: "Çamaşır Dolabı",
|
||||
description: "Düzenli ve estetik çamaşır alanları.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mid-century-interior-design_23-2151902078.jpg",
|
||||
},
|
||||
{
|
||||
title: "Banyo Aynası",
|
||||
description: "Gold çerçeveli premium aynalar.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/set-papers-near-macaroons-plate-rings-mirror_23-2148042157.jpg",
|
||||
},
|
||||
{
|
||||
title: "Aksesuarlar",
|
||||
description: "Tamamlayıcı lüks banyo aksesuarları.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-male-self-care-setting-still-life_23-2150326594.jpg",
|
||||
},
|
||||
{
|
||||
title: "Komple Dönüşüm",
|
||||
description: "A'dan Z'ye banyo renovasyonu.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/interior-modern-bathroom-with-window-overlooking-city_169016-26703.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsSection />
|
||||
<CatalogSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Neden LOKS MOBİLYA?"
|
||||
descriptions={[
|
||||
"Banyonuzu sadece bir alan olarak değil, kişisel bir kaçış noktası olarak görüyoruz. LOKS Mobilya olarak, lüksü fonksiyonellikle birleştirerek yaşam kalitenizi artırmayı hedefliyoruz.",
|
||||
"Özel ölçü üretim imkanlarımız ve profesyonel montaj ekibimizle, hayallerinizdeki banyoyu gerçeğe dönüştürmek için çalışıyoruz. Kaliteden ödün vermeyen yaklaşımımızla modern yaşamın tüm gereksinimlerini karşılıyoruz.",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="before-after" data-section="before-after">
|
||||
<SectionErrorBoundary name="before-after">
|
||||
<FeaturesArrowCards
|
||||
tag="Dönüşüm"
|
||||
title="Eski Banyodan Modern Yaşam Alanına"
|
||||
description="Profesyonel ekibimizle banyonuzun havasını değiştiriyoruz."
|
||||
items={[
|
||||
{
|
||||
title: "Modernize Edilmiş Duş Alanı",
|
||||
tags: [
|
||||
"Değişim",
|
||||
"Lüks",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/kitchen-drawer-contemporary-design-light-depth_169016-69050.jpg",
|
||||
},
|
||||
{
|
||||
title: "Fonksiyonel Dolap Çözümleri",
|
||||
tags: [
|
||||
"Organizasyon",
|
||||
"Premium",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/carpenter-marking-wooden-desk-with-measuring-tape_74855-5662.jpg",
|
||||
},
|
||||
{
|
||||
title: "Estetik Ayna ve Aydınlatma",
|
||||
tags: [
|
||||
"Aydınlatma",
|
||||
"Modern",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/colorful-terrazzo-surface-with-irregular-stone-fragments_84443-73027.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<BeforeAfterSection />
|
||||
|
||||
<div id="projects" data-section="projects">
|
||||
<SectionErrorBoundary name="projects">
|
||||
<SocialProofMarquee
|
||||
tag="Projeler"
|
||||
title="Referanslarımız"
|
||||
description="Mutlu müşterilerimizin yaşam alanlarına değer kattık."
|
||||
names={[
|
||||
"Villa Projeleri",
|
||||
"Premium Konutlar",
|
||||
"Modern Daireler",
|
||||
"Luxury Spa",
|
||||
"Boutique Oteller",
|
||||
"Özel Rezidans",
|
||||
"Mimari Tasarımlar",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProjectsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Müşterilerimiz"
|
||||
title="Neler Söylüyorlar?"
|
||||
description="Müşteri memnuniyeti en büyük referansımızdır."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Ayşe Y.",
|
||||
role: "Mimar",
|
||||
quote: "İşlerini o kadar profesyonel yapıyorlar ki sonuçtan büyülenmemek elde değil.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-beautiful-brunette-woman-girl-model-with-nude-makeup-wearing-summer-hipster-biker-leather-jacket-clothes-posing-near-wall-sitting-floor_158538-8923.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mehmet K.",
|
||||
role: "İş İnsanı",
|
||||
quote: "LOKS Mobilya ile banyom tamamen lüks bir spa alanına dönüştü.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-positive-confident-businessman_1262-17122.jpg",
|
||||
},
|
||||
{
|
||||
name: "Canan S.",
|
||||
role: "Yönetici",
|
||||
quote: "Hizmet kalitesi ve malzeme seçimi gerçekten üst düzey.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stusio-portrait-trendy-brunette-woman-wearing-white-linen-suit-posing-beige-background-blogger-fashionista_291049-2973.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emre D.",
|
||||
role: "Daire Sahibi",
|
||||
quote: "Tam vaktinde teslimat ve kusursuz bir montaj süreci yaşadık.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/blond-man-surprised_1194-2887.jpg",
|
||||
},
|
||||
{
|
||||
name: "Zeynep B.",
|
||||
role: "Ev Sahibi",
|
||||
quote: "Tasarımları modern ve çok fonksiyonel. Kesinlikle tavsiye ederim.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-vacation_23-2149204469.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="SSS"
|
||||
title="Sıkça Sorulan Sorular"
|
||||
description="Süreçlerimizle ilgili merak edilenler."
|
||||
items={[
|
||||
{
|
||||
question: "Keşif hizmeti ücretli mi?",
|
||||
answer: "Hayır, ücretsiz keşif hizmeti sunuyoruz.",
|
||||
},
|
||||
{
|
||||
question: "Üretim ne kadar sürer?",
|
||||
answer: "Projenin kapsamına göre genellikle 2-4 hafta arasında teslimat sağlıyoruz.",
|
||||
},
|
||||
{
|
||||
question: "Garanti veriyor musunuz?",
|
||||
answer: "Tüm ürünlerimiz ve montaj işçiliğimiz için garanti sunuyoruz.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-plumber-tool-box-ready-fixing-problems-bathroom_23-2150990694.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Teklif Al"
|
||||
text="Hayalinizdeki banyoya kavuşmak için ücretsiz keşif talep edin."
|
||||
primaryButton={{
|
||||
text: "WhatsApp'tan Yaz",
|
||||
href: "https://wa.me/905382784327",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Hemen Ara",
|
||||
href: "tel:+905382784327",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
19
src/pages/HomePage/sections/About.tsx
Normal file
19
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
// 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 AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Hakkımızda"
|
||||
descriptions={["LOKS MOBİLYA modern tasarım anlayışı ve yüksek kalite standartlarıyla üretim yapan bir markadır. Estetik ve dayanıklılığı bir araya getirerek müşterilerine özel çözümler sunmaktadır.","Banyonuzu sadece bir alan olarak değil, kişisel bir kaçış noktası olarak görüyoruz. LOKS Mobilya olarak, lüksü fonksiyonellikle birleştirerek yaşam kalitenizi artırmayı hedefliyoruz.","Özel ölçü üretim imkanlarımız ve profesyonel montaj ekibimizle, hayallerinizdeki banyoyu gerçeğe dönüştürmek için çalışıyoruz. Kaliteden ödün vermeyen yaklaşımımızla modern yaşamın tüm gereksinimlerini karşılıyoruz."]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/BeforeAfter.tsx
Normal file
21
src/pages/HomePage/sections/BeforeAfter.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "before-after" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function BeforeAfterSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="before-after" data-section="before-after">
|
||||
<SectionErrorBoundary name="before-after">
|
||||
<FeaturesArrowCards
|
||||
tag="Dönüşüm"
|
||||
title="Eski Banyodan Modern Yaşam Alanına"
|
||||
description="Profesyonel ekibimizle banyonuzun havasını değiştiriyoruz."
|
||||
items={[{"imageSrc":"http://img.b2bpic.net/free-photo/kitchen-drawer-contemporary-design-light-depth_169016-69050.jpg","tags":["Değişim","Lüks"],"title":"Modernize Edilmiş Duş Alanı"},{"tags":["Organizasyon","Premium"],"title":"Fonksiyonel Dolap Çözümleri","imageSrc":"http://img.b2bpic.net/free-photo/carpenter-marking-wooden-desk-with-measuring-tape_74855-5662.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/colorful-terrazzo-surface-with-irregular-stone-fragments_84443-73027.jpg","tags":["Aydınlatma","Modern"],"title":"Estetik Ayna ve Aydınlatma"}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
55
src/pages/HomePage/sections/Catalog.tsx
Normal file
55
src/pages/HomePage/sections/Catalog.tsx
Normal file
@@ -0,0 +1,55 @@
|
||||
import { motion } from "motion/react"
|
||||
import Button from "@/components/ui/Button"
|
||||
import Card from "@/components/ui/Card"
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal"
|
||||
|
||||
export default function CatalogSection() {
|
||||
return (
|
||||
<section id="catalog" data-webild-section="catalog" className="relative w-full bg-background">
|
||||
<div className="max-w-content-width mx-auto px-6">
|
||||
<ScrollReveal variant="fade">
|
||||
<div className="text-center">
|
||||
<span className="text-accent font-medium tracking-wider uppercase text-sm mb-4 block">Katalog</span>
|
||||
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-6">Lüks Modellerimiz</h2>
|
||||
<p className="text-lg text-muted-foreground max-w-content-width mx-auto">
|
||||
Her banyoya uygun, özel tasarım ve yüksek kaliteli malzemelerle üretilmiş model seçeneklerimiz.
|
||||
</p>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
|
||||
{[
|
||||
"NOVA LINE", "PANORAMA", "TIRTIKLI", "INCI", "MONVERA", "TREVIA", "VIRELLO", "VERION",
|
||||
"VALENC", "SAVERO", "VENSA", "SELVO", "LORYA", "CORVINO", "MOVENTO", "LIRO",
|
||||
"RIVO", "VEXO", "ORVO", "ZARO", "NEXO", "TAVO", "ELORIA", "VARELLO",
|
||||
"LIVANO", "CORVATO", "CERVON", "VELTRIX", "NOVENTIS", "MARVELLO", "ELVANE", "LARO",
|
||||
"SENO", "VANO", "NEXORA", "VALTERO", "AVORIA", "LUXSIRA", "VANTIO", "ORVION"
|
||||
].map((model, index) => (
|
||||
<ScrollReveal variant="fade" key={index} delay={index * 0.05}>
|
||||
<Card className="group overflow-hidden border border-border/50 bg-card hover:border-accent/50 transition-colors duration-300">
|
||||
<div className="relative aspect-[4/3] overflow-hidden bg-muted">
|
||||
<img
|
||||
src=""
|
||||
alt={`${model} luxury bathroom furniture model`}
|
||||
className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors duration-300" />
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="text-xs text-muted-foreground mb-2 font-mono">KOD: {model.replace(/\s+/g, '')}-24</div>
|
||||
<h3 className="text-xl font-bold text-foreground mb-4">{model}</h3>
|
||||
<Button
|
||||
variant="secondary"
|
||||
className="w-full justify-center transition-colors"
|
||||
href="https://wa.me/905382784327"
|
||||
text="Bu Model İçin Teklif Al"
|
||||
/>
|
||||
</div>
|
||||
</Card>
|
||||
</ScrollReveal>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Contact.tsx
Normal file
21
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "contact" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="İletişim"
|
||||
text="Hayalinizdeki banyoya kavuşmak için ücretsiz keşif talep edin."
|
||||
primaryButton={{"href":"https://wa.me/905382784327","text":"WhatsApp"}}
|
||||
secondaryButton={{"href":"tel:+905382784327","text":"Telefon"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/Faq.tsx
Normal file
22
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Süreç"
|
||||
title="Süreç Nasıl İşliyor?"
|
||||
description="Süreçlerimizle ilgili merak edilenler."
|
||||
items={[{"question":"Keşif hizmeti ücretli mi?","answer":"Hayır, ücretsiz keşif hizmeti sunuyoruz."},{"question":"Üretim ne kadar sürer?","answer":"Projenin kapsamına göre genellikle 2-4 hafta arasında teslimat sağlıyoruz."},{"answer":"Tüm ürünlerimiz ve montaj işçiliğimiz için garanti sunuyoruz.","question":"Garanti veriyor musunuz?"}]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-plumber-tool-box-ready-fixing-problems-bathroom_23-2150990694.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/Hero.tsx
Normal file
22
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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 HeroBrand from '@/components/sections/hero/HeroBrand';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBrand
|
||||
brand="Banyonuza Lüks Dokunuş Katın"
|
||||
description="Özel Ölçü Üretim • Kaliteli Malzeme • Profesyonel Montaj"
|
||||
primaryButton={{"href":"https://wa.me/905382784327","text":"WhatsApp'tan Teklif Al"}}
|
||||
secondaryButton={{"href":"#catalog","text":"Modelleri İncele"}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/interior-design-neoclassical-style-with-furnishings-decor_23-2151199302.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/Metrics.tsx
Normal file
22
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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, Building2, ShieldCheck, Sparkles } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="Neden Biz?"
|
||||
title="Neden LOKS MOBİLYA?"
|
||||
description="Premium standartlarda hizmet veriyoruz."
|
||||
metrics={[{"value":"100%","title":"Özel Ölçü Üretim","icon":"Building2"},{"icon":"ShieldCheck","title":"Uzman Montaj","value":"24/7"},{"icon":"Sparkles","title":"Kaliteli Malzeme","value":"Premium"},{"icon":"Award","title":"Memnuniyet","value":"%100"}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Products.tsx
Normal file
57
src/pages/HomePage/sections/Products.tsx
Normal 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="Koleksiyonlar"
|
||||
title="Lüks Koleksiyonlar"
|
||||
description="Modern tasarımlarımızla banyonuzu yenileyin."
|
||||
items={[
|
||||
{
|
||||
"description": "Modern ve minimalist tasarımlar.",
|
||||
"title": "Modern Seri",
|
||||
"imageSrc": "http://img.b2bpic.net/free-photo/basin-black-faucet-green-bathroom-with-lighting-cozy-spa-nook_169016-69326.jpg"
|
||||
},
|
||||
{
|
||||
"title": "Premium Seri",
|
||||
"description": "Lüks ve premium detaylar.",
|
||||
"imageSrc": "http://img.b2bpic.net/free-photo/three-shower-niches-ambient-light-stone-minimalism_169016-68895.jpg"
|
||||
},
|
||||
{
|
||||
"title": "Ahşap Seri",
|
||||
"description": "Doğal ahşap dokusu ve sıcaklığı.",
|
||||
"imageSrc": "http://img.b2bpic.net/free-photo/detail-home-interior-part-kitchen-interior-with-ovens_169016-20190.jpg"
|
||||
},
|
||||
{
|
||||
"description": "Düzenli ve estetik çamaşır alanları.",
|
||||
"title": "Çamaşır Dolabı Çözümleri",
|
||||
"imageSrc": "http://img.b2bpic.net/free-photo/mid-century-interior-design_23-2151902078.jpg"
|
||||
},
|
||||
{
|
||||
"title": "Klasik Seri",
|
||||
"description": "Zamansız ve zarif detaylar.",
|
||||
"imageSrc": ""
|
||||
},
|
||||
{
|
||||
"title": "Minimalist Seri",
|
||||
"description": "Sade ve şık banyo tasarımları.",
|
||||
"imageSrc": ""
|
||||
},
|
||||
{
|
||||
"title": "Ekolojik Seri",
|
||||
"description": "Doğa dostu ve sürdürülebilir malzemeler.",
|
||||
"imageSrc": ""
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Projects.tsx
Normal file
21
src/pages/HomePage/sections/Projects.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "projects" section.
|
||||
|
||||
import React from 'react';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProjectsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="projects" data-section="projects">
|
||||
<SectionErrorBoundary name="projects">
|
||||
<SocialProofMarquee
|
||||
tag="Projeler"
|
||||
title="Referanslarımız"
|
||||
description="Mutlu müşterilerimizin yaşam alanlarına değer kattık."
|
||||
names={["Villa Projeleri","Premium Konutlar","Modern Daireler","Luxury Spa","Boutique Oteller","Özel Rezidans","Mimari Tasarımlar"]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
// 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 TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Müşterilerimiz"
|
||||
title="Neler Söylüyorlar?"
|
||||
description="Müşteri memnuniyeti en büyük referansımızdır."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Ayşe Y.",
|
||||
role: "Mimar",
|
||||
quote: "İşlerini o kadar profesyonel yapıyorlar ki sonuçtan büyülenmemek elde değil.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-beautiful-brunette-woman-girl-model-with-nude-makeup-wearing-summer-hipster-biker-leather-jacket-clothes-posing-near-wall-sitting-floor_158538-8923.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mehmet K.",
|
||||
role: "İş İnsanı",
|
||||
quote: "LOKS Mobilya ile banyom tamamen lüks bir spa alanına dönüştü.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-positive-confident-businessman_1262-17122.jpg",
|
||||
},
|
||||
{
|
||||
name: "Canan S.",
|
||||
role: "Yönetici",
|
||||
quote: "Hizmet kalitesi ve malzeme seçimi gerçekten üst düzey.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stusio-portrait-trendy-brunette-woman-wearing-white-linen-suit-posing-beige-background-blogger-fashionista_291049-2973.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emre D.",
|
||||
role: "Daire Sahibi",
|
||||
quote: "Tam vaktinde teslimat ve kusursuz bir montaj süreci yaşadık.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/blond-man-surprised_1194-2887.jpg",
|
||||
},
|
||||
{
|
||||
name: "Zeynep B.",
|
||||
role: "Ev Sahibi",
|
||||
quote: "Tasarımları modern ve çok fonksiyonel. Kesinlikle tavsiye ederim.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-vacation_23-2149204469.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user