diff --git a/next.config.ts b/next.config.ts index 241eff8..de2f1c0 100644 --- a/next.config.ts +++ b/next.config.ts @@ -34,10 +34,8 @@ const nextConfig: NextConfig = { async rewrites() { const rybbitHost = process.env.NEXT_PUBLIC_RYBBIT_HOST || "https://rybbit.nodecrew.me"; return [ - { - source: "/api/script.js", - destination: `${rybbitHost}/api/script.js`, - }, + // Note: /api/script.js now connects directly to Rybbit (client-side) + // to preserve real visitor IP instead of proxying through Next.js { source: "/api/track", destination: "/api/rybbit/track", diff --git a/src/app/[locale]/layout.tsx b/src/app/[locale]/layout.tsx index aa345bd..6b4c1cc 100644 --- a/src/app/[locale]/layout.tsx +++ b/src/app/[locale]/layout.tsx @@ -3,9 +3,10 @@ import { NextIntlClientProvider } from "next-intl"; import { getMessages, setRequestLocale } from "next-intl/server"; import { SUPPORTED_LOCALES, DEFAULT_LOCALE, isValidLocale } from "@/lib/i18n/locales"; import Script from "next/script"; -import AnalyticsProvider from "@/components/providers/AnalyticsProvider"; +import ExitIntentDetector from "@/components/home/ExitIntentDetector"; const RYBBIT_SITE_ID = process.env.NEXT_PUBLIC_RYBBIT_SITE_ID || "1"; +const RYBBIT_HOST = process.env.NEXT_PUBLIC_RYBBIT_HOST || "https://rybbit.nodecrew.me"; const baseUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://manoonoils.com"; @@ -49,14 +50,27 @@ export default async function LocaleLayout({ return ( <> -