Merge version_1 into main

Merge version_1 into main
This commit was merged in pull request #2.
This commit is contained in:
2026-03-10 21:33:08 +00:00
2 changed files with 125 additions and 120 deletions

View File

@@ -8,6 +8,7 @@ import TextAbout from "@/components/sections/about/TextAbout";
import TestimonialCardOne from "@/components/sections/testimonial/TestimonialCardOne";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import Link from "next/link";
import { Sparkles, Heart, Target, Award, TrendingUp, ShoppingBag } from "lucide-react";
@@ -23,35 +24,31 @@ export default function HomePage() {
const footerColumns = [
{
title: "Shop",
items: [
{ label: "New Arrivals", href: "/shop" },
{ label: "Best Sellers", href: "/shop" },
title: "Shop", items: [
{ label: "New Arrivals", href: "/shop#new" },
{ label: "Best Sellers", href: "/shop#bestsellers" },
{ label: "All Products", href: "/shop" },
{ label: "Gift Cards", href: "/shop" },
{ label: "Gift Cards", href: "/shop#gifts" },
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "/about" },
{ label: "Our Story", href: "/about" },
{ label: "Our Story", href: "/about#story" },
{ label: "Careers", href: "#" },
{ label: "Blog", href: "#" },
],
},
{
title: "Support",
items: [
title: "Support", items: [
{ label: "Contact Us", href: "/contact" },
{ label: "FAQ", href: "#" },
{ label: "FAQ", href: "#faq" },
{ label: "Shipping Info", href: "#" },
{ label: "Returns", href: "#" },
],
},
{
title: "Legal",
items: [
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Security", href: "#" },
@@ -105,7 +102,6 @@ export default function HomePage() {
imageAlt="Premium curated luxury products"
mediaAnimation="opacity"
imagePosition="right"
useInvertedBackground={false}
/>
</div>
@@ -124,19 +120,9 @@ export default function HomePage() {
gridVariant="two-columns-alternating-heights"
products={[
{
id: "1",
name: "New Arrivals",
price: "From $49",
imageSrc: "http://img.b2bpic.net/free-psd/social-media-promo-template-maximalism-style_23-2150576858.jpg?_wi=1",
imageAlt: "New luxury collection items",
},
id: "1", name: "New Arrivals", price: "From $49", imageSrc: "http://img.b2bpic.net/free-psd/social-media-promo-template-maximalism-style_23-2150576858.jpg", imageAlt: "New luxury collection items"},
{
id: "2",
name: "Best Sellers",
price: "From $79",
imageSrc: "http://img.b2bpic.net/free-photo/woman-working-laptop-cafe-sitting-coach_1303-27367.jpg?_wi=1",
imageAlt: "Popular bestselling products",
},
id: "2", name: "Best Sellers", price: "From $79", imageSrc: "http://img.b2bpic.net/free-photo/woman-working-laptop-cafe-sitting-coach_1303-27367.jpg", imageAlt: "Popular bestselling products"},
]}
/>
</div>
@@ -156,6 +142,28 @@ export default function HomePage() {
/>
</div>
<div id="products" data-section="products">
<ProductCardOne
title="Shop Premium Products"
description="Browse our complete collection of carefully selected luxury items. Each product is verified for authenticity and quality."
tag="Premium Collection"
tagIcon={ShoppingBag}
tagAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
animationType="scale-rotate"
gridVariant="three-columns-all-equal-width"
products={[
{
id: "1", name: "Designer Handbag", price: "$299", imageSrc: "http://img.b2bpic.net/free-photo/close-up-accessories-details-stylish-woman-walking-city-warm-fur-coat-holding-black-leather-bag-winter-season_285396-4714.jpg", imageAlt: "Luxury designer handbag"},
{
id: "2", name: "Premium Watch", price: "$450", imageSrc: "http://img.b2bpic.net/free-photo/pocket-watch-plate-with-sequins_23-2147992708.jpg", imageAlt: "Luxury designer watch"},
{
id: "3", name: "Designer Sunglasses", price: "$199", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-stylish-woman-with-red-lips_158538-4178.jpg", imageAlt: "Premium designer sunglasses"},
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
title="Customer Love Stories"
@@ -169,59 +177,23 @@ export default function HomePage() {
gridVariant="uniform-all-items-equal"
testimonials={[
{
id: "1",
name: "Sarah Johnson",
role: "Fashion Enthusiast",
company: "New York, NY",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-stylish-denim-jacket-coffee-shop_273609-4460.jpg?_wi=1",
imageAlt: "Sarah Johnson testimonial",
},
id: "1", name: "Sarah Johnson", role: "Fashion Enthusiast", company: "New York, NY", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-stylish-denim-jacket-coffee-shop_273609-4460.jpg", imageAlt: "Sarah Johnson testimonial"},
{
id: "2",
name: "Michael Chen",
role: "Luxury Collector",
company: "Los Angeles, CA",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-fashionable-well-dressed-man-with-beard-posing-outdoors_1328-3268.jpg?_wi=1",
imageAlt: "Michael Chen testimonial",
},
id: "2", name: "Michael Chen", role: "Luxury Collector", company: "Los Angeles, CA", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-fashionable-well-dressed-man-with-beard-posing-outdoors_1328-3268.jpg", imageAlt: "Michael Chen testimonial"},
{
id: "3",
name: "Emily Rodriguez",
role: "Sustainable Shopper",
company: "Miami, FL",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg?_wi=1",
imageAlt: "Emily Rodriguez testimonial",
},
id: "3", name: "Emily Rodriguez", role: "Sustainable Shopper", company: "Miami, FL", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg", imageAlt: "Emily Rodriguez testimonial"},
{
id: "4",
name: "David Kim",
role: "Verified Buyer",
company: "San Francisco, CA",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-adult-daughter-mature-father-meeting-with-family-consultant-co-working-shaking-hands_74855-15154.jpg?_wi=1",
imageAlt: "David Kim testimonial",
},
id: "4", name: "David Kim", role: "Verified Buyer", company: "San Francisco, CA", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-adult-daughter-mature-father-meeting-with-family-consultant-co-working-shaking-hands_74855-15154.jpg", imageAlt: "David Kim testimonial"},
{
id: "5",
name: "Jessica Martinez",
role: "Regular Customer",
company: "Chicago, IL",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-successful-middle-aged-business-leader_1262-5690.jpg",
imageAlt: "Jessica Martinez testimonial",
},
id: "5", name: "Jessica Martinez", role: "Regular Customer", company: "Chicago, IL", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-successful-middle-aged-business-leader_1262-5690.jpg", imageAlt: "Jessica Martinez testimonial"},
{
id: "6",
name: "Amanda Brooks",
role: "Trusted Reviewer",
company: "Boston, MA",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-man-with-backpack_23-2149915917.jpg",
imageAlt: "Amanda Brooks testimonial",
},
id: "6", name: "Amanda Brooks", role: "Trusted Reviewer", company: "Boston, MA", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-man-with-backpack_23-2149915917.jpg", imageAlt: "Amanda Brooks testimonial"},
]}
/>
</div>
@@ -236,19 +208,58 @@ export default function HomePage() {
textboxLayout="default"
useInvertedBackground={false}
names={[
"Vogue",
"Harper's Bazaar",
"Elle Magazine",
"Forbes",
"The Guardian",
"Business Insider",
"Lifestyle Weekly",
]}
"Vogue", "Harper's Bazaar", "Elle Magazine", "Forbes", "The Guardian", "Business Insider", "Lifestyle Weekly"]}
speed={40}
showCard={true}
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
sideTitle="Frequently Asked Questions"
sideDescription="Find answers to common questions about our products, shipping, and policies. If you need more help, reach out to our customer service team."
faqs={[
{
id: "1", title: "How do you verify product authenticity?", content: "Every item undergoes a rigorous authentication process by our expert team. We verify materials, craftsmanship, serial numbers, and provenance to ensure 100% authenticity. We stand behind every product we sell."},
{
id: "2", title: "What is your return policy?", content: "We offer a 30-day money-back guarantee on all purchases. If you're not completely satisfied, simply return the item in original condition for a full refund. No questions asked. Your satisfaction is our priority."},
{
id: "3", title: "How long does shipping take?", content: "Most orders ship within 24 hours. Standard shipping typically arrives within 3-5 business days. We also offer expedited shipping options for faster delivery. All orders include tracking information."},
{
id: "4", title: "Are the products brand new?", content: "Our collection includes gently used luxury items and some brand new products. Each listing clearly indicates the condition. All items are carefully inspected and restored to pristine condition before shipping."},
{
id: "5", title: "Do you ship internationally?", content: "Yes, we ship to over 50 countries worldwide. International shipping rates and delivery times vary by location. Customers are responsible for any customs duties or import taxes."},
{
id: "6", title: "How can I track my order?", content: "You'll receive a tracking number via email as soon as your order ships. You can track your package in real-time through our partner carriers. We provide 24/7 order updates and support."},
]}
useInvertedBackground={true}
textPosition="left"
faqsAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Get In Touch"
description="Have questions or want to share your feedback? We'd love to hear from you. Reach out to our team and we'll respond within 24 hours."
inputs={[
{ name: "name", type: "text", placeholder: "Your Name", required: true },
{ name: "email", type: "email", placeholder: "Your Email", required: true },
{ name: "phone", type: "tel", placeholder: "Your Phone", required: false },
]}
textarea={{
name: "message", placeholder: "Tell us how we can help...", rows: 5,
required: true,
}}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/business-woman-working-late-night-office_1303-27105.jpg"
imageAlt="Customer service team"
mediaAnimation="opacity"
mediaPosition="right"
buttonText="Send Message"
/>
</div>
<div id="footer" data-section="footer">
<FooterSimple
columns={footerColumns}

View File

@@ -1,51 +1,45 @@
"use client";
import React, { SVGProps } from 'react';
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
className?: string;
interface SvgTextLogoProps extends SVGProps<SVGSVGElement> {
text?: string;
fontSize?: number;
fontWeight?: number | string;
fontFamily?: string;
textAnchor?: 'start' | 'middle' | 'end';
dominantBaseline?: 'auto' | 'text-bottom' | 'alphabetic' | 'ideographic' | 'middle' | 'central' | 'mathematical' | 'hanging';
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text = 'Logo',
fontSize = 24,
fontWeight = 700,
fontFamily = 'system-ui, -apple-system, sans-serif',
textAnchor = 'middle',
dominantBaseline = 'middle',
...svgProps
}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
viewBox="0 0 200 60"
width="200"
height="60"
xmlns="http://www.w3.org/2000/svg"
{...svgProps}
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
x="100"
y="30"
fontSize={fontSize}
fontWeight={fontWeight}
fontFamily={fontFamily}
textAnchor={textAnchor}
dominantBaseline={dominantBaseline}
fill="currentColor"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;