Merge version_3 into main #4

Merged
bender merged 2 commits from version_3 into main 2026-03-06 09:15:58 +00:00
2 changed files with 28 additions and 40 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"