Compliance status
Tracks 10DLC brand and campaign approval in one place: a status badge, the carrier's rejection reason when rejected, and the assigned throughput once a campaign is approved. Polls while anything is pending and stops when everything settles.
Brand
Loading…Campaign
Loading…Installation
npx shadcn@latest add @handset/compliance-statusReads GET /brands/:id and GET /campaigns/:id through your proxy. Pair it with the registration forms to show applicants where their submission stands.
Usage
import { ComplianceStatus } from "@/components/handset/compliance-status";
<ComplianceStatus brandId={brand.id} campaignId={campaign.id} />Pass either id or both. It polls every 15s while a registration is pending and stops once it's approved or rejected. Set pollMs=0 to fetch once without polling.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| brandId | string | — | A brand to track (brd_…). |
| campaignId | string | — | A campaign to track (cmp_…). |
| pollMs | number | 15000 | Poll interval while pending. 0 fetches once. |
| className | string | — | Merged onto the card. |