diff --git a/app/(public)/_homeComponents/About.tsx b/app/(public)/_homeComponents/About.tsx
index a43f08a..3736c92 100644
--- a/app/(public)/_homeComponents/About.tsx
+++ b/app/(public)/_homeComponents/About.tsx
@@ -1,3 +1,4 @@
+"use client";
import React from "react";
import { motion, Variants } from "framer-motion";
import { Button } from "@/components/ui/button";
@@ -11,8 +12,10 @@ import {
Sparkles,
} from "lucide-react";
import { home } from "@/services/Constants";
+import { useRouter } from "next/navigation";
const AboutUs: React.FC = () => {
+ const router = useRouter();
const containerVariants: Variants = {
hidden: { opacity: 0 },
visible: {
@@ -203,6 +206,7 @@ const AboutUs: React.FC = () => {
router.push("/features")}
>
{home.about.cta}
diff --git a/app/(public)/_homeComponents/Footer.tsx b/app/(public)/_homeComponents/Footer.tsx
index 46218fd..271255b 100644
--- a/app/(public)/_homeComponents/Footer.tsx
+++ b/app/(public)/_homeComponents/Footer.tsx
@@ -26,7 +26,7 @@ const footerLinks = [
items: [
{ label: "About Us", url: "/about" },
{ label: "Careers", url: "/careers" },
- { label: "Blog", url: "/blog" },
+ { label: "Features", url: "/features" },
{ label: "Contact", url: "/contact" },
],
},
diff --git a/app/(public)/_homeComponents/Modules.tsx b/app/(public)/_homeComponents/Modules.tsx
index 93837d6..36cc756 100644
--- a/app/(public)/_homeComponents/Modules.tsx
+++ b/app/(public)/_homeComponents/Modules.tsx
@@ -11,6 +11,7 @@ import {
ModuleFeature,
} from "@/services/Constants";
import { useRouter } from "next/navigation";
+import DemoModal from "./DemoModal";
const ModuleCard: React.FC = ({ module, index }) => {
const [isHovered, setIsHovered] = useState(false);
@@ -190,21 +191,30 @@ const ModulesSection: React.FC = () => {
Get started with all modules and experience seamless integration
-
- Start Free Trial
-
-
-
- Schedule Demo
-
-
+
+ Start Free Trial
+
+
+ }
+ />
+
+
+ Schedule Demo
+
+
+ }
+ />
@@ -214,4 +224,4 @@ const ModulesSection: React.FC = () => {
);
};
-export default ModulesSection;
\ No newline at end of file
+export default ModulesSection;
diff --git a/app/(public)/_homeComponents/PricingSection.tsx b/app/(public)/_homeComponents/PricingSection.tsx
index bc94799..5850e22 100644
--- a/app/(public)/_homeComponents/PricingSection.tsx
+++ b/app/(public)/_homeComponents/PricingSection.tsx
@@ -4,8 +4,11 @@ import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge";
import { Check } from "lucide-react";
+import { useRouter } from "next/navigation";
+import DemoModal from "./DemoModal";
export default function PricingSection() {
+ const router = useRouter();
const features = [
"Unlimited Jobs & Candidates",
"FREE HRMS & CRM",
@@ -20,9 +23,11 @@ export default function PricingSection() {
];
return (
-
+
-
{/* Heading */}
Hire smarter. Track smarter. Manage everything from one platform.
@@ -30,42 +35,41 @@ export default function PricingSection() {
One powerful ATS with{" "}
-
- FREE HRMS & CRM
- {" "}
- , AI automation and real-time geo-location tracking
+ FREE HRMS & CRM , AI
+ automation and real-time geo-location tracking
{/* Pricing Card */}
-
ALL-IN-ONE PLAN • HRMS & CRM FREE
-
- Winixco ATS – One Plan
-
+ Winixco ATS – One Plan
₹1,999
-
- per user / month
-
+
per user / month
₹19,990 per user / year (2 months FREE)
-
+ router.push("https://app.winixco.com/plans")}
+ >
Start 30-Day Free Trial
{/* Features */}
{features.map((item, index) => (
-
+
{item}
@@ -76,12 +80,12 @@ export default function PricingSection() {
{/* Sections */}
-
{/* Simple Pricing */}
Simple Per-Seat Pricing
- Each recruiter or HR team member requires one seat. All seats include full access to ATS, HRMS, CRM and AI features.
+ Each recruiter or HR team member requires one seat. All seats
+ include full access to ATS, HRMS, CRM and AI features.
@@ -114,9 +118,7 @@ export default function PricingSection() {
{plan.title}
-
- {plan.price}
-
+ {plan.price}
))}
@@ -128,7 +130,8 @@ export default function PricingSection() {
Recruitment ROI Example
- 10 recruiters using Winixco can save ~400 hours/month through AI automation resulting in productivity worth ₹4L+ per month.
+ 10 recruiters using Winixco can save ~400 hours/month through AI
+ automation resulting in productivity worth ₹4L+ per month.
@@ -136,12 +139,14 @@ export default function PricingSection() {
{/* Footer CTA */}
-
- Need bulk pricing or demo?
-
-
- Contact Sales
-
+
Need bulk pricing or demo?
+
+ Contact Sales
+
+ }
+ />
@@ -151,4 +156,4 @@ export default function PricingSection() {
);
-}
\ No newline at end of file
+}
diff --git a/app/(public)/ats/_components/CTA.tsx b/app/(public)/ats/_components/CTA.tsx
index 3d4a6f3..72e7c43 100644
--- a/app/(public)/ats/_components/CTA.tsx
+++ b/app/(public)/ats/_components/CTA.tsx
@@ -3,15 +3,14 @@
import React from "react";
import { motion } from "framer-motion";
import { Button } from "@/components/ui/button";
-import {
- ArrowRight,
- Sparkles,
-} from "lucide-react";
+import { ArrowRight, Sparkles } from "lucide-react";
import { atsPageData } from "@/services/Constants";
-
+import DemoModal from "../../_homeComponents/DemoModal";
+import { useRouter } from "next/navigation";
// CTA Section Component
const CtaSection: React.FC = () => {
+ const router = useRouter();
return (
@@ -32,18 +31,23 @@ const CtaSection: React.FC = () => {
router.push("https://app.winixco.com")}
>
{atsPageData.cta.primaryButton}
-
- {atsPageData.cta.secondaryButton}
-
-
+
+ {atsPageData.cta.secondaryButton}
+
+
+ }
+ />
@@ -51,4 +55,4 @@ const CtaSection: React.FC = () => {
);
};
-export default CtaSection
\ No newline at end of file
+export default CtaSection;
diff --git a/app/(public)/ats/_components/Hero.tsx b/app/(public)/ats/_components/Hero.tsx
index 799d609..f80b497 100644
--- a/app/(public)/ats/_components/Hero.tsx
+++ b/app/(public)/ats/_components/Hero.tsx
@@ -6,11 +6,12 @@ import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { PlayCircle, ArrowRight, Sparkles } from "lucide-react";
import { atsPageData } from "@/services/Constants";
+import DemoModal from "../../_homeComponents/DemoModal";
+
const HeroSection: React.FC = () => {
return (
-
{
-
- {atsPageData.hero.primaryCta}
-
-
-
+ {atsPageData.hero.primaryCta}
+
+
+ }
+ />
+
+ {/*
{atsPageData.hero.secondaryCta}
-
+ */}
diff --git a/app/(public)/careers/page.tsx b/app/(public)/careers/page.tsx
index b8df1c5..0f32394 100644
--- a/app/(public)/careers/page.tsx
+++ b/app/(public)/careers/page.tsx
@@ -7,6 +7,7 @@ import {
HeartHandshake,
ArrowRight,
} from "lucide-react";
+import { useRouter } from "next/navigation";
import Link from "next/link";
const openRoles = [
@@ -37,6 +38,7 @@ const openRoles = [
];
export default function Careers() {
+ const router = useRouter();
return (
{/* HERO */}
@@ -112,7 +114,7 @@ export default function Careers() {
Apply Now
diff --git a/app/(public)/contact/_components/BookDemo.tsx b/app/(public)/contact/_components/BookDemo.tsx
index 65a31a2..b040ee0 100644
--- a/app/(public)/contact/_components/BookDemo.tsx
+++ b/app/(public)/contact/_components/BookDemo.tsx
@@ -3,6 +3,8 @@ import React from "react";
import { motion } from "framer-motion";
import { CalendarCheck, Send, CheckCircle } from "lucide-react";
import { Button } from "@/components/ui/button";
+import DemoModal from "../../_homeComponents/DemoModal";
+import { useRouter } from "next/navigation";
const features = [
"Personalized walkthrough of ATS, HRMS & CRM",
@@ -12,6 +14,7 @@ const features = [
];
const BookDemoSection = () => {
+ const router = useRouter();
return (
{/* Background Glow */}
@@ -19,9 +22,7 @@ const BookDemoSection = () => {
className="absolute inset-0 opacity-30 pointer-events-none"
animate={{ scale: [1, 1.05, 1] }}
transition={{ duration: 14, repeat: Infinity }}
- >
-
-
+ >
{
className="mt-6 text-lg md:text-xl text-gray-600 max-w-3xl mx-auto"
>
Want to see how Winixco can improve hiring, HR operations or client
- management? Get your free 1-on-1 demo — our team responds within 12 hours.
+ management? Get your free 1-on-1 demo — our team responds within 12
+ hours.
{/* Feature List */}
@@ -61,17 +63,22 @@ const BookDemoSection = () => {
animate={{ opacity: 1, y: 0 }}
className="flex flex-col sm:flex-row gap-5 justify-center mt-12"
>
-
-
- Book My Demo
-
+
+
+ Book My Demo
+
+ }
+ />
router.push("#contact-form")}
>
Contact Sales
@@ -82,4 +89,4 @@ const BookDemoSection = () => {
);
};
-export default BookDemoSection;
\ No newline at end of file
+export default BookDemoSection;
diff --git a/app/(public)/contact/_components/ChooseWinixco.tsx b/app/(public)/contact/_components/ChooseWinixco.tsx
index 6bd02a1..cb54eca 100644
--- a/app/(public)/contact/_components/ChooseWinixco.tsx
+++ b/app/(public)/contact/_components/ChooseWinixco.tsx
@@ -1,8 +1,17 @@
"use client";
import React from "react";
import { motion } from "framer-motion";
-import { CheckCircle, Rocket, Shield, Zap, MessageCircle, Calendar, Clock } from "lucide-react";
+import {
+ CheckCircle,
+ Rocket,
+ Shield,
+ Zap,
+ MessageCircle,
+ Calendar,
+ Clock,
+} from "lucide-react";
import Link from "next/link";
+import DemoModal from "../../_homeComponents/DemoModal";
// Feature data
const features = [
@@ -14,7 +23,6 @@ const features = [
{ text: "Real-time analytics and reporting", icon: Clock }, // New feature added
];
-
const ChooseWinixco = () => {
return (
@@ -50,7 +58,6 @@ const ChooseWinixco = () => {
);
};
-
// Contact CTA Section
const WeLoveToHearFromYou = () => {
return (
@@ -67,8 +74,9 @@ const WeLoveToHearFromYou = () => {
- Your message helps us understand your business better — and deliver the right solution.
- Let’s build something powerful for your organisation.
+ Your message helps us understand your business better — and deliver
+ the right solution. Let’s build something powerful for your
+ organisation.
{/* CTA Buttons */}
@@ -80,16 +88,20 @@ const WeLoveToHearFromYou = () => {
👉 Send Message
-
- 👉 Book a Demo
-
+
+ 👉 Book a Demo
+
+ }
+ />
);
};
-export { ChooseWinixco, WeLoveToHearFromYou };
\ No newline at end of file
+export { ChooseWinixco, WeLoveToHearFromYou };
diff --git a/app/(public)/contact/_components/ContactForm.tsx b/app/(public)/contact/_components/ContactForm.tsx
index c0ec2fa..b0f109f 100644
--- a/app/(public)/contact/_components/ContactForm.tsx
+++ b/app/(public)/contact/_components/ContactForm.tsx
@@ -99,6 +99,7 @@ const ContactForm: React.FC = () => {
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }}
className="max-w-3xl mx-auto mb-20"
+ id="contact-form"
>
diff --git a/app/(public)/contact/_components/HappyCustomers.tsx b/app/(public)/contact/_components/HappyCustomers.tsx
index 30f560d..b653be5 100644
--- a/app/(public)/contact/_components/HappyCustomers.tsx
+++ b/app/(public)/contact/_components/HappyCustomers.tsx
@@ -1,14 +1,11 @@
-"use client"
-import React from 'react';
-import { motion } from 'framer-motion';
-import { Button } from '@/components/ui/button';
-import { Badge } from '@/components/ui/badge';
-import {
- Users,
- Star
-} from 'lucide-react';
-import { CONTACT_DATA } from '@/services/Constants';
-
+"use client";
+import React from "react";
+import { motion } from "framer-motion";
+import { Button } from "@/components/ui/button";
+import { Badge } from "@/components/ui/badge";
+import { Users, Star } from "lucide-react";
+import { CONTACT_DATA } from "@/services/Constants";
+import DemoModal from "../../_homeComponents/DemoModal";
// Happy Customers Component
const HappyCustomers: React.FC = () => (
@@ -27,14 +24,21 @@ const HappyCustomers: React.FC = () => (
{CONTACT_DATA.customers.title}
- {CONTACT_DATA.customers.highlight}
+
+ {CONTACT_DATA.customers.highlight}
+
-
- Try for FREE
-
+
+
+ Try for FREE
+
+ }
+ />
@@ -42,8 +46,12 @@ const HappyCustomers: React.FC = () => (
-
{CONTACT_DATA.customers.count}
-
{CONTACT_DATA.customers.label}
+
+ {CONTACT_DATA.customers.count}
+
+
+ {CONTACT_DATA.customers.label}
+
@@ -59,7 +67,9 @@ const HappyCustomers: React.FC = () => (
whileHover={{ scale: 1.1 }}
>
- {logo.name}
+
+ {logo.name}
+
))}
@@ -70,4 +80,4 @@ const HappyCustomers: React.FC = () => (
);
-export default HappyCustomers
\ No newline at end of file
+export default HappyCustomers;
diff --git a/app/(public)/contact/_components/PartnerWithUs.tsx b/app/(public)/contact/_components/PartnerWithUs.tsx
index 7cc2eb1..b09662d 100644
--- a/app/(public)/contact/_components/PartnerWithUs.tsx
+++ b/app/(public)/contact/_components/PartnerWithUs.tsx
@@ -3,6 +3,7 @@ import React from "react";
import { motion } from "framer-motion";
import { BadgeCheck, Handshake, Globe, Layers } from "lucide-react";
import { Button } from "@/components/ui/button";
+import { useRouter } from "next/navigation";
const partnerships = [
"White-label & reseller partnership",
@@ -12,6 +13,7 @@ const partnerships = [
];
const PartnerWithUsSection = () => {
+ const router = useRouter();
return (
{
animate={{ opacity: 1, scale: 1 }}
className="mt-12"
>
-
+ router.push("#contact-form")}>
Become a Partner
diff --git a/app/(public)/contact/_components/TechnicalSupport.tsx b/app/(public)/contact/_components/TechnicalSupport.tsx
index 1e766af..08226e3 100644
--- a/app/(public)/contact/_components/TechnicalSupport.tsx
+++ b/app/(public)/contact/_components/TechnicalSupport.tsx
@@ -19,8 +19,7 @@ const TechnicalSupportSection = () => {
className="absolute inset-0 opacity-25 pointer-events-none"
animate={{ scale: [1, 1.05, 1] }}
transition={{ duration: 14, repeat: Infinity }}
- >
-
+ >
@@ -33,8 +32,8 @@ const TechnicalSupportSection = () => {
- Already using Winixco? We’re here to ensure everything works seamlessly
- — fast responses & expert support guaranteed.
+ Already using Winixco? We’re here to ensure everything works
+ seamlessly — fast responses & expert support guaranteed.
@@ -53,18 +52,9 @@ const TechnicalSupportSection = () => {
))}
-
-
-
- Contact Support
-
-
);
};
-export default TechnicalSupportSection;
\ No newline at end of file
+export default TechnicalSupportSection;
diff --git a/app/(public)/crm/_components/CRMAnalytics.tsx b/app/(public)/crm/_components/CRMAnalytics.tsx
index 9cf4ed1..36cd3fa 100644
--- a/app/(public)/crm/_components/CRMAnalytics.tsx
+++ b/app/(public)/crm/_components/CRMAnalytics.tsx
@@ -5,8 +5,11 @@ import { motion } from "framer-motion";
import { Button } from "@/components/ui/button";
import { BarChart3 } from "lucide-react";
import { crm } from "@/services/Constants";
+import { useRouter } from "next/navigation";
+import DemoModal from "../../_homeComponents/DemoModal";
const CRMAnalytics: React.FC = () => {
+ const router = useRouter();
return (
@@ -60,12 +63,16 @@ const CRMAnalytics: React.FC = () => {
viewport={{ once: true }}
className="mt-12 text-center"
>
-
- View Full Analytics Dashboard
-
+
+ View Full Analytics Dashboard
+
+ }
+ />
diff --git a/app/(public)/crm/_components/FinalCTA.tsx b/app/(public)/crm/_components/FinalCTA.tsx
index fd2de82..afad07e 100644
--- a/app/(public)/crm/_components/FinalCTA.tsx
+++ b/app/(public)/crm/_components/FinalCTA.tsx
@@ -4,9 +4,7 @@ import React from "react";
import { motion } from "framer-motion";
import { Button } from "@/components/ui/button";
import { crm } from "@/services/Constants";
-
-
-
+import DemoModal from "../../_homeComponents/DemoModal";
const FinalCTA: React.FC = () => {
return (
@@ -54,16 +52,20 @@ const FinalCTA: React.FC = () => {
viewport={{ once: true }}
className="mt-10"
>
-
- {crm.FINAL_CTA.ctaText}
-
+
+ {crm.FINAL_CTA.ctaText}
+
+ }
+ />
);
};
-export default FinalCTA
\ No newline at end of file
+export default FinalCTA;
diff --git a/app/(public)/crm/_components/Hero.tsx b/app/(public)/crm/_components/Hero.tsx
index 05cf4d1..7f5001c 100644
--- a/app/(public)/crm/_components/Hero.tsx
+++ b/app/(public)/crm/_components/Hero.tsx
@@ -12,7 +12,7 @@ import {
UserCheck,
} from "lucide-react";
import { crm } from "@/services/Constants";
-
+import DemoModal from "../../_homeComponents/DemoModal";
// Components
const CRMHero: React.FC = () => {
@@ -38,7 +38,9 @@ const CRMHero: React.FC = () => {
A Powerful CRM
- to Manage Leads, Customers & Sales Growth
+
+ to Manage Leads, Customers & Sales Growth
+
@@ -46,19 +48,25 @@ const CRMHero: React.FC = () => {
-
- {crm.hero.ctaPrimary}
-
-
+ {crm.hero.ctaPrimary}{" "}
+
+
+ }
+ />
+
+ {/*
{crm.hero.ctaSecondary}
-
+ */}
@@ -105,4 +113,4 @@ const CRMHero: React.FC = () => {
);
};
-export default CRMHero
\ No newline at end of file
+export default CRMHero;
diff --git a/app/(public)/features/page.tsx b/app/(public)/features/page.tsx
index f758342..a338d20 100644
--- a/app/(public)/features/page.tsx
+++ b/app/(public)/features/page.tsx
@@ -8,6 +8,7 @@ import {
WorkflowIcon,
} from "lucide-react";
import { Button } from "@/components/ui/button";
+import DemoModal from "../_homeComponents/DemoModal";
const FEATURES_DATA = [
{
@@ -91,12 +92,16 @@ export default function FeaturesPage() {
Try Winixco now and transform the way your business grows.
-
- Book a Live Demo
-
+
+ Book a Live Demo
+
+ }
+ />
);
diff --git a/app/(public)/hrms/_components/FinalCTA.tsx b/app/(public)/hrms/_components/FinalCTA.tsx
index 772aaa0..ea02620 100644
--- a/app/(public)/hrms/_components/FinalCTA.tsx
+++ b/app/(public)/hrms/_components/FinalCTA.tsx
@@ -4,9 +4,7 @@ import React from "react";
import { motion } from "framer-motion";
import { Button } from "@/components/ui/button";
import { hrms } from "@/services/Constants";
-
-
-
+import DemoModal from "../../_homeComponents/DemoModal";
const FinalCTA: React.FC = () => {
return (
@@ -54,16 +52,20 @@ const FinalCTA: React.FC = () => {
viewport={{ once: true }}
className="mt-10"
>
-
- {hrms.FINAL_CTA.ctaText}
-
+
+ {hrms.FINAL_CTA.ctaText}
+
+ }
+ />
);
};
-export default FinalCTA
\ No newline at end of file
+export default FinalCTA;
diff --git a/app/(public)/hrms/_components/HRAnalytics.tsx b/app/(public)/hrms/_components/HRAnalytics.tsx
index 78c9b30..2e5722d 100644
--- a/app/(public)/hrms/_components/HRAnalytics.tsx
+++ b/app/(public)/hrms/_components/HRAnalytics.tsx
@@ -3,13 +3,9 @@
import React from "react";
import { motion } from "framer-motion";
import { Button } from "@/components/ui/button";
-import {
- BarChart3,
-} from "lucide-react";
+import { BarChart3 } from "lucide-react";
import { hrms } from "@/services/Constants";
-
-
-
+import DemoModal from "../../_homeComponents/DemoModal";
const HRAnalytics: React.FC = () => {
return (
@@ -62,16 +58,20 @@ const HRAnalytics: React.FC = () => {
viewport={{ once: true }}
className="mt-12 text-center"
>
-
- View Full Analytics Dashboard
-
+
+ View Full Analytics Dashboard
+
+ }
+ />
);
};
-export default HRAnalytics
\ No newline at end of file
+export default HRAnalytics;
diff --git a/app/(public)/hrms/_components/Hero.tsx b/app/(public)/hrms/_components/Hero.tsx
index 5e59fc7..96627c7 100644
--- a/app/(public)/hrms/_components/Hero.tsx
+++ b/app/(public)/hrms/_components/Hero.tsx
@@ -12,10 +12,12 @@ import {
UserCheck,
} from "lucide-react";
import { hrms } from "@/services/Constants";
-
+import { useRouter } from "next/navigation";
+import DemoModal from "../../_homeComponents/DemoModal";
// Components
const HRMSHero: React.FC = () => {
+ const router = useRouter();
return (
@@ -34,9 +36,7 @@ const HRMSHero: React.FC = () => {
-
- Modern HRMS
-
+ Modern HRMS
Designed for Tomorrow
@@ -46,19 +46,25 @@ const HRMSHero: React.FC = () => {
-
- {hrms.hero.ctaPrimary}
-
-
+ {hrms.hero.ctaPrimary}{" "}
+
+
+ }
+ />
+
+ {/*
{hrms.hero.ctaSecondary}
-
+ */}
@@ -105,4 +111,4 @@ const HRMSHero: React.FC = () => {
);
};
-export default HRMSHero
\ No newline at end of file
+export default HRMSHero;
diff --git a/app/(public)/services/_components/ServiceCTA.tsx b/app/(public)/services/_components/ServiceCTA.tsx
index fd698aa..55ab485 100644
--- a/app/(public)/services/_components/ServiceCTA.tsx
+++ b/app/(public)/services/_components/ServiceCTA.tsx
@@ -2,13 +2,12 @@
import { Button } from "@/components/ui/button";
import { motion } from "framer-motion";
+import DemoModal from "../../_homeComponents/DemoModal";
export default function ServiceCTA() {
return (
-
-
-
-
- Start Free Trial
-
-
+
+ Start Free Trial
+
+ }
+ />
-
-
);
-}
\ No newline at end of file
+}