Texting readiness
10DLC approval is invisible and slow, and 'why can't I text yet?' is the support ticket it generates. This card makes the pipeline visible instead.
Left: fully approved. Right: campaign attached, carrier review pending.
Installation
npx shadcn@latest add @handset/texting-readinessUsage
import { TextingReadiness } from "@/components/handset/texting-readiness";
// On a settings/onboarding page:
<TextingReadiness phoneNumberId={tenant.numberId} />
// Watching for approval to land (e.g. right after campaign submission):
<TextingReadiness phoneNumberId={tenant.numberId} pollMs={30000} />The three checks map to the number record: active (it exists), campaign attached (campaign_id), carrier approved (messaging_ready — the same flag that gates outbound sends). The footer sets expectations honestly: calls and inbound texts work immediately; only outbound texting waits on carriers.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| phoneNumberId | string | null | — | The number to inspect (num_…). |
| pollMs | number | 0 | 0 = fetch once. Set ~30000 to watch approval flip. |
| className | string | — | Merged onto the card. |