Bob AI: Cleaned up navigation links and removed duplicate Shop page

This commit is contained in:
kudinDmitriyUp
2026-07-04 21:01:57 +00:00
parent 171aca6db9
commit 8ebefe6550
9 changed files with 327 additions and 266 deletions

View File

@@ -7,37 +7,11 @@ import { StyleProvider } from "@/components/ui/StyleProvider";
export default function Layout() {
const navItems = [
{
"name": "Shop",
"href": "#products"
},
{
"name": "About",
"href": "#about"
},
{
"name": "FAQ",
"href": "#faq"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Features",
"href": "#features"
},
{
"name": "Testimonials",
"href": "#testimonials"
},
{
"name": "Contact",
"href": "#contact"
},
{ name: "Shop", href: "/shop" },
];
{ name: "Home", href: "/" },
{ name: "Shop", href: "/shop" },
{ name: "About", href: "#about" },
{ name: "Contact", href: "#contact" }
];
return (
<StyleProvider buttonVariant="expand" siteBackground="noise" heroBackground="gradientBars">

View File

@@ -1,247 +1,34 @@
import AboutText from '@/components/sections/about/AboutText';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in the sibling sections/ folder (one file per section).
// Edit those section files directly. Non-block content (wrappers,
// non-inlinable sections) is preserved inline; extracted section blocks
// become component refs.
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 TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
{/* webild-stub @2026-07-03T23:12:15.552Z: Add a new page called "Shop". On this page, add a section titled "Our Collection" in large bold text. Below the title, embed an iframe using the provided Airtable source link with full width and 800px height. Ensure the background of this s */}
export default function HomePage() {
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroCenteredLogos
avatarsSrc={[
"http://img.b2bpic.net/free-photo/portrait-beautiful-woman-city-night_23-2149024755.jpg",
"http://img.b2bpic.net/free-photo/brutal-young-man-sunglasses-hat-island-travel_1321-3839.jpg",
"http://img.b2bpic.net/free-photo/woman-with-bun-hairstyle-dressed-stylish-green-clothes-keeps-hands-pocket-looks-away-pensively-poses-urban-place-daytime-people-street-style-lifestyle-concept_273609-56097.jpg",
"http://img.b2bpic.net/free-photo/female-shop-seller-helping-woman-try-new-dress-tying-waistband-customer-choosing-clothes-fashion-store-buying-clothes-boutique-concept_74855-11698.jpg",
]}
avatarText="Trusted by 1000+ Baku trendsetters"
title="Everyone sells clothes. We sell style."
description="Curated collections for Baku's most discerning dressers. Discover new arrivals and timeless pieces that define your aesthetic."
primaryButton={{
text: "Order on WhatsApp",
href: "https://wa.me/994500000000",
}}
secondaryButton={{
text: "View Collection",
href: "#products",
}}
names={[
"Fashion",
"Streetwear",
"Luxury",
"Baku",
"Style",
"Exclusive",
]}
imageSrc="http://img.b2bpic.net/free-photo/going-out-concept-with-girl-night_23-2148140745.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Elevated Urban Fashion in the Heart of Baku"
primaryButton={{
text: "Shop Now",
href: "#products",
}}
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="New Arrivals"
title="Curated Selection"
description="The latest styles hand-picked for the Baku urban scene."
items={[
{
title: "Premium Jacket",
description: "Urban essentials for the season. Price: 150 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-texture-black-fabric-suit_23-2148402334.jpg",
},
{
title: "Designer Shirt",
description: "Tailored for exclusivity. Price: 85 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/young-person-wearing-hoodie-mockup_23-2149246203.jpg",
},
{
title: "Casual Knit",
description: "Comfort meets refined style. Price: 95 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-pearls-necklace-with-many-white-boxes-paper-backdrop_23-2147874225.jpg",
},
{
title: "City Trousers",
description: "Perfect fit for everyday luxury. Price: 110 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/senior-woman-holding-her-hands-her-pockets_23-2148286449.jpg",
},
{
title: "Evening Dress",
description: "Make a statement this night. Price: 220 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-posing-with-gloves_23-2149267484.jpg",
},
{
title: "Urban Hoodie",
description: "Sophisticated streetwear vibes. Price: 75 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-afro-man-beige-old-school-suit-sit-table-street-fashionable-young-african-male-casual-jacket-bare-torso_627829-4740.jpg",
},
{
title: "Leather Bag",
description: "The final touch to your look. Price: 180 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-small-decorative-objects_23-2149865458.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesTaggedCards
tag="Why Us"
title="The SKLAD Advantage"
description="Why the city's fashion-forward choose us."
items={[
{
tag: "Curated",
title: "Baku Exclusive",
description: "Fashion not found elsewhere.",
primaryButton: {
text: "WhatsApp",
href: "#",
},
imageSrc: "http://img.b2bpic.net/free-photo/abstract-store-with-futuristic-concept-architecture_23-2150861874.jpg",
},
{
tag: "Fast",
title: "WhatsApp Ordering",
description: "Direct, seamless purchase flow.",
primaryButton: {
text: "WhatsApp",
href: "#",
},
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-fit-man-jumping-outdoors_23-2150189454.jpg",
},
{
tag: "Quality",
title: "Premium Materials",
description: "Durability meets elegance.",
primaryButton: {
text: "WhatsApp",
href: "#",
},
imageSrc: "http://img.b2bpic.net/free-photo/portrait-diverse-latin-people_23-2151057801.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Reviews"
title="From Our Community"
description="Voices of the Baku style scene."
testimonials={[
{
name: "Leyla M.",
role: "Fashion Student",
quote: "The best curated selection in Baku!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-girl-posing-funfair_23-2148311364.jpg",
},
{
name: "Ramin K.",
role: "Entrepreneur",
quote: "Fast ordering, high quality.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/confident-woman-red-jacket-looking-front_197531-19815.jpg",
},
{
name: "Amina V.",
role: "Creative",
quote: "Finally, a brand with a voice.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-pink-coat-standing-street_1303-31196.jpg",
},
{
name: "Elvin G.",
role: "Professional",
quote: "My go-to for luxury streetwear.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-female-friends-standing-shop-window-with-accessories-holding-shopping-bags-smiling-chatting-back-view-window-shopping-concept_74855-11790.jpg",
},
{
name: "Sara H.",
role: "Designer",
quote: "SKLAD always delivers excellence.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/friends-having-fun-together_23-2149290162.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Info"
title="Shopping Questions"
description="How the WhatsApp ordering works."
items={[
{
question: "How do I order?",
answer: "Message us on WhatsApp with the product name and photo.",
},
{
question: "Shipping in Baku?",
answer: "We offer same-day delivery via local couriers.",
},
{
question: "Do you accept returns?",
answer: "Exchanges are welcome within 3 days of purchase.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/surrealist-portrait-fashionable-woman_23-2149224637.jpg"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Order Now"
text="Ready to redefine your aesthetic? Order your look today via WhatsApp."
primaryButton={{
text: "Order on WhatsApp",
href: "https://wa.me/994500000000",
}}
secondaryButton={{
text: "Contact Us",
href: "mailto:info@skladbaku.az",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,22 @@
// 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 AboutText from '@/components/sections/about/AboutText';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Elevated Urban Fashion in the Heart of Baku"
primaryButton={{
text: "Shop Now",
href: "#products",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// 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="Order Now"
text="Ready to redefine your aesthetic? Order your look today via WhatsApp."
primaryButton={{
text: "Order on WhatsApp",
href: "https://wa.me/994500000000",
}}
secondaryButton={{
text: "Contact Us",
href: "mailto:info@skladbaku.az",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,35 @@
// 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="Info"
title="Shopping Questions"
description="How the WhatsApp ordering works."
items={[
{
question: "How do I order?",
answer: "Message us on WhatsApp with the product name and photo.",
},
{
question: "Shipping in Baku?",
answer: "We offer same-day delivery via local couriers.",
},
{
question: "Do you accept returns?",
answer: "Exchanges are welcome within 3 days of purchase.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/surrealist-portrait-fashionable-woman_23-2149224637.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// 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 FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesTaggedCards
tag="Why Us"
title="The SKLAD Advantage"
description="Why the city's fashion-forward choose us."
items={[
{
tag: "Curated",
title: "Baku Exclusive",
description: "Fashion not found elsewhere.",
primaryButton: {
text: "WhatsApp",
href: "#",
},
imageSrc: "http://img.b2bpic.net/free-photo/abstract-store-with-futuristic-concept-architecture_23-2150861874.jpg",
},
{
tag: "Fast",
title: "WhatsApp Ordering",
description: "Direct, seamless purchase flow.",
primaryButton: {
text: "WhatsApp",
href: "#",
},
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-fit-man-jumping-outdoors_23-2150189454.jpg",
},
{
tag: "Quality",
title: "Premium Materials",
description: "Durability meets elegance.",
primaryButton: {
text: "WhatsApp",
href: "#",
},
imageSrc: "http://img.b2bpic.net/free-photo/portrait-diverse-latin-people_23-2151057801.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,43 @@
// 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 HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroCenteredLogos
avatarsSrc={[
"http://img.b2bpic.net/free-photo/portrait-beautiful-woman-city-night_23-2149024755.jpg",
"http://img.b2bpic.net/free-photo/brutal-young-man-sunglasses-hat-island-travel_1321-3839.jpg",
"http://img.b2bpic.net/free-photo/woman-with-bun-hairstyle-dressed-stylish-green-clothes-keeps-hands-pocket-looks-away-pensively-poses-urban-place-daytime-people-street-style-lifestyle-concept_273609-56097.jpg",
"http://img.b2bpic.net/free-photo/female-shop-seller-helping-woman-try-new-dress-tying-waistband-customer-choosing-clothes-fashion-store-buying-clothes-boutique-concept_74855-11698.jpg",
]}
avatarText="Trusted by 1000+ Baku trendsetters"
title="Everyone sells clothes. We sell style."
description="Curated collections for Baku's most discerning dressers. Discover new arrivals and timeless pieces that define your aesthetic."
primaryButton={{
text: "Order on WhatsApp",
href: "https://wa.me/994500000000",
}}
secondaryButton={{
text: "View Collection",
href: "#products",
}}
names={[
"Fashion",
"Streetwear",
"Luxury",
"Baku",
"Style",
"Exclusive",
]}
imageSrc="http://img.b2bpic.net/free-photo/going-out-concept-with-girl-night_23-2148140745.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// 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 FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="New Arrivals"
title="Curated Selection"
description="The latest styles hand-picked for the Baku urban scene."
items={[
{
title: "Premium Jacket",
description: "Urban essentials for the season. Price: 150 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-texture-black-fabric-suit_23-2148402334.jpg",
},
{
title: "Designer Shirt",
description: "Tailored for exclusivity. Price: 85 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/young-person-wearing-hoodie-mockup_23-2149246203.jpg",
},
{
title: "Casual Knit",
description: "Comfort meets refined style. Price: 95 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-pearls-necklace-with-many-white-boxes-paper-backdrop_23-2147874225.jpg",
},
{
title: "City Trousers",
description: "Perfect fit for everyday luxury. Price: 110 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/senior-woman-holding-her-hands-her-pockets_23-2148286449.jpg",
},
{
title: "Evening Dress",
description: "Make a statement this night. Price: 220 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-posing-with-gloves_23-2149267484.jpg",
},
{
title: "Urban Hoodie",
description: "Sophisticated streetwear vibes. Price: 75 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-afro-man-beige-old-school-suit-sit-table-street-fashionable-young-african-male-casual-jacket-bare-torso_627829-4740.jpg",
},
{
title: "Leather Bag",
description: "The final touch to your look. Price: 180 AZN",
href: "https://wa.me/994500000000",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-small-decorative-objects_23-2149865458.jpg",
},
]}
/>
</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 "testimonials" section.
import React from 'react';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Reviews"
title="From Our Community"
description="Voices of the Baku style scene."
testimonials={[
{
name: "Leyla M.",
role: "Fashion Student",
quote: "The best curated selection in Baku!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-girl-posing-funfair_23-2148311364.jpg",
},
{
name: "Ramin K.",
role: "Entrepreneur",
quote: "Fast ordering, high quality.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/confident-woman-red-jacket-looking-front_197531-19815.jpg",
},
{
name: "Amina V.",
role: "Creative",
quote: "Finally, a brand with a voice.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-pink-coat-standing-street_1303-31196.jpg",
},
{
name: "Elvin G.",
role: "Professional",
quote: "My go-to for luxury streetwear.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-female-friends-standing-shop-window-with-accessories-holding-shopping-bags-smiling-chatting-back-view-window-shopping-concept_74855-11790.jpg",
},
{
name: "Sara H.",
role: "Designer",
quote: "SKLAD always delivers excellence.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/friends-having-fun-together_23-2149290162.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}