Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bb3b0af69c | |||
| e802c81a09 | |||
| a3383233ee | |||
| 007eb01e9a | |||
| 6d462bda54 | |||
| 8f48d9dfa2 | |||
| c4eb350c3c | |||
| 72d3c76418 | |||
| 1baedaa120 | |||
| a4cda7e2a4 | |||
| 1d35264bec | |||
| c054fbaae5 | |||
| 48e3147210 | |||
| 274b3210c7 | |||
| 7de4e9c51d | |||
| 443d603adc | |||
| 01c7be9346 |
@@ -28,7 +28,7 @@ export default function BlogPage() {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
|
|||||||
@@ -4,12 +4,11 @@ import "./globals.css";
|
|||||||
import "./styles/variables.css";
|
import "./styles/variables.css";
|
||||||
import "./styles/base.css";
|
import "./styles/base.css";
|
||||||
|
|
||||||
const inter = Inter({
|
const inter = Inter({ subsets: ["latin"] });
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
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({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
@@ -18,7 +17,7 @@ export default function RootLayout({
|
|||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<body className={inter.variable}>{children}
|
<body className={inter.className}>{children}
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1233,6 +1232,31 @@ export default function RootLayout({
|
|||||||
window.addEventListener('scroll', handleScroll, true);
|
window.addEventListener('scroll', handleScroll, true);
|
||||||
window.addEventListener('message', handleMessage, 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 = () => {
|
window.webildCleanup = () => {
|
||||||
isActive = false;
|
isActive = false;
|
||||||
|
|
||||||
@@ -1243,6 +1267,10 @@ export default function RootLayout({
|
|||||||
removeHoverOverlay();
|
removeHoverOverlay();
|
||||||
removeElementTypeLabel();
|
removeElementTypeLabel();
|
||||||
|
|
||||||
|
if (urlCheckInterval) {
|
||||||
|
clearInterval(urlCheckInterval);
|
||||||
|
}
|
||||||
|
|
||||||
document.removeEventListener('mouseover', handleMouseOver, true);
|
document.removeEventListener('mouseover', handleMouseOver, true);
|
||||||
document.removeEventListener('mouseout', handleMouseOut, true);
|
document.removeEventListener('mouseout', handleMouseOut, true);
|
||||||
document.removeEventListener('click', handleClick, true);
|
document.removeEventListener('click', handleClick, true);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
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 TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
|
||||||
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
|
import FeatureCardTwelve from '@/components/sections/feature/FeatureCardTwelve';
|
||||||
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
|
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
|
||||||
@@ -31,7 +31,7 @@ export default function LandingPage() {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
@@ -44,16 +44,10 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroSplitKpi
|
<HeroBillboard
|
||||||
title="The Future of Supply Chain"
|
title="The Future of Supply Chain"
|
||||||
description="Ship globally within 3 days post-production with smart fulfillment"
|
description="Ship globally within 3 days post-production with smart fulfillment"
|
||||||
background={{ variant: "animated-grid" }}
|
background={{ variant: "animated-grid" }}
|
||||||
kpis={[
|
|
||||||
{ value: "4-10 Days", label: "Worldwide Delivery" },
|
|
||||||
{ value: "99.8%", label: "Order Accuracy" },
|
|
||||||
{ value: "10x", label: "Faster Lead Times" }
|
|
||||||
]}
|
|
||||||
enableKpiAnimation={true}
|
|
||||||
tag="Trusted by 150+ Brands"
|
tag="Trusted by 150+ Brands"
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Get Started", href: "#pricing" },
|
{ text: "Get Started", href: "#pricing" },
|
||||||
@@ -62,7 +56,6 @@ export default function LandingPage() {
|
|||||||
imageSrc="https://img.b2bpic.net/free-photo/close-up-with-businessman-patching-something-keyboard-graphics-monitor_482257-32827.jpg"
|
imageSrc="https://img.b2bpic.net/free-photo/close-up-with-businessman-patching-something-keyboard-graphics-monitor_482257-32827.jpg"
|
||||||
imageAlt="Supply chain and fulfillment"
|
imageAlt="Supply chain and fulfillment"
|
||||||
mediaAnimation="opacity"
|
mediaAnimation="opacity"
|
||||||
imagePosition="right"
|
|
||||||
buttonAnimation="opacity"
|
buttonAnimation="opacity"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ export default function ProductPage({ params }: ProductPageProps) {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
@@ -156,7 +156,7 @@ export default function ProductPage({ params }: ProductPageProps) {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
@@ -234,7 +234,7 @@ export default function ProductPage({ params }: ProductPageProps) {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export default function ShopPage() {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
@@ -105,7 +105,7 @@ export default function ShopPage() {
|
|||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Follow Trade"
|
brandName="Follow Trade"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Features", id: "features" },
|
{ name: "Features", id: "features" },
|
||||||
{ name: "Pricing", id: "pricing" },
|
{ name: "Pricing", id: "pricing" },
|
||||||
|
|||||||
@@ -3,20 +3,20 @@
|
|||||||
/* --vw is set by ThemeProvider */
|
/* --vw is set by ThemeProvider */
|
||||||
|
|
||||||
/* --background: #0a0a0a;;
|
/* --background: #0a0a0a;;
|
||||||
--card: #1a1a1a;;
|
--card: #000000;;
|
||||||
--foreground: #ffffffe6;;
|
--foreground: #ff0000;;
|
||||||
--primary-cta: #e63946;;
|
--primary-cta: #ff0000;;
|
||||||
--secondary-cta: #1a1a1a;;
|
--secondary-cta: #000000;;
|
||||||
--accent: #737373;;
|
--accent: #ff0000;;
|
||||||
--background-accent: #737373;; */
|
--background-accent: #000000;; */
|
||||||
|
|
||||||
--background: #0a0a0a;;
|
--background: #000000;;
|
||||||
--card: #1a1a1a;;
|
--card: #000000;;
|
||||||
--foreground: #ffffffe6;;
|
--foreground: #ff0000;;
|
||||||
--primary-cta: #e63946;;
|
--primary-cta: #ff0000;;
|
||||||
--secondary-cta: #1a1a1a;;
|
--secondary-cta: #000000;;
|
||||||
--accent: #737373;;
|
--accent: #ff0000;;
|
||||||
--background-accent: #737373;;
|
--background-accent: #000000;;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user