"use client"; // ============================================================ // Rules Checklist — the 1–13 business rules in one place. // A single filter bar + a uniform (brand-orange) card grid: // each rule card has a ghost watermark number, an icon and an // "enforced" footer. No per-category colours. // (house 181 · OTP to registered mobile · KYC two-docs · // password policy · ticket lifecycle · …) // ============================================================ import { useMemo, useState } from "react"; import { rules } from "./account-data"; import { Icon, PageHead, Pill, Segmented } from "./ui"; // Each rule category maps to a glyph so cards read at a glance. const TAG_ICON: Record = { Profile: "user", Security: "shield", KYC: "verify", Support: "chat", Notifications: "bell", Privacy: "privacy", }; export function Rules() { const tags = useMemo(() => ["All", ...Array.from(new Set(rules.map((r) => r.tag)))], []); const [tag, setTag] = useState("All"); const list = tag === "All" ? rules : rules.filter((r) => r.tag === tag); return (
{rules.length} rules} /> ({ value: t, label: t }))} />
{list.map((r) => (
{String(r.n).padStart(2, "0")}
{r.tag}
{r.title}

{r.detail}

Enforced · Rule {r.n}
))}
); }