8 Commits

Author SHA1 Message Date
0787ea0e2f Merge version_4 into main
Merge version_4 into main
2026-03-06 09:17:36 +00:00
f7b5c5b955 Update src/app/page.tsx 2026-03-06 09:17:32 +00:00
3c13855b09 Merge version_3 into main
Merge version_3 into main
2026-03-06 09:15:58 +00:00
8b8f3405e7 Update src/app/page.tsx 2026-03-06 09:15:54 +00:00
8035f44b68 Update src/app/layout.tsx 2026-03-06 09:15:54 +00:00
73179a28d2 Merge version_1 into main
Merge version_1 into main
2026-03-06 09:15:05 +00:00
69338e857b Merge version_1 into main
Merge version_1 into main
2026-03-06 09:14:10 +00:00
c7badc2019 Merge version_1 into main
Merge version_1 into main
2026-03-06 09:12:39 +00:00
2 changed files with 29 additions and 41 deletions

View File

@@ -1,49 +1,16 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Open_Sans } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
const openSans = Open_Sans({
variable: "--font-open-sans", subsets: ["latin"],
});
export const metadata: Metadata = {
title: "ResellHub - Premium Wholesale Marketplace for Resellers", description: "Access exclusive supplier bundles and curated products for wholesale resellers. Scale your e-commerce business with our trusted wholesale platform.", keywords: "wholesale, reseller, supplier, bulk orders, e-commerce, dropshipping, marketplace", robots: {
index: true,
follow: true,
},
openGraph: {
title: "ResellHub - Premium Wholesale Marketplace", description: "Join 4,950+ successful resellers. Access exclusive supplier bundles and wholesale products.", siteName: "ResellHub", type: "website"},
twitter: {
card: "summary_large_image", title: "ResellHub - Premium Wholesale Marketplace", description: "Discover exclusive supplier bundles and wholesale products for resellers"},
};
title: "ResellHub - Premium Wholesale Marketplace", description: "Access exclusive supplier bundles and products curated for resellers"};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} ${openSans.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body>{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1411,7 +1378,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -8,9 +8,24 @@ import TestimonialCardOne from "@/components/sections/testimonial/TestimonialCar
import ContactFaq from "@/components/sections/contact/ContactFaq";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import { Star, Sparkles, Flame, Heart, BadgeCheck, MessageCircle } from "lucide-react";
import { Star, Sparkles, Flame, Heart, BadgeCheck, MessageCircle, Eye, TrendingUp } from "lucide-react";
import { useState, useEffect } from "react";
export default function LandingPage() {
const [liveViewers, setLiveViewers] = useState(0);
useEffect(() => {
// Simulate live viewer count
const interval = setInterval(() => {
setLiveViewers(prev => {
const change = Math.floor(Math.random() * 5) - 2; // -2 to +2
return Math.max(1, Math.min(prev + change, 150));
});
}, 3000);
return () => clearInterval(interval);
}, []);
return (
<ThemeProvider
defaultButtonVariant="text-shift"
@@ -70,6 +85,13 @@ export default function LandingPage() {
/>
</div>
{/* Live Viewers Indicator */}
<div className="flex items-center justify-center py-6 gap-2 bg-foreground/5">
<Eye className="w-4 h-4" />
<span className="text-sm font-medium">{liveViewers} customers viewing now</span>
<div className="w-2 h-2 rounded-full bg-red-500 animate-pulse" />
</div>
<div id="products" data-section="products">
<ProductCardOne
title="Our Premium Product Collections"
@@ -182,7 +204,7 @@ export default function LandingPage() {
<ContactFaq
ctaTitle="Ready to Start Reselling?"
ctaDescription="Connect with our supplier team to explore exclusive partnerships and bulk pricing options."
ctaButton={{ text: "Get Started Now", href: "#" }}
ctaButton={{ text: "Unlock Wholesale Pricing", href: "#" }}
ctaIcon={MessageCircle}
useInvertedBackground={false}
animationType="slide-up"