diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx index 65bf577..f00e634 100644 --- a/src/app/blog/page.tsx +++ b/src/app/blog/page.tsx @@ -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" diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index 820d788..3493d8c 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -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" } ]} /> diff --git a/src/app/faq/page.tsx b/src/app/faq/page.tsx index d2ffcdf..1443da0 100644 --- a/src/app/faq/page.tsx +++ b/src/app/faq/page.tsx @@ -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" diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c604d07..b3dfab8 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -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, diff --git a/src/app/page.tsx b/src/app/page.tsx index 5be8fa6..50a5838 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -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" } ]} /> diff --git a/src/app/sell-with-us/page.tsx b/src/app/sell-with-us/page.tsx index 9042b87..25319f3 100644 --- a/src/app/sell-with-us/page.tsx +++ b/src/app/sell-with-us/page.tsx @@ -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" diff --git a/src/app/shop/[id]/page.tsx b/src/app/shop/[id]/page.tsx index e2a2eac..61cc083 100644 --- a/src/app/shop/[id]/page.tsx +++ b/src/app/shop/[id]/page.tsx @@ -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" diff --git a/src/app/shop/page.tsx b/src/app/shop/page.tsx index 20a7f02..70a9110 100644 --- a/src/app/shop/page.tsx +++ b/src/app/shop/page.tsx @@ -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 ( - - - -
-

Loading products...

-
- -
-
- ); - } - - return ( - - - -
- -
- -
-
- ); -} +import { Instagram, Phone, Mail, Package, Zap, Filter } from "lucide-react"; export default function ShopPage() { - return ( - - - - ); + return ( + + + +
+ +
+ +
+ +
+ +
+ +
+ + +
+ ); } \ No newline at end of file diff --git a/src/app/visit/page.tsx b/src/app/visit/page.tsx index 21e3741..cb13b26 100644 --- a/src/app/visit/page.tsx +++ b/src/app/visit/page.tsx @@ -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"