3 Commits

Author SHA1 Message Date
c95e530433 Merge version_2_1782043712601 into main
Merge version_2_1782043712601 into main
2026-06-21 12:10:13 +00:00
kudinDmitriyUp
fca9ac6e0a Bob AI: Populate src/pages/BedProductPage.tsx (snippet builder, 2 sections) 2026-06-21 12:09:40 +00:00
kudinDmitriyUp
c50807f9fa Bob AI: Add bed-product page 2026-06-21 12:09:11 +00:00
4 changed files with 29 additions and 1 deletions

View File

@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import BedProductPage from "@/pages/BedProductPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/bed-product" element={<BedProductPage />} />
</Route>
</Routes>
);

View File

@@ -34,7 +34,9 @@ export default function Layout() {
{
"name": "Faq",
"href": "#faq"
}
},
{ name: "Bed Product", href: "/bed-product" },
];
return (

View File

@@ -0,0 +1,23 @@
import Button from "@/components/ui/Button";
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import ScrollReveal from "@/components/ui/ScrollReveal";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
export default function BedProductPage() {
return (
<>
<div data-webild-section="HeroSplit"><section aria-label="Hero section" className="relative flex items-center h-fit md:h-svh pt-25 pb-20 md:py-0"><HeroBackgroundSlot /><div className="flex flex-col md:flex-row items-center gap-12 md:gap-20 w-content-width mx-auto"><div className="w-full md:w-1/2"><div className="flex flex-col items-center md:items-start gap-3"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>The Signature Bed</p></div><TextAnimation text="Experience Unrivaled Comfort" variant="slide-up" gradientText={true} tag="h1" className="text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center md:text-left text-balance" /><TextAnimation text="Discover our signature bed design, meticulously crafted from the finest organic materials for the perfect night of restful rejuvenation." variant="slide-up" gradientText={false} tag="p" className="md:max-w-8/10 text-lg md:text-xl leading-snug text-center md:text-left text-balance" /><div className="flex flex-wrap max-md:justify-center gap-3 mt-2 md:mt-3"><Button text="Book Appointment" href="#booking" variant="primary" /><Button text="View Details" href="#details" variant="secondary" animationDelay={0.1} /></div></div></div><ScrollReveal variant="fade" delay={0.2} className="w-full md:w-1/2 h-100 md:h-[65vh] md:max-h-[75svh] p-2 xl:p-3 2xl:p-4 card rounded overflow-hidden"><ImageOrVideo imageSrc="https://img.freepik.com/premium-photo/luxurious-modern-bedroom-interior-with-comfortable-bed-organic-linens_123827-23456.jpg" /></ScrollReveal></div></section></div>
<div data-webild-section="ContactSplitForm"><ContactSplitForm
tag="Book an Appointment"
title="Experience Luxe Rest in Person"
description="Schedule a private consultation at our showroom to discover the ultimate sleep experience tailored to your needs."
inputs={[{"name":"name","type":"text","placeholder":"Full Name","required":true},{"name":"email","type":"email","placeholder":"Email Address","required":true},{"name":"phone","type":"tel","placeholder":"Phone Number","required":false},{"name":"date","type":"date","placeholder":"Preferred Date","required":true}]}
textarea={{"name":"message","placeholder":"Tell us about your sleep preferences...","rows":4,"required":false}}
buttonText="Request Appointment"
imageSrc="https://img.freepik.com/premium-photo/luxurious-bedroom-interior-with-comfortable-bed_1048944-12345.jpg"
/></div>
</>
);
}

View File

@@ -6,4 +6,5 @@ export interface Route {
export const routes: Route[] = [
{ path: '/', label: 'Home', pageFile: 'HomePage' },
{ path: '/bed-product', label: 'Bed Product', pageFile: 'BedProductPage' },
];