Merge version_8 into main

Merge version_8 into main
This commit was merged in pull request #8.
This commit is contained in:
2026-02-18 09:08:29 +00:00
5 changed files with 46 additions and 25 deletions

View File

@@ -28,7 +28,7 @@ export default function BlogPage() {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },

View File

@@ -4,12 +4,10 @@ import "./globals.css";
import "./styles/variables.css";
import "./styles/base.css";
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Follow Trade", description: "Expert trading recommendations and market signals"};
title: "Follow Trade", description: "Expert-driven trading recommendations and market signals"};
export default function RootLayout({
children,
@@ -18,7 +16,7 @@ export default function RootLayout({
}) {
return (
<html lang="en">
<body className={inter.variable}>{children}
<body className={inter.className}>{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1233,6 +1231,31 @@ export default function RootLayout({
window.addEventListener('scroll', handleScroll, true);
window.addEventListener('message', handleMessage, true);
let lastPathname = window.location.pathname;
const notifyPageChange = () => {
window.parent.postMessage({
type: 'webild-page-changed',
data: { pathname: window.location.pathname }
}, '*');
};
window.addEventListener('popstate', () => {
if (lastPathname !== window.location.pathname) {
lastPathname = window.location.pathname;
notifyPageChange();
}
}, true);
const urlCheckInterval = setInterval(() => {
if (lastPathname !== window.location.pathname) {
lastPathname = window.location.pathname;
notifyPageChange();
}
}, 500);
notifyPageChange();
window.webildCleanup = () => {
isActive = false;
@@ -1243,6 +1266,10 @@ export default function RootLayout({
removeHoverOverlay();
removeElementTypeLabel();
if (urlCheckInterval) {
clearInterval(urlCheckInterval);
}
document.removeEventListener('mouseover', handleMouseOver, true);
document.removeEventListener('mouseout', handleMouseOut, true);
document.removeEventListener('click', handleClick, true);

View File

@@ -2,7 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
@@ -31,7 +31,7 @@ export default function LandingPage() {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },
@@ -44,26 +44,20 @@ export default function LandingPage() {
</div>
<div id="hero" data-section="hero">
<HeroSplitKpi
title="Welcome to Follow Trade"
description="Experience seamless global shipping and unparalleled order accuracy with our smart fulfillment solutions."
<HeroBillboard
title="The Future of Supply Chain"
description="Ship globally within 3 days post-production with smart fulfillment"
background={{ variant: "animated-grid" }}
tag="Trusted by 150+ Brands"
buttons={[
{ label: "Get Started", href: "#pricing", dataWebildId: "button1" },
{ label: "Learn More", href: "#features", dataWebildId: "button2" }
{ text: "Get Started", href: "#pricing" },
{ text: "Learn More", href: "#features" }
]}
imageSrc="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80"
imageSrc="https://img.b2bpic.net/free-photo/close-up-with-businessman-patching-something-keyboard-graphics-monitor_482257-32827.jpg"
imageAlt="Supply chain and fulfillment"
mediaAnimation="opacity"
imagePosition="right"
buttonAnimation="opacity"
kpis={[
{ label: "Orders Processed", value: "100,000+", icon: "Package" },
{ label: "Global Locations", value: "25+", icon: "MapPin" },
{ label: "Customer Satisfaction", value: "95%", icon: "Smile" },
{ label: "On-Time Delivery", value: "99%", icon: "Check" }
]}
/>
</div>

View File

@@ -85,7 +85,7 @@ export default function ProductPage({ params }: ProductPageProps) {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },
@@ -156,7 +156,7 @@ export default function ProductPage({ params }: ProductPageProps) {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },
@@ -234,7 +234,7 @@ export default function ProductPage({ params }: ProductPageProps) {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },

View File

@@ -35,7 +35,7 @@ export default function ShopPage() {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },
@@ -105,7 +105,7 @@ export default function ShopPage() {
<NavbarLayoutFloatingOverlay
brandName="Follow Trade"
navItems={[
{ name: "Home", id: "/" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },