From 21c82882f4c6fd5093ebd5dcc93f3edcf6d927f6 Mon Sep 17 00:00:00 2001 From: pmgasset Date: Wed, 15 Apr 2026 10:29:18 -0400 Subject: [PATCH] Initial commit --- .env.example | 29 + .gitignore | 37 + middleware.ts | 5 + next.config.ts | 9 + package-lock.json | 1798 +++++++++++++++++ package.json | 26 + postcss.config.mjs | 7 + public/images/logo-fortinet.svg | 4 + public/images/logo-gliinet.svg | 4 + public/images/logo-peplink.svg | 4 + public/images/logo-starlink.svg | 4 + public/images/logo-ubiquiti-unifi.svg | 4 + public/images/logo-wireguard.svg | 4 + src/app/api/auth/[...nextauth]/route.ts | 3 + src/app/api/leads/route.ts | 52 + src/app/api/zoho/plans/route.ts | 36 + src/app/globals.css | 30 + src/app/layout.tsx | 47 + src/app/migrate/layout.tsx | 14 + src/app/migrate/page.tsx | 138 ++ src/app/page.tsx | 25 + src/components/analytics/SalesIQWidget.tsx | 44 + src/components/layout/Footer.tsx | 83 + src/components/layout/Navbar.tsx | 44 + src/components/sections/FounderSection.tsx | 108 + src/components/sections/HeroSection.tsx | 76 + src/components/sections/HowItWorksSection.tsx | 66 + .../sections/LeadCaptureSection.tsx | 60 + src/components/sections/PricingSection.tsx | 90 + .../sections/StarlinkManagedSection.tsx | 112 + src/components/sections/TrustBarSection.tsx | 28 + src/components/sections/VPNSection.tsx | 55 + src/components/sections/WarrantySection.tsx | 54 + src/components/ui/Badge.tsx | 29 + src/components/ui/Button.tsx | 51 + src/components/ui/Card.tsx | 18 + src/components/ui/LeadForm.tsx | 236 +++ src/components/ui/SectionWrapper.tsx | 22 + src/lib/auth.ts | 20 + src/lib/constants.ts | 139 ++ src/lib/salesiq.ts | 59 + src/lib/zoho.ts | 134 ++ src/types/index.ts | 50 + src/types/salesiq.d.ts | 37 + tailwind.config.ts | 33 + tsconfig.json | 40 + 46 files changed, 3968 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 middleware.ts create mode 100644 next.config.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.mjs create mode 100644 public/images/logo-fortinet.svg create mode 100644 public/images/logo-gliinet.svg create mode 100644 public/images/logo-peplink.svg create mode 100644 public/images/logo-starlink.svg create mode 100644 public/images/logo-ubiquiti-unifi.svg create mode 100644 public/images/logo-wireguard.svg create mode 100644 src/app/api/auth/[...nextauth]/route.ts create mode 100644 src/app/api/leads/route.ts create mode 100644 src/app/api/zoho/plans/route.ts create mode 100644 src/app/globals.css create mode 100644 src/app/layout.tsx create mode 100644 src/app/migrate/layout.tsx create mode 100644 src/app/migrate/page.tsx create mode 100644 src/app/page.tsx create mode 100644 src/components/analytics/SalesIQWidget.tsx create mode 100644 src/components/layout/Footer.tsx create mode 100644 src/components/layout/Navbar.tsx create mode 100644 src/components/sections/FounderSection.tsx create mode 100644 src/components/sections/HeroSection.tsx create mode 100644 src/components/sections/HowItWorksSection.tsx create mode 100644 src/components/sections/LeadCaptureSection.tsx create mode 100644 src/components/sections/PricingSection.tsx create mode 100644 src/components/sections/StarlinkManagedSection.tsx create mode 100644 src/components/sections/TrustBarSection.tsx create mode 100644 src/components/sections/VPNSection.tsx create mode 100644 src/components/sections/WarrantySection.tsx create mode 100644 src/components/ui/Badge.tsx create mode 100644 src/components/ui/Button.tsx create mode 100644 src/components/ui/Card.tsx create mode 100644 src/components/ui/LeadForm.tsx create mode 100644 src/components/ui/SectionWrapper.tsx create mode 100644 src/lib/auth.ts create mode 100644 src/lib/constants.ts create mode 100644 src/lib/salesiq.ts create mode 100644 src/lib/zoho.ts create mode 100644 src/types/index.ts create mode 100644 src/types/salesiq.d.ts create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..edbf78f --- /dev/null +++ b/.env.example @@ -0,0 +1,29 @@ +# ── Zoho OAuth (Server-to-Server / Client Credentials) ────────────────────── +# Create a "Server-based Application" in Zoho API Console +# https://api-console.zoho.com +ZOHO_CLIENT_ID= +ZOHO_CLIENT_SECRET= +ZOHO_ACCOUNTS_URL=https://accounts.zoho.com/oauth/v2/token +ZOHO_CRM_API_URL=https://www.zohoapis.com/crm/v3 +ZOHO_BILLING_API_URL=https://www.zohoapis.com/billing/v1 +ZOHO_BOOKING_ORG_ID= + +# ── Zoho Bookings ──────────────────────────────────────────────────────────── +# The public URL of your Zoho Bookings service page +ZOHO_BOOKINGS_URL=https://bookings.zoho.com/portal/YOUR_PORTAL/book +NEXT_PUBLIC_BOOKINGS_URL=https://bookings.zoho.com/portal/YOUR_PORTAL/book + +# ── Zoho SalesIQ Live Chat & Analytics ────────────────────────────────────── +# Find in SalesIQ → Settings → Websites & Mobile Apps → widget embed code +# The widgetcode value inside the