Merge version_1 into main #2
@@ -18,7 +18,7 @@ export default function BlogPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
|
||||
@@ -15,7 +15,7 @@ export default function ContactPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -45,7 +45,7 @@ export default function ContactPage() {
|
||||
description="Subscribe to our newsletter for new arrivals, shop news, and special events. Plus, followers get exclusive first access to the best finds."
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="https://img.b2bpic.net/free-photo/summer-objects_23-2147647062.jpg?_wi=2"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/summer-objects_23-2147647062.jpg"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
inputPlaceholder="your.email@example.com"
|
||||
@@ -65,24 +65,17 @@ export default function ContactPage() {
|
||||
carouselMode="buttons"
|
||||
features={[
|
||||
{
|
||||
title: "Call or Text",
|
||||
description: "619-578-2944 for appointments, questions, or quick updates",
|
||||
bentoComponent: "orbiting-icons",
|
||||
centerIcon: Phone,
|
||||
title: "Call or Text", description: "619-578-2944 for appointments, questions, or quick updates", bentoComponent: "orbiting-icons", centerIcon: Phone,
|
||||
items: [
|
||||
{ icon: Clock, ring: 1 },
|
||||
{ icon: MapPin, ring: 2 }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Email Us",
|
||||
description: "info@laloupevintage.com for detailed inquiries and business matters",
|
||||
bentoComponent: "globe"
|
||||
title: "Email Us", description: "info@laloupevintage.com for detailed inquiries and business matters", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Follow on Instagram",
|
||||
description: "@laloupevintage for daily updates, new arrivals, and behind-the-scenes content",
|
||||
bentoComponent: "globe"
|
||||
title: "Follow on Instagram", description: "@laloupevintage for daily updates, new arrivals, and behind-the-scenes content", bentoComponent: "globe"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -99,14 +92,10 @@ export default function ContactPage() {
|
||||
carouselMode="buttons"
|
||||
features={[
|
||||
{
|
||||
title: "Store Location",
|
||||
description: "3337 Adams Avenue, San Diego, CA 92116 in Normal Heights",
|
||||
bentoComponent: "globe"
|
||||
title: "Store Location", description: "3337 Adams Avenue, San Diego, CA 92116 in Normal Heights", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Store Hours",
|
||||
description: "Open daily 12:00 PM - 7:00 PM, seven days a week",
|
||||
bentoComponent: "globe"
|
||||
title: "Store Hours", description: "Open daily 12:00 PM - 7:00 PM, seven days a week", bentoComponent: "globe"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
@@ -16,7 +16,7 @@ export default function FaqPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -61,21 +61,15 @@ export default function FaqPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "What eras do you carry?",
|
||||
description: "We specialize in late 1960s through 1990s vintage clothing and accessories—everything from groovy 60s to rad 90s vibes.",
|
||||
imageSrc: "/placeholders/placeholder1.webp?_wi=1"
|
||||
title: "What eras do you carry?", description: "We specialize in late 1960s through 1990s vintage clothing and accessories—everything from groovy 60s to rad 90s vibes.", imageSrc: "/placeholders/placeholder1.webp"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Do you buy clothing every day?",
|
||||
description: "We require appointments to buy—most are booked a week or more in advance. Check our Open Buy Day schedule for no-appointment options.",
|
||||
imageSrc: "/placeholders/placeholder1.webp?_wi=2"
|
||||
title: "Do you buy clothing every day?", description: "We require appointments to buy—most are booked a week or more in advance. Check our Open Buy Day schedule for no-appointment options.", imageSrc: "/placeholders/placeholder1.webp"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Can I walk in to sell?",
|
||||
description: "Not currently. We don't always have buyers on site. Book an appointment or come to Open Buy Day for selling opportunities.",
|
||||
imageSrc: "/placeholders/placeholder1.webp?_wi=3"
|
||||
title: "Can I walk in to sell?", description: "Not currently. We don't always have buyers on site. Book an appointment or come to Open Buy Day for selling opportunities.", imageSrc: "/placeholders/placeholder1.webp"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -87,25 +81,13 @@ export default function FaqPage() {
|
||||
description="Key information about our policies and processes at a glance."
|
||||
metrics={[
|
||||
{
|
||||
id: "1",
|
||||
value: "40",
|
||||
title: "Item Limit",
|
||||
description: "Maximum items per Open Buy Day visit",
|
||||
icon: Calendar
|
||||
id: "1", value: "40", title: "Item Limit", description: "Maximum items per Open Buy Day visit", icon: Calendar
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
value: "30",
|
||||
title: "Cash Rate",
|
||||
description: "Percentage of value paid in cash",
|
||||
icon: DollarSign
|
||||
id: "2", value: "30", title: "Cash Rate", description: "Percentage of value paid in cash", icon: DollarSign
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
value: "50",
|
||||
title: "Trade Rate",
|
||||
description: "Percentage of value given in trade credit",
|
||||
icon: HelpCircle
|
||||
id: "3", value: "50", title: "Trade Rate", description: "Percentage of value given in trade credit", icon: HelpCircle
|
||||
}
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
|
||||
@@ -5,37 +5,24 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
|
||||
const ibmPlexSans = IBM_Plex_Sans({
|
||||
variable: "--font-ibm-plex-sans",
|
||||
subsets: ["latin"],
|
||||
variable: "--font-ibm-plex-sans", subsets: ["latin"],
|
||||
weight: ["100", "200", "300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "La Loupe Vintage | Late 60s–90s Vintage Shop in San Diego",
|
||||
description: "Curated wearable vintage from the 1960s–1990s in San Diego. Shop, sell, or trade at La Loupe Vintage on Adams Ave.",
|
||||
keywords: "San Diego vintage, Adams Ave vintage, 60s 70s 80s 90s vintage, buy sell trade vintage San Diego, curated vintage denim, vintage clothing, retro fashion",
|
||||
metadataBase: new URL("https://www.laloupevintage.com"),
|
||||
title: "La Loupe Vintage | Late 60s–90s Vintage Shop in San Diego", description: "Curated wearable vintage from the 1960s–1990s in San Diego. Shop, sell, or trade at La Loupe Vintage on Adams Ave.", keywords: "San Diego vintage, Adams Ave vintage, 60s 70s 80s 90s vintage, buy sell trade vintage San Diego, curated vintage denim, vintage clothing, retro fashion", metadataBase: new URL("https://www.laloupevintage.com"),
|
||||
alternates: {
|
||||
canonical: "https://www.laloupevintage.com"
|
||||
},
|
||||
openGraph: {
|
||||
title: "La Loupe Vintage | Late 60s–90s Vintage Shop in San Diego",
|
||||
description: "Curated, wearable vintage in San Diego. Shop denim, tees, dresses, and one-of-a-kind pieces from the 60s–90s. Buy, sell, or trade.",
|
||||
url: "https://www.laloupevintage.com",
|
||||
siteName: "La Loupe Vintage",
|
||||
type: "website",
|
||||
images: [
|
||||
title: "La Loupe Vintage | Late 60s–90s Vintage Shop in San Diego", description: "Curated, wearable vintage in San Diego. Shop denim, tees, dresses, and one-of-a-kind pieces from the 60s–90s. Buy, sell, or trade.", url: "https://www.laloupevintage.com", siteName: "La Loupe Vintage", type: "website", images: [
|
||||
{
|
||||
url: "https://img.b2bpic.net/free-photo/image-dressing-room-with-male-clothes_74855-21545.jpg",
|
||||
alt: "La Loupe Vintage storefront"
|
||||
url: "https://img.b2bpic.net/free-photo/image-dressing-room-with-male-clothes_74855-21545.jpg", alt: "La Loupe Vintage storefront"
|
||||
}
|
||||
]
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: "La Loupe Vintage | Late 60s–90s Vintage Shop in San Diego",
|
||||
description: "Curated, wearable vintage in San Diego. Shop, sell, or trade.",
|
||||
images: ["https://img.b2bpic.net/free-photo/image-dressing-room-with-male-clothes_74855-21545.jpg"]
|
||||
card: "summary_large_image", title: "La Loupe Vintage | Late 60s–90s Vintage Shop in San Diego", description: "Curated, wearable vintage in San Diego. Shop, sell, or trade.", images: ["https://img.b2bpic.net/free-photo/image-dressing-room-with-male-clothes_74855-21545.jpg"]
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
|
||||
@@ -20,7 +20,7 @@ export default function HomePage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -48,7 +48,7 @@ export default function HomePage() {
|
||||
description="Curated, wearable vintage in San Diego—denim, tees, dresses, and the kind of pieces you'll actually live in. Swing by our shop on Adams Ave or browse our latest finds online."
|
||||
tag="Open Daily 12pm–7pm"
|
||||
tagIcon={Clock}
|
||||
background={{ variant: "aurora" }}
|
||||
background={{ variant: "glowing-orb" }}
|
||||
kpis={[
|
||||
{ value: "60s–90s", label: "Eras Curated" },
|
||||
{ value: "San Diego", label: "Local & Loved" },
|
||||
@@ -85,25 +85,13 @@ export default function HomePage() {
|
||||
description="Trusted by vintage lovers and sellers across San Diego"
|
||||
metrics={[
|
||||
{
|
||||
id: "1",
|
||||
value: "500",
|
||||
title: "Happy Sellers",
|
||||
description: "Creators bringing their pieces to life",
|
||||
icon: Users
|
||||
id: "1", value: "500", title: "Happy Sellers", description: "Creators bringing their pieces to life", icon: Users
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
value: "30",
|
||||
title: "Cash Payout",
|
||||
description: "Fair value for your vintage finds",
|
||||
icon: DollarSign
|
||||
id: "2", value: "30", title: "Cash Payout", description: "Fair value for your vintage finds", icon: DollarSign
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
value: "50",
|
||||
title: "Trade Credit",
|
||||
description: "Even better—put it towards new gems",
|
||||
icon: Zap
|
||||
id: "3", value: "50", title: "Trade Credit", description: "Even better—put it towards new gems", icon: Zap
|
||||
}
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
@@ -124,21 +112,15 @@ export default function HomePage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Book an Appointment",
|
||||
description: "Schedule a time that works for you. We require appointments (one per week max). Most appointments are a week or more in advance. No same-day appointments.",
|
||||
imageSrc: "https://img.b2bpic.net/free-vector/calendar-template-design_742173-22539.jpg?_wi=1"
|
||||
title: "Book an Appointment", description: "Schedule a time that works for you. We require appointments (one per week max). Most appointments are a week or more in advance. No same-day appointments.", imageSrc: "https://img.b2bpic.net/free-vector/calendar-template-design_742173-22539.jpg"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Bring Your Pieces",
|
||||
description: "Up to 40 items per visit. Bring your best finds—denim, tees, dresses, jackets, anything wearable from the 60s–90s. We focus on pieces we know our customers love.",
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/hand-woven-geometric-denim-area-rug-wooden-floor_169016-48934.jpg?_wi=1"
|
||||
title: "Bring Your Pieces", description: "Up to 40 items per visit. Bring your best finds—denim, tees, dresses, jackets, anything wearable from the 60s–90s. We focus on pieces we know our customers love.", imageSrc: "https://img.b2bpic.net/free-photo/hand-woven-geometric-denim-area-rug-wooden-floor_169016-48934.jpg"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Get Paid or Trade",
|
||||
description: "Receive 30% cash value or 50% trade credit toward items in our shop. Quick evaluation, fair pricing, and support for keeping vintage in circulation.",
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/overhead-shot-person-collecting-donations-church-black-white_181624-42670.jpg?_wi=1"
|
||||
title: "Get Paid or Trade", description: "Receive 30% cash value or 50% trade credit toward items in our shop. Quick evaluation, fair pricing, and support for keeping vintage in circulation.", imageSrc: "https://img.b2bpic.net/free-photo/overhead-shot-person-collecting-donations-church-black-white_181624-42670.jpg"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -155,24 +137,16 @@ export default function HomePage() {
|
||||
carouselMode="buttons"
|
||||
features={[
|
||||
{
|
||||
title: "Vintage Denim",
|
||||
description: "Classic cuts and authentic washes from every decade",
|
||||
bentoComponent: "globe"
|
||||
title: "Vintage Denim", description: "Classic cuts and authentic washes from every decade", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Graphic Tees",
|
||||
description: "Band tees, vintage prints, and retro vibes",
|
||||
bentoComponent: "globe"
|
||||
title: "Graphic Tees", description: "Band tees, vintage prints, and retro vibes", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Dresses & Skirts",
|
||||
description: "From mod 60s to 90s slip dresses",
|
||||
bentoComponent: "globe"
|
||||
title: "Dresses & Skirts", description: "From mod 60s to 90s slip dresses", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Accessories",
|
||||
description: "Bags, belts, scarves, and styling pieces",
|
||||
bentoComponent: "globe"
|
||||
title: "Accessories", description: "Bags, belts, scarves, and styling pieces", bentoComponent: "globe"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
@@ -16,7 +16,7 @@ export default function SellWithUsPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -61,21 +61,15 @@ export default function SellWithUsPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Book an Appointment",
|
||||
description: "Schedule a time that works for you. We require appointments (one per week max). Most appointments are a week or more in advance. No same-day appointments.",
|
||||
imageSrc: "https://img.b2bpic.net/free-vector/calendar-template-design_742173-22539.jpg?_wi=2"
|
||||
title: "Book an Appointment", description: "Schedule a time that works for you. We require appointments (one per week max). Most appointments are a week or more in advance. No same-day appointments.", imageSrc: "https://img.b2bpic.net/free-vector/calendar-template-design_742173-22539.jpg"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Bring Your Pieces",
|
||||
description: "Up to 40 items per visit. Bring your best finds—denim, tees, dresses, jackets, anything wearable from the 60s–90s. We focus on pieces we know our customers love.",
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/hand-woven-geometric-denim-area-rug-wooden-floor_169016-48934.jpg?_wi=2"
|
||||
title: "Bring Your Pieces", description: "Up to 40 items per visit. Bring your best finds—denim, tees, dresses, jackets, anything wearable from the 60s–90s. We focus on pieces we know our customers love.", imageSrc: "https://img.b2bpic.net/free-photo/hand-woven-geometric-denim-area-rug-wooden-floor_169016-48934.jpg"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Get Paid or Trade",
|
||||
description: "Receive 30% cash value or 50% trade credit toward items in our shop. Quick evaluation, fair pricing, and support for keeping vintage in circulation.",
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/overhead-shot-person-collecting-donations-church-black-white_181624-42670.jpg?_wi=2"
|
||||
title: "Get Paid or Trade", description: "Receive 30% cash value or 50% trade credit toward items in our shop. Quick evaluation, fair pricing, and support for keeping vintage in circulation.", imageSrc: "https://img.b2bpic.net/free-photo/overhead-shot-person-collecting-donations-church-black-white_181624-42670.jpg"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -87,25 +81,13 @@ export default function SellWithUsPage() {
|
||||
description="We offer competitive rates with flexible payment options to suit your needs."
|
||||
metrics={[
|
||||
{
|
||||
id: "1",
|
||||
value: "30",
|
||||
title: "Cash Payout",
|
||||
description: "Immediate payment for your vintage finds",
|
||||
icon: DollarSign
|
||||
id: "1", value: "30", title: "Cash Payout", description: "Immediate payment for your vintage finds", icon: DollarSign
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
value: "50",
|
||||
title: "Trade Credit",
|
||||
description: "Better value when shopping with us",
|
||||
icon: Percent
|
||||
id: "2", value: "50", title: "Trade Credit", description: "Better value when shopping with us", icon: Percent
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
value: "40",
|
||||
title: "Item Limit",
|
||||
description: "Maximum items per appointment",
|
||||
icon: Calendar
|
||||
id: "3", value: "40", title: "Item Limit", description: "Maximum items per appointment", icon: Calendar
|
||||
}
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
|
||||
@@ -83,7 +83,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -132,7 +132,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -188,7 +188,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
|
||||
@@ -1,135 +1,127 @@
|
||||
"use client";
|
||||
|
||||
import { Suspense } from "react";
|
||||
import ReactLenis from "lenis/react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||
import TextAbout from '@/components/sections/about/TextAbout';
|
||||
import FeatureBento from '@/components/sections/feature/FeatureBento';
|
||||
import FooterCard from '@/components/sections/footer/FooterCard';
|
||||
import { Instagram, Phone, Mail } from 'lucide-react';
|
||||
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
|
||||
import { useProductCatalog } from "@/hooks/useProductCatalog";
|
||||
import { useState } from "react";
|
||||
|
||||
function ShopPageContent() {
|
||||
const {
|
||||
products,
|
||||
isLoading,
|
||||
search,
|
||||
setSearch,
|
||||
filters,
|
||||
} = useProductCatalog({ basePath: "/shop" });
|
||||
|
||||
const [cartOpen, setCartOpen] = useState(false);
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="directional-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Shop", id: "shop" },
|
||||
{ name: "Sell With Us", id: "sell" },
|
||||
{ name: "Visit", id: "visit" },
|
||||
{ name: "FAQ", id: "faq" }
|
||||
]}
|
||||
brandName="La Loupe Vintage"
|
||||
bottomLeftText="San Diego, CA 92116"
|
||||
bottomRightText="619-578-2944"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<main className="min-h-screen flex items-center justify-center pt-20">
|
||||
<p className="text-foreground">Loading products...</p>
|
||||
</main>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterCard
|
||||
logoText="La Loupe Vintage"
|
||||
copyrightText="© 2025 La Loupe Vintage | Buy • Sell • Trade — Late 60s–90s Vintage"
|
||||
socialLinks={[
|
||||
{ icon: Instagram, href: "https://www.instagram.com/laloupevintage/", ariaLabel: "Follow us on Instagram" },
|
||||
{ icon: Phone, href: "tel:619-578-2944", ariaLabel: "Call us" },
|
||||
{ icon: Mail, href: "mailto:info@laloupevintage.com", ariaLabel: "Email us" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="directional-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Shop", id: "shop" },
|
||||
{ name: "Sell With Us", id: "sell" },
|
||||
{ name: "Visit", id: "visit" },
|
||||
{ name: "FAQ", id: "faq" }
|
||||
]}
|
||||
brandName="La Loupe Vintage"
|
||||
bottomLeftText="San Diego, CA 92116"
|
||||
bottomRightText="619-578-2944"
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
/>
|
||||
</div>
|
||||
<div id="productCatalog" data-section="productCatalog">
|
||||
<ProductCatalog
|
||||
layout="page"
|
||||
products={products}
|
||||
searchValue={search}
|
||||
onSearchChange={setSearch}
|
||||
searchPlaceholder="Search products..."
|
||||
filters={filters}
|
||||
emptyMessage="No products found"
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterCard
|
||||
logoText="La Loupe Vintage"
|
||||
copyrightText="© 2025 La Loupe Vintage | Buy • Sell • Trade — Late 60s–90s Vintage"
|
||||
socialLinks={[
|
||||
{ icon: Instagram, href: "https://www.instagram.com/laloupevintage/", ariaLabel: "Follow us on Instagram" },
|
||||
{ icon: Phone, href: "tel:619-578-2944", ariaLabel: "Call us" },
|
||||
{ icon: Mail, href: "mailto:info@laloupevintage.com", ariaLabel: "Email us" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
import { Instagram, Phone, Mail, Package, Zap, Filter } from "lucide-react";
|
||||
|
||||
export default function ShopPage() {
|
||||
return (
|
||||
<Suspense>
|
||||
<ShopPageContent />
|
||||
</Suspense>
|
||||
);
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="directional-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleFullscreen
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
{ name: "Sell With Us", id: "/sell-with-us" },
|
||||
{ name: "Visit", id: "/visit" },
|
||||
{ name: "FAQ", id: "/faq" },
|
||||
{ name: "Contact", id: "/contact" }
|
||||
]}
|
||||
brandName="La Loupe Vintage"
|
||||
bottomLeftText="San Diego, CA 92116"
|
||||
bottomRightText="619-578-2944"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="shop-intro" data-section="shop-intro">
|
||||
<TextAbout
|
||||
tag="Shop Vintage"
|
||||
title="Discover curated vintage pieces from the 60s through 90s. Each item is handpicked for quality, style, and that perfect vintage vibe you've been searching for."
|
||||
useInvertedBackground={false}
|
||||
buttons={[
|
||||
{ text: "Filter & Search", href: "#" },
|
||||
{ text: "View All Categories", href: "#" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="categories" data-section="categories">
|
||||
<FeatureBento
|
||||
title="Shop by Category"
|
||||
description="Browse our carefully organized collections and find exactly what you're looking for."
|
||||
tag="All Categories"
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={true}
|
||||
carouselMode="buttons"
|
||||
features={[
|
||||
{
|
||||
title: "Vintage Clothing", description: "Authentic pieces from every era", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Denim Collection", description: "Classic jeans, jackets, and denim pieces", bentoComponent: "orbiting-icons", centerIcon: Package,
|
||||
items: [
|
||||
{ icon: Zap, ring: 1 },
|
||||
{ icon: Filter, ring: 2 }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Tops & Tees", description: "Band tees, vintage blouses, and unique tops", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Dresses & Skirts", description: "From mini to maxi, 60s mod to 90s slip", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Accessories", description: "Bags, belts, scarves, and jewelry", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Gift Cards", description: "Perfect for the vintage lover in your life", bentoComponent: "globe"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="greeting-cards" data-section="greeting-cards">
|
||||
<FeatureBento
|
||||
title="Greeting Cards"
|
||||
description="Unique, quirky greeting cards perfect for any occasion. Each card is $6.00 with special box sets available."
|
||||
tag="Cards & Gifts"
|
||||
textboxLayout="default"
|
||||
animationType="blur-reveal"
|
||||
useInvertedBackground={false}
|
||||
carouselMode="buttons"
|
||||
features={[
|
||||
{
|
||||
title: "Sweetest Weirdo", description: "Perfect for that special someone who's wonderfully unique", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Dragon Love", description: "For those who love fantasy and whimsical creatures", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Radical Gnome Box Set", description: "Complete collection of gnome cards for $22.00", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Dancing Queen", description: "Celebrate the disco lover in your life", bentoComponent: "globe"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterCard
|
||||
logoText="La Loupe Vintage"
|
||||
copyrightText="© 2025 La Loupe Vintage | Buy • Sell • Trade — Late 60s–90s Vintage"
|
||||
socialLinks={[
|
||||
{ icon: Instagram, href: "https://www.instagram.com/laloupevintage/", ariaLabel: "Follow us on Instagram" },
|
||||
{ icon: Phone, href: "tel:619-578-2944", ariaLabel: "Call us" },
|
||||
{ icon: Mail, href: "mailto:info@laloupevintage.com", ariaLabel: "Email us" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -16,7 +16,7 @@ export default function VisitPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="aurora"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-bordered"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -61,24 +61,17 @@ export default function VisitPage() {
|
||||
carouselMode="buttons"
|
||||
features={[
|
||||
{
|
||||
title: "Location & Parking",
|
||||
description: "3337 Adams Avenue in Normal Heights. Street and nearby lot parking available.",
|
||||
bentoComponent: "orbiting-icons",
|
||||
centerIcon: MapPin,
|
||||
title: "Location & Parking", description: "3337 Adams Avenue in Normal Heights. Street and nearby lot parking available.", bentoComponent: "orbiting-icons", centerIcon: MapPin,
|
||||
items: [
|
||||
{ icon: Clock, ring: 1 },
|
||||
{ icon: Phone, ring: 2 }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Store Hours",
|
||||
description: "Open daily 12:00 PM - 7:00 PM. Consistent hours every day of the week.",
|
||||
bentoComponent: "globe"
|
||||
title: "Store Hours", description: "Open daily 12:00 PM - 7:00 PM. Consistent hours every day of the week.", bentoComponent: "globe"
|
||||
},
|
||||
{
|
||||
title: "Contact Info",
|
||||
description: "Call us at 619-578-2944 or email info@laloupevintage.com",
|
||||
bentoComponent: "globe"
|
||||
title: "Contact Info", description: "Call us at 619-578-2944 or email info@laloupevintage.com", bentoComponent: "globe"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -92,7 +85,7 @@ export default function VisitPage() {
|
||||
description="Have questions about specific items, sizing, or want to know what's new? Drop us a line and we'll help you make the most of your visit."
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="https://img.b2bpic.net/free-photo/summer-objects_23-2147647062.jpg?_wi=1"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/summer-objects_23-2147647062.jpg"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
inputPlaceholder="your.email@example.com"
|
||||
|
||||
Reference in New Issue
Block a user