privacy-policy terms&conditions refuncpolicy cookies page added
This commit is contained in:
@@ -9,6 +9,37 @@ import {
|
||||
Instagram,
|
||||
MessageCircle,
|
||||
} from "lucide-react";
|
||||
import Link from "next/link";
|
||||
|
||||
const footerLinks = [
|
||||
{
|
||||
title: "Product",
|
||||
items: [
|
||||
{ label: "Features", url: "/features" },
|
||||
{ label: "HRMS", url: "/hrms" },
|
||||
{ label: "ATS", url: "/ats" },
|
||||
{ label: "CRM", url: "/crm" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
{ label: "About Us", url: "/about" },
|
||||
{ label: "Careers", url: "/careers" },
|
||||
{ label: "Blog", url: "/blog" },
|
||||
{ label: "Contact", url: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Support",
|
||||
items: [
|
||||
{ label: "Privacy Policy", url: "/privacy-policy" },
|
||||
{ label: "Terms of Service", url: "/terms-and-conditions" },
|
||||
{ label: "Refund Policy", url: "/refund-policy" },
|
||||
{ label: "GDPR & Cookies", url: "/gdpr-cookies" },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const Footer = () => {
|
||||
return (
|
||||
@@ -17,14 +48,12 @@ const Footer = () => {
|
||||
<div className="absolute inset-0 opacity-5 bg-gradient-to-br from-purple-600 to-pink-600 blur-3xl" />
|
||||
|
||||
<div className="relative max-w-7xl mx-auto px-6 flex flex-wrap justify-between gap-10">
|
||||
|
||||
{/* Brand (Logo Update Section) */}
|
||||
<motion.div
|
||||
whileHover={{ scale: 1.03 }}
|
||||
className="min-w-[230px] flex-1"
|
||||
>
|
||||
<div className="flex items-center mb-4 gap-3">
|
||||
|
||||
{/* White background for logo */}
|
||||
<div className="w-50 h-12 bg-white rounded-xl flex items-center justify-center shadow-lg">
|
||||
{/* Replace this image with your actual logo */}
|
||||
@@ -43,36 +72,43 @@ const Footer = () => {
|
||||
|
||||
{/* Social Icons */}
|
||||
<div className="flex gap-4 mt-6">
|
||||
{[Facebook, Instagram, MessageCircle, Twitter, Linkedin, Github].map(
|
||||
(Icon, idx) => (
|
||||
<Icon
|
||||
key={idx}
|
||||
className="w-6 h-6 hover:text-white hover:scale-110 transition cursor-pointer"
|
||||
/>
|
||||
)
|
||||
)}
|
||||
{[
|
||||
Facebook,
|
||||
Instagram,
|
||||
MessageCircle,
|
||||
Twitter,
|
||||
Linkedin,
|
||||
Github,
|
||||
].map((Icon, idx) => (
|
||||
<Icon
|
||||
key={idx}
|
||||
className="w-6 h-6 hover:text-white hover:scale-110 transition cursor-pointer"
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</motion.div>
|
||||
|
||||
{/* Footer Links */}
|
||||
{[
|
||||
["Product", ["Features", "Solutions", "Pricing", "Security"]],
|
||||
["Company", ["About Us", "Careers", "Blog", "Contact"]],
|
||||
["Support", ["FAQ", "Help Center", "Guides"]],
|
||||
].map((col, idx) => (
|
||||
{/* Footer Links */}
|
||||
{footerLinks.map((col, idx) => (
|
||||
<motion.div
|
||||
key={idx}
|
||||
whileHover={{ scale: 1.02 }}
|
||||
className="min-w-[140px]"
|
||||
>
|
||||
<h4 className="font-semibold text-white text-lg mb-4">{col[0]}</h4>
|
||||
<h4 className="font-semibold text-white text-lg mb-4">
|
||||
{col.title}
|
||||
</h4>
|
||||
|
||||
<ul className="space-y-3">
|
||||
{(col[1] as string[]).map((item, i) => (
|
||||
{col.items.map((item, i) => (
|
||||
<li
|
||||
key={i}
|
||||
className="hover:text-white cursor-pointer text-sm opacity-80 hover:opacity-100 transition"
|
||||
className="text-sm opacity-80 hover:opacity-100 transition"
|
||||
>
|
||||
{item}
|
||||
<Link href={item.url} className="hover:text-white">
|
||||
{item.label}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
@@ -88,4 +124,4 @@ const Footer = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
export default Footer;
|
||||
|
||||
@@ -31,7 +31,7 @@ export default function AboutUs() {
|
||||
<div className="min-h-screen bg-gray-50 text-gray-900">
|
||||
|
||||
{/* HERO */}
|
||||
<section className="py-28 bg-gradient-to-r from-blue-600 to-purple-600 text-white text-center">
|
||||
<section className="py-28 bg-gradient-to-b from-white to-blue-50 text-center">
|
||||
<motion.h1
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
@@ -77,7 +77,8 @@ export default function AboutUs() {
|
||||
</motion.div>
|
||||
</section>
|
||||
|
||||
{/* COMPANY STORY TIMELINE */}
|
||||
|
||||
{/* COMPANY STORY TIMELINE }
|
||||
<section className="py-24 bg-white">
|
||||
<div className="text-center mb-16">
|
||||
<h2 className="text-4xl font-bold text-gray-900 mb-4">Our Journey</h2>
|
||||
@@ -112,9 +113,9 @@ export default function AboutUs() {
|
||||
</motion.div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
</section> */}
|
||||
|
||||
{/* LEADERSHIP SECTION */}
|
||||
{/* LEADERSHIP SECTION }
|
||||
<section className="py-24 max-w-7xl mx-auto px-6">
|
||||
<div className="text-center mb-12">
|
||||
<h2 className="text-4xl font-bold mb-3">Leadership Team</h2>
|
||||
@@ -149,7 +150,7 @@ export default function AboutUs() {
|
||||
</motion.div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
</section> */}
|
||||
|
||||
{/* CTA */}
|
||||
<section className="py-24 bg-gradient-to-r from-purple-600 to-blue-600 text-center text-white">
|
||||
|
||||
@@ -41,7 +41,7 @@ export default function BlogPage() {
|
||||
return (
|
||||
<main className="bg-white">
|
||||
{/* HERO */}
|
||||
<section className="py-24 px-6 text-center bg-gradient-to-b from-purple-600 via-blue-600 to-indigo-700 text-white">
|
||||
<section className="py-24 px-6 text-center bg-gradient-to-b from-white to-blue-50">
|
||||
<motion.h1
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
|
||||
@@ -35,7 +35,7 @@ export default function Careers() {
|
||||
<div className="min-h-screen bg-gray-50 text-gray-900">
|
||||
|
||||
{/* HERO */}
|
||||
<section className="py-24 text-center bg-gradient-to-r from-blue-600 to-purple-600 text-white">
|
||||
<section className="py-24 text-center bg-gradient-to-b from-white to-blue-50">
|
||||
<motion.h1
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
|
||||
153
app/(public)/gdpr-cookies/page.tsx
Normal file
153
app/(public)/gdpr-cookies/page.tsx
Normal file
@@ -0,0 +1,153 @@
|
||||
"use client";
|
||||
|
||||
import { motion } from "framer-motion";
|
||||
import { Globe, ShieldCheck, Cookie, FileText } from "lucide-react";
|
||||
|
||||
export default function GDPRCookiesPage() {
|
||||
return (
|
||||
<div className="bg-gray-50">
|
||||
{/* HEADER */}
|
||||
<section className="bg-sky-200 text-gray-900 py-20 px-6">
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
className="max-w-5xl mx-auto text-center"
|
||||
>
|
||||
<div className="w-20 h-20 mx-auto mb-6 flex items-center justify-center bg-white/30 backdrop-blur-xl rounded-3xl shadow-2xl">
|
||||
<ShieldCheck className="w-10 h-10" />
|
||||
</div>
|
||||
|
||||
<h1 className="text-4xl md:text-6xl font-bold mb-4">
|
||||
GDPR & Cookies Policy
|
||||
</h1>
|
||||
|
||||
<p className="text-lg md:text-xl max-w-3xl mx-auto">
|
||||
Transparent data processing and privacy practices aligned with GDPR and global standards.
|
||||
</p>
|
||||
</motion.div>
|
||||
</section>
|
||||
|
||||
{/* MAIN CONTENT */}
|
||||
<section className="max-w-5xl mx-auto py-16 px-6 space-y-16">
|
||||
|
||||
{/* GDPR MAIN SECTION */}
|
||||
<PolicySection
|
||||
icon={<Globe className="w-8 h-8 text-emerald-600" />}
|
||||
title="GDPR & Data Processing"
|
||||
content={
|
||||
<p>
|
||||
<strong>Controller vs Processor:</strong> For recruitment data uploaded by customers
|
||||
(applicant CVs, interview notes, candidate profiles), Winixco acts as a{" "}
|
||||
<strong>Data Processor</strong>, while the subscribing customer is the{" "}
|
||||
<strong>Data Controller</strong>. For user account data collected directly by Winixco
|
||||
(such as admin accounts), Winixco acts as the <strong>Data Controller</strong>.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* DPA SECTION */}
|
||||
<PolicySection
|
||||
icon={<FileText className="w-8 h-8 text-emerald-700" />}
|
||||
title="Data Processing Addendum (DPA)"
|
||||
content={
|
||||
<>
|
||||
<p className="mb-4">
|
||||
We provide a DPA upon request or include it in our subscription agreements. The DPA covers:
|
||||
</p>
|
||||
<ul className="list-disc ml-6 space-y-2 leading-relaxed">
|
||||
<li>Permitted processing activities (hosting, storage, backups, customer support).</li>
|
||||
<li>Security measures including encryption, access controls, and logging.</li>
|
||||
<li>Sub-processor list and advance notification of changes.</li>
|
||||
<li>Support for data subject rights and data deletion/return upon contract termination.</li>
|
||||
</ul>
|
||||
</>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* GDPR RIGHTS SECTION */}
|
||||
<PolicySection
|
||||
icon={<ShieldCheck className="w-8 h-8 text-green-700" />}
|
||||
title="GDPR Rights & Assistance"
|
||||
content={
|
||||
<p>
|
||||
We help customers fulfill GDPR data subject requests (access, correction, deletion,
|
||||
portability) for data processed on their behalf. Customers may contact{" "}
|
||||
<a href="mailto:support@winixco.com" className="text-blue-600 underline">
|
||||
support@winixco.com
|
||||
</a>{" "}
|
||||
with request details and proof of identity where applicable.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* INTERNATIONAL TRANSFERS */}
|
||||
<PolicySection
|
||||
icon={<Globe className="w-8 h-8 text-emerald-800" />}
|
||||
title="Standard Contractual Clauses & International Transfers"
|
||||
content={
|
||||
<p>
|
||||
For transfers of personal data from the EU to countries without adequacy decisions,
|
||||
we rely on legally recognized safeguards such as Standard Contractual Clauses (SCCs).
|
||||
Customers may request copies of applicable safeguards.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* COOKIES SECTION */}
|
||||
<PolicySection
|
||||
icon={<Cookie className="w-8 h-8 text-amber-600" />}
|
||||
title="Cookies & Tracking"
|
||||
content={
|
||||
<>
|
||||
<p className="mb-4">
|
||||
We use cookies and similar technologies to operate and secure the service, authenticate
|
||||
users, remember preferences, and perform analytics. Cookie preferences can be managed via
|
||||
browser settings or platform tools. Cookie categories include:
|
||||
</p>
|
||||
<ul className="list-disc ml-6 space-y-2 leading-relaxed">
|
||||
<li>
|
||||
<strong>Essential:</strong> Required for authentication and platform functionality.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Performance & Analytics:</strong> Helps us understand usage and improve features.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Marketing:</strong> Used only with user consent to deliver updates and product information.
|
||||
</li>
|
||||
</ul>
|
||||
</>
|
||||
}
|
||||
/>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
/* ---------------------- Reusable Component ---------------------- */
|
||||
|
||||
function PolicySection({
|
||||
icon,
|
||||
title,
|
||||
content,
|
||||
}: {
|
||||
icon?: React.ReactNode;
|
||||
title: string;
|
||||
content: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 15 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true }}
|
||||
className="bg-white rounded-3xl p-8 md:p-10 shadow-lg border border-gray-200"
|
||||
>
|
||||
{icon && <div className="mb-4">{icon}</div>}
|
||||
|
||||
<h2 className="text-2xl md:text-3xl font-bold text-gray-900 mb-4">
|
||||
{title}
|
||||
</h2>
|
||||
|
||||
<div className="text-gray-700 leading-relaxed">{content}</div>
|
||||
</motion.div>
|
||||
);
|
||||
}
|
||||
229
app/(public)/privacy-policy/page.tsx
Normal file
229
app/(public)/privacy-policy/page.tsx
Normal file
@@ -0,0 +1,229 @@
|
||||
"use client";
|
||||
|
||||
import { motion } from "framer-motion";
|
||||
import { Shield, Lock, Globe, UserCheck, FileText } from "lucide-react";
|
||||
|
||||
export default function PrivacyPolicyPage() {
|
||||
return (
|
||||
<div className="bg-gray-50">
|
||||
{/* HEADER SECTION */}
|
||||
<section className="bg-sky-200 text-gray-900 py-20 px-6">
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
className="max-w-5xl mx-auto text-center"
|
||||
>
|
||||
<div className="w-20 h-20 mx-auto mb-6 flex items-center justify-center bg-white/20 backdrop-blur-xl rounded-3xl shadow-2xl">
|
||||
<Shield className="w-10 h-10" />
|
||||
</div>
|
||||
|
||||
<h1 className="text-4xl md:text-6xl font-bold mb-4">
|
||||
Privacy Policy
|
||||
</h1>
|
||||
<p className="text-lg md:text-xl max-w-3xl mx-auto">
|
||||
Your trust matters. We protect your data with top-tier security,
|
||||
transparency, and compliance.
|
||||
</p>
|
||||
</motion.div>
|
||||
</section>
|
||||
|
||||
{/* MAIN CONTENT */}
|
||||
<section className="max-w-5xl mx-auto py-16 px-6 space-y-16">
|
||||
|
||||
{/* INTRO */}
|
||||
<PolicySection
|
||||
icon={<FileText className="w-8 h-8 text-blue-600" />}
|
||||
title="Privacy Policy"
|
||||
content={
|
||||
<p>
|
||||
This Privacy Policy explains how <strong>Winixco</strong> collects,
|
||||
uses, discloses, and protects personal data of users of our
|
||||
AI-powered ATS and SaaS platform worldwide.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 1. Data We Collect */}
|
||||
<PolicySection
|
||||
icon={<UserCheck className="w-8 h-8 text-purple-600" />}
|
||||
title="1. Data We Collect"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2 leading-relaxed">
|
||||
<li>
|
||||
<strong>Account & Contact Data:</strong> name, company, business
|
||||
email, phone number, billing address, job title.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Credentials:</strong> secure login details (hashed).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Payment & Billing:</strong> payment identifiers processed
|
||||
via PCI-compliant providers.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Usage & Analytics:</strong> logs, session times, IP,
|
||||
device/browser details, audit logs.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Recruitment Data (customer uploaded):</strong> resumes,
|
||||
candidate info, interview details, assessments.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Support & Communications:</strong> emails, chat
|
||||
transcripts, survey responses.
|
||||
</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 2. How We Use Data */}
|
||||
<PolicySection
|
||||
icon={<Shield className="w-8 h-8 text-blue-700" />}
|
||||
title="2. How We Use Your Data"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2">
|
||||
<li>Provide and operate the Service.</li>
|
||||
<li>Process subscriptions, billing & payments.</li>
|
||||
<li>Manage accounts and hiring workflows.</li>
|
||||
<li>Improve features and AI models (anonymized where possible).</li>
|
||||
<li>Prevent fraud, abuse & security incidents.</li>
|
||||
<li>Comply with legal obligations.</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 3. Legal Bases */}
|
||||
<PolicySection
|
||||
icon={<Lock className="w-8 h-8 text-indigo-600" />}
|
||||
title="3. Legal Bases for Processing"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2">
|
||||
<li>
|
||||
<strong>Contractual necessity</strong> – required to provide the
|
||||
Service.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Legitimate interests</strong> – security, fraud
|
||||
prevention, product improvement.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Consent</strong> – marketing communication.
|
||||
</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 4. Sharing */}
|
||||
<PolicySection
|
||||
icon={<Globe className="w-8 h-8 text-blue-500" />}
|
||||
title="4. Sharing & Disclosures"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2">
|
||||
<li>
|
||||
Shared with trusted service providers (payment, hosting,
|
||||
analytics, email, identity).
|
||||
</li>
|
||||
<li>
|
||||
Applicant data processed only under customer instruction.
|
||||
</li>
|
||||
<li>
|
||||
Legal disclosures only when required by law.
|
||||
</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 5–9 Remaining Sections */}
|
||||
<PolicySection
|
||||
title="5. Data Retention"
|
||||
content={
|
||||
<p>
|
||||
We retain data only as long as necessary for service delivery or
|
||||
legal compliance. Customers may export or request deletion anytime.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
<PolicySection
|
||||
title="6. Security"
|
||||
content={
|
||||
<p>
|
||||
We apply encryption, access controls, monitoring, and best-practice
|
||||
safeguards. In case of a data incident, affected users and
|
||||
regulators will be notified as required.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
<PolicySection
|
||||
title="7. International Transfers"
|
||||
content={
|
||||
<p>
|
||||
Data may be transferred globally. We use legal safeguards such as
|
||||
Standard Contractual Clauses for international transfers.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
<PolicySection
|
||||
title="8. Your Rights & Controls"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2">
|
||||
<li>Access, rectify, delete or export your data.</li>
|
||||
<li>Restrict or object to processing.</li>
|
||||
<li>Withdraw consent for marketing.</li>
|
||||
<li>
|
||||
Contact:{" "}
|
||||
<a
|
||||
href="mailto:support@winixco.com"
|
||||
className="text-blue-600 underline"
|
||||
>
|
||||
support@winixco.com
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
<PolicySection
|
||||
title="9. Children"
|
||||
content={
|
||||
<p>
|
||||
Our service is not intended for children under 16. Contact us if
|
||||
you believe a child has provided data.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
/* ---------------------- REUSABLE SECTION COMPONENT ---------------------- */
|
||||
|
||||
function PolicySection({
|
||||
icon,
|
||||
title,
|
||||
content,
|
||||
}: {
|
||||
icon?: React.ReactNode;
|
||||
title: string;
|
||||
content: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 15 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true }}
|
||||
className="bg-white rounded-3xl p-8 md:p-10 shadow-lg border border-gray-200"
|
||||
>
|
||||
{icon && <div className="mb-4">{icon}</div>}
|
||||
|
||||
<h2 className="text-2xl md:text-3xl font-bold text-gray-900 mb-4">
|
||||
{title}
|
||||
</h2>
|
||||
|
||||
<div className="text-gray-700 leading-relaxed">{content}</div>
|
||||
</motion.div>
|
||||
);
|
||||
}
|
||||
150
app/(public)/refund-policy/page.tsx
Normal file
150
app/(public)/refund-policy/page.tsx
Normal file
@@ -0,0 +1,150 @@
|
||||
"use client";
|
||||
|
||||
import { motion } from "framer-motion";
|
||||
import { RotateCcw, FileWarning, CreditCard, Mail, Shield } from "lucide-react";
|
||||
|
||||
export default function RefundCancellationPage() {
|
||||
return (
|
||||
<div className="bg-gray-50">
|
||||
{/* HEADER SECTION */}
|
||||
<section className="bg-sky-200 text-gray-900 py-20 px-6">
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
className="max-w-5xl mx-auto text-center"
|
||||
>
|
||||
<div className="w-20 h-20 mx-auto mb-6 flex items-center justify-center bg-white/30 backdrop-blur-xl rounded-3xl shadow-2xl">
|
||||
<RotateCcw className="w-10 h-10" />
|
||||
</div>
|
||||
|
||||
<h1 className="text-4xl md:text-6xl font-bold mb-4">
|
||||
Refund & Cancellation Policy
|
||||
</h1>
|
||||
<p className="text-lg md:text-xl max-w-3xl mx-auto">
|
||||
Clear, transparent, and customer-first refund guidelines for all Winixco SaaS users.
|
||||
</p>
|
||||
</motion.div>
|
||||
</section>
|
||||
|
||||
{/* MAIN CONTENT */}
|
||||
<section className="max-w-5xl mx-auto py-16 px-6 space-y-16">
|
||||
{/* 1. Cancellation */}
|
||||
<PolicySection
|
||||
icon={<FileWarning className="w-8 h-8 text-red-600" />}
|
||||
title="1. Cancellation"
|
||||
content={
|
||||
<p>
|
||||
Customers may cancel subscriptions at any time via the dashboard or by contacting
|
||||
support. Cancellation takes effect at the end of the current billing period unless
|
||||
otherwise stated in the plan. No partial-period refunds will be provided except as
|
||||
specified in this policy.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 2. Refund Eligibility */}
|
||||
<PolicySection
|
||||
icon={<Shield className="w-8 h-8 text-rose-700" />}
|
||||
title="2. Refund Eligibility"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2 leading-relaxed">
|
||||
<li>
|
||||
<strong>Technical failure:</strong> If a significant service outage occurs and Winixco
|
||||
fails to restore service in a reasonable timeframe, partial refunds or credits may be
|
||||
issued as per SLA.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Duplicate or erroneous charges:</strong> Incorrect or duplicate charges will
|
||||
be refunded after verification.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Trial-related charges:</strong> If a user is incorrectly charged at the end of
|
||||
a trial, the charge will be refunded upon timely request.
|
||||
</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 3. Non-Refundable Items */}
|
||||
<PolicySection
|
||||
icon={<CreditCard className="w-8 h-8 text-pink-600" />}
|
||||
title="3. Non-Refundable Items"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2 leading-relaxed">
|
||||
<li>Monthly subscription fees</li>
|
||||
<li>Annual subscription fees once activated</li>
|
||||
<li>AI credits consumed</li>
|
||||
<li>Setup charges or onboarding fees</li>
|
||||
<li>Custom integrations</li>
|
||||
<li><strong>Cloud Storage charges</strong></li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 4. Refund Process */}
|
||||
<PolicySection
|
||||
icon={<Mail className="w-8 h-8 text-red-700" />}
|
||||
title="4. Refund Process"
|
||||
content={
|
||||
<ol className="list-decimal ml-6 space-y-3 leading-relaxed">
|
||||
<li>
|
||||
Contact{" "}
|
||||
<a href="mailto:support@winixco.com" className="text-blue-600 underline">
|
||||
support@winixco.com
|
||||
</a>{" "}
|
||||
with subscription or order details.
|
||||
</li>
|
||||
<li>We will acknowledge your request within 3 business days and may request documentation.</li>
|
||||
<li>
|
||||
If approved, refunds will be processed to the original payment method within 7–14
|
||||
business days (processing time varies by provider).
|
||||
</li>
|
||||
</ol>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 5. Chargebacks */}
|
||||
<PolicySection
|
||||
icon={<RotateCcw className="w-8 h-8 text-rose-800" />}
|
||||
title="5. Chargebacks"
|
||||
content={
|
||||
<p>
|
||||
Initiating a chargeback with your bank may result in temporary account suspension while
|
||||
we investigate. If a chargeback is found to be invalid, Winixco reserves the right to
|
||||
reinstate charges and recover outstanding fees.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
/* ---------------------- REUSABLE SECTION COMPONENT ---------------------- */
|
||||
|
||||
function PolicySection({
|
||||
icon,
|
||||
title,
|
||||
content,
|
||||
}: {
|
||||
icon?: React.ReactNode;
|
||||
title: string;
|
||||
content: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 15 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true }}
|
||||
className="bg-white rounded-3xl p-8 md:p-10 shadow-lg border border-gray-200"
|
||||
>
|
||||
{icon && <div className="mb-4">{icon}</div>}
|
||||
|
||||
<h2 className="text-2xl md:text-3xl font-bold text-gray-900 mb-4">
|
||||
{title}
|
||||
</h2>
|
||||
|
||||
<div className="text-gray-700 leading-relaxed">{content}</div>
|
||||
</motion.div>
|
||||
);
|
||||
}
|
||||
235
app/(public)/terms-and-conditions/page.tsx
Normal file
235
app/(public)/terms-and-conditions/page.tsx
Normal file
@@ -0,0 +1,235 @@
|
||||
"use client";
|
||||
|
||||
import { motion } from "framer-motion";
|
||||
import { FileText, Scale, UserCheck, Wallet, Lock } from "lucide-react";
|
||||
|
||||
export default function TermsPage() {
|
||||
return (
|
||||
<div className="bg-gray-50">
|
||||
{/* HEADER SECTION */}
|
||||
<section className="bg-sky-200 text-gray-900 py-20 px-6">
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
className="max-w-5xl mx-auto text-center"
|
||||
>
|
||||
<div className="w-20 h-20 mx-auto mb-6 flex items-center justify-center bg-white/20 backdrop-blur-xl rounded-3xl shadow-2xl">
|
||||
<Scale className="w-10 h-10" />
|
||||
</div>
|
||||
|
||||
<h1 className="text-4xl md:text-6xl font-bold mb-4">
|
||||
Terms & Conditions
|
||||
</h1>
|
||||
|
||||
<p className="text-lg md:text-xl max-w-3xl mx-auto">
|
||||
Please read these Terms carefully before using Winixco’s SaaS
|
||||
platform. By using our service, you agree to these terms.
|
||||
</p>
|
||||
</motion.div>
|
||||
</section>
|
||||
|
||||
{/* CONTENT SECTION */}
|
||||
<section className="max-w-5xl mx-auto py-16 px-6 space-y-16">
|
||||
|
||||
{/* INTRO */}
|
||||
<TermsSection
|
||||
icon={<FileText className="w-8 h-8 text-blue-600" />}
|
||||
title="Terms of Service (SaaS)"
|
||||
content={
|
||||
<p>
|
||||
<strong>Scope.</strong> These Terms govern your use of Winixco’s SaaS
|
||||
platform, including web application, APIs, and related services.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 1. Account Registration */}
|
||||
<TermsSection
|
||||
icon={<UserCheck className="w-8 h-8 text-purple-600" />}
|
||||
title="1. Account Registration"
|
||||
content={
|
||||
<p>
|
||||
Customers must provide accurate information and keep account
|
||||
credentials secure. You are liable for all activity under your
|
||||
account.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 2. Subscriptions & Billing */}
|
||||
<TermsSection
|
||||
icon={<Wallet className="w-8 h-8 text-blue-700" />}
|
||||
title="2. Subscriptions & Billing"
|
||||
content={
|
||||
<ul className="list-disc ml-6 space-y-2 leading-relaxed">
|
||||
<li>
|
||||
Subscriptions are offered on monthly or annual plans. Billing
|
||||
cycles begin on activation date.
|
||||
</li>
|
||||
<li>
|
||||
By subscribing you authorize Winixco (and our payment processors)
|
||||
to charge the payment method you provide for recurring fees until
|
||||
subscription cancellation.
|
||||
</li>
|
||||
<li>
|
||||
We may offer trial periods — trial usage and limits will be
|
||||
disclosed. At the end of a trial, charges begin automatically
|
||||
unless cancelled before the trial ends.
|
||||
</li>
|
||||
</ul>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 3. Non-Refundable Items */}
|
||||
<TermsSection
|
||||
icon={<Lock className="w-8 h-8 text-indigo-600" />}
|
||||
title="3. Non-Refundable Items"
|
||||
content={
|
||||
<div>
|
||||
<p className="mb-4">
|
||||
The following items are explicitly non-refundable once charged or
|
||||
consumed:
|
||||
</p>
|
||||
<ul className="list-disc ml-6 space-y-2">
|
||||
<li>Monthly subscription fees</li>
|
||||
<li>Annual subscription fees once activated</li>
|
||||
<li>AI credits consumed</li>
|
||||
<li>Setup or onboarding fees</li>
|
||||
<li>Custom integrations</li>
|
||||
<li>
|
||||
<strong>Cloud Storage charges</strong> (storage for customer data
|
||||
and backups)
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 4. Usage Limits */}
|
||||
<TermsSection
|
||||
title="4. Usage Limits & Fair Use"
|
||||
content={
|
||||
<p>
|
||||
Plans may include limits (users, API calls, AI credits, storage).
|
||||
Excess usage may be billed or throttled. Fraudulent or abusive use
|
||||
may result in suspension.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 5. Customer Data */}
|
||||
<TermsSection
|
||||
title="5. Customer Data & Ownership"
|
||||
content={
|
||||
<p>
|
||||
Customers retain ownership of all uploaded recruitment data.
|
||||
Winixco processes such data only to provide services. Customers are
|
||||
responsible for obtaining necessary consents from job applicants
|
||||
and other data subjects.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 6. Service Levels */}
|
||||
<TermsSection
|
||||
title="6. Service Levels & Support"
|
||||
content={
|
||||
<p>
|
||||
We aim for high availability but cannot guarantee uninterrupted
|
||||
service. SLAs and support response times depend on your subscription
|
||||
plan.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 7. Intellectual Property */}
|
||||
<TermsSection
|
||||
title="7. Intellectual Property"
|
||||
content={
|
||||
<p>
|
||||
Winixco owns the Service, trademarks, and software. Customers
|
||||
receive a limited license to use the Service during their
|
||||
subscription.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 8. Confidentiality */}
|
||||
<TermsSection
|
||||
title="8. Confidentiality"
|
||||
content={
|
||||
<p>
|
||||
Both parties must protect confidential information of the other and
|
||||
disclose it only when required to provide the Service or by law.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 9. Limitations */}
|
||||
<TermsSection
|
||||
title="9. Limitations of Liability"
|
||||
content={
|
||||
<p>
|
||||
Winixco’s total liability will not exceed the fees paid in the 12
|
||||
months prior to a claim. We are not liable for indirect or
|
||||
consequential damages.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 10. Termination */}
|
||||
<TermsSection
|
||||
title="10. Termination"
|
||||
content={
|
||||
<p>
|
||||
Either party may terminate subscriptions per agreed terms. Customers
|
||||
may export their data for a limited period after termination. Data
|
||||
may be deleted after this window.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
||||
{/* 11. Governing Law */}
|
||||
<TermsSection
|
||||
title="11. Governing Law & Jurisdiction"
|
||||
content={
|
||||
<p>
|
||||
These Terms are governed by the laws of <strong>India</strong>.
|
||||
Global customers agree to resolve disputes via arbitration in India
|
||||
or mutually agreed jurisdiction.
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
/* ---------------------- REUSABLE COMPONENT ---------------------- */
|
||||
|
||||
function TermsSection({
|
||||
icon,
|
||||
title,
|
||||
content,
|
||||
}: {
|
||||
icon?: React.ReactNode;
|
||||
title: string;
|
||||
content: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: 15 }}
|
||||
whileInView={{ opacity: 1, y: 0 }}
|
||||
viewport={{ once: true }}
|
||||
className="bg-white rounded-3xl p-8 md:p-10 shadow-lg border border-gray-200"
|
||||
>
|
||||
{icon && <div className="mb-4">{icon}</div>}
|
||||
|
||||
<h2 className="text-2xl md:text-3xl font-bold text-gray-900 mb-4">
|
||||
{title}
|
||||
</h2>
|
||||
|
||||
<div className="text-gray-700 leading-relaxed">{content}</div>
|
||||
</motion.div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user