// Compliance Adda — home page sections. const { Button, Card, Badge, Input, Select } = window.ComplianceAddaDesignSystem_3d98ba; const HOME_HEADLINES = { sorted: "Registrations, tax and compliance — sorted.", chaos: "Compliance without the chaos", }; /* ── hero widgets ── */ function nextDue(day, monthOffset = 0) { const now = new Date(); let d = new Date(now.getFullYear(), now.getMonth() + monthOffset, day); if (d < now) d = new Date(now.getFullYear(), now.getMonth() + monthOffset + 1, day); return d; } function CalendarCard() { const rows = [ { day: 7, label: "TDS payment", sub: "Deducted last month" }, { day: 11, label: "GSTR-1", sub: "Outward supplies" }, { day: 20, label: "GSTR-3B", sub: "Summary return + tax" }, { day: 15, label: "Advance tax", sub: "Quarterly instalment", quarterly: true }, ].map((r) => { let d = nextDue(r.day); if (r.quarterly) { const months = [5, 8, 11, 2]; const now = new Date(); let best = null; for (const m of months) { for (const y of [now.getFullYear(), now.getFullYear() + 1]) { const c = new Date(y, m, 15); if (c >= now && (!best || c < best)) best = c; } } d = best; } const days = Math.ceil((d - new Date()) / 86400000); return { ...r, date: d, days }; }).sort((a, b) => a.date - b.date); const mon = (d) => d.toLocaleString("en-IN", { month: "short" }); return (
Your compliance calendar

The next statutory deadlines, tracked live. We file before every one of them.

{rows.map((r) => (
{r.date.getDate()}
{mon(r.date)}
{r.label}
{r.sub}
{r.days <= 1 ? "due now" : "in " + r.days + " days"}
))}
Reminders before every deadline — get them free.
); } function QuoteCard() { const S = window.CA_SERVICES; const opts = ["gst-registration", "private-limited-company", "gst-return", "income-tax-return", "trademark-registration", "limited-liability-llp"]; const [slug, setSlug] = React.useState(opts[0]); const d = S[slug]; return (
Get an instant quote
setQ(e.target.value)} onFocus={() => setFocus(true)} onBlur={() => setTimeout(() => setFocus(false), 150)} prefix={} style={{ width: "100%", boxSizing: "border-box" }} /> {focus && hits.length > 0 ? (
{hits.map((s) => ( e.currentTarget.style.background = "var(--color-canvas-soft)"} onMouseLeave={(e) => e.currentTarget.style.background = "transparent"}> {S[s].title} {S[s].price} ))}
) : null} ); } /* ── sections ── */ function Hero({ tweaks }) { const chips = [ ["GST registration", "gst-registration"], ["Private limited company", "private-limited-company"], ["Trademark", "trademark-registration"], ["ITR filing", "income-tax-return"], ["LLP", "limited-liability-llp"], ]; return (
CA, CS & advocate-led · serving all of India

{HOME_HEADLINES[tweaks.headline] || HOME_HEADLINES.sorted}

Company registration, GST, trademarks and tax filing — handled end-to-end by experts, with fixed fees quoted upfront and every deadline tracked for you.

Popular: {chips.map(([label, slug]) => ( {label} ))}
{tweaks.heroWidget === "quote" ? : }
); } function StatsBand() { const stats = window.CA_STATS || []; return (
{stats.map(([n, label]) => (
{n}
{label}
))}
); } function PlatformSection() { const feats = [ { icon: "building", title: "Business incorporation", body: "Pvt Ltd, LLP, OPC and partnership setups — name to certificate, start to finish.", href: "services.html?cat=Startup" }, { icon: "landmark", title: "Tax advisory", body: "ITR filing, regime planning and notice handling with a review before every filing.", href: "service.html?s=income-tax-return" }, { icon: "shield-check", title: "Regulatory compliance", body: "GST, ROC and annual filings tracked on a calendar you can actually see.", href: "services.html?cat=GST" }, { icon: "book-open", title: "Accounting & bookkeeping", body: "Clean monthly books that make every return and audit faster and cheaper.", href: "services.html" }, { icon: "file-text", title: "Legal documentation", body: "Agreements, deeds and board paperwork drafted by advocates, not templates.", href: "services.html" }, { icon: "award", title: "Trademark protection", body: "Search, filing, objections and oppositions — your brand defended nationwide.", href: "services.html?cat=Trademark%20%2F%20IPR" }, ]; return (
Browse all services
{feats.slice(0, 2).map((f) => )}
{feats.slice(2).map((f) => )}
); } function FeatureCard({ icon, title, body, href }) { return (
{title}

{body}

Learn more
); } function ProcessSection() { const steps = [ { icon: "search", title: "Select your service", body: "Search or pick what you need. The fee and timeline are on the page — no call required to see a price." }, { icon: "users", title: "Expert consultation", body: "A dedicated professional calls to confirm your exact case and sends a simple document checklist." }, { icon: "file-text", title: "Documentation & filing", body: "We draft, verify and file with the department — and chase the approvals so you don't have to." }, { icon: "circle-check", title: "Completion & support", body: "Certificates delivered, next due dates loaded into your calendar, reminders on us." }, ]; return (
{steps.map((s, i) => (
{"0" + (i + 1)}
{s.title}

{s.body}

))}
); } function MarketplacePreview() { const cats = ["All"].concat(window.CA_CATS); const [cat, setCat] = React.useState("All"); const slugs = Object.keys(window.CA_SERVICES).filter((s) => cat === "All" || window.CA_SERVICES[s].cat === cat); const featured = cat === "All" ? window.CA_POPULAR.concat(["limited-liability-llp", "msme-registration"]) : slugs.slice(0, 6); return (
All {Object.keys(window.CA_SERVICES).length} services
{cats.map((c) => ( ))}
{featured.slice(0, 6).map((s) =>
)}
); } function AboutSection() { const points = [ "Qualified CAs, CSs and advocates on every case — never a call-centre script", "Fixed fees quoted before we start, government charges at actuals", "Fully digital process with secure document handling, pan-India", "Free deadline reminders for as long as you're a client", ]; return (
Watch · 90 seconds
How a filing works at Compliance Adda
From your WhatsApp message to the stamped acknowledgment.
{points.map((p) => (
{p}
))}
); } function WhySection() { const items = [ ["users", "CA / CS professional support"], ["indian-rupee", "Transparent, fixed pricing"], ["lock", "Secure document handling"], ["zap", "Fast turnaround"], ["circle-check", "End-to-end assistance"], ["bell", "Compliance reminders"], ["user", "One dedicated expert"], ["globe", "100% online, pan-India"], ]; return (
{items.map(([icon, label]) => ( {label} ))}
); } function Testimonials() { const data = window.CA_TESTIMONIALS || []; const [vis, setVis] = React.useState(typeof window !== "undefined" && window.innerWidth < 760 ? 1 : 3); const [idx, setIdx] = React.useState(0); React.useEffect(() => { const onR = () => setVis(window.innerWidth < 760 ? 1 : 3); window.addEventListener("resize", onR); return () => window.removeEventListener("resize", onR); }, []); const maxIdx = Math.max(0, data.length - vis); const clamped = Math.min(idx, maxIdx); const gap = 16; return (
{data.map((t) => (
{t.svc}

“{t.text}”

{t.who}
{t.role}
))}
); } function ResourcesSection() { const posts = window.CA_RESOURCES || []; return (
{posts.map((p) => ( {p.tag}
{p.title}

{p.body}

Ask us about this
))}
); } function PromoBand() { return (

Switch your compliance to us in one afternoon.

Talk to an expert {window.CA_PHONE}
); } /* ── app ── */ const HOME_TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "headline": "sorted", "heroWidget": "calendar" }/*EDITMODE-END*/; function HomeApp() { const [t, setTweak] = useTweaks(HOME_TWEAK_DEFAULTS); useReveal(); return (
setTweak("headline", v)} /> setTweak("heroWidget", v)} />
); } window.HomeApp = HomeApp;