Ship the full Communication portal (real SMS API, feature-locked future channels), BFF proxy, docs, snapshot, and phase handover. Co-authored-by: Cursor <cursoragent@cursor.com>
1.8 KiB
1.8 KiB
Communication — Component Map
Shell & layout
| Component | Path | Role |
|---|---|---|
| CommunicationRootLayout | components/createPortalLayout.tsx |
Auth + tenant gate |
| CommunicationPortalShell | components/CommunicationPortalShell.tsx |
Sidebar nav, dark mode, lock icons |
| CommunicationBreadcrumbs | components/CommunicationBreadcrumbs.tsx |
RTL breadcrumbs |
| CommunicationFeatureLock | components/CommunicationFeatureLock.tsx |
Locked module premium UI |
Data & CRUD
| Component | Path | Role |
|---|---|---|
| createCommunicationListPage | components/CommunicationListCrudPage.tsx |
CRUD factory (providers, templates, contacts) |
| CommunicationTablePage | design-system/CommunicationTablePage.tsx |
Search, pagination, toolbar |
| CommunicationStatGrid | design-system/CommunicationStatGrid.tsx |
KPI cards |
| CommunicationStatusChip | design-system/CommunicationStatusChip.tsx |
Message/provider status |
Shared (reused)
| Source | Used for |
|---|---|
@/components/ds |
Button, Card, Dialog, Drawer, FormField, StatCard, DataTable |
@/src/shared/ui |
PageLoader, PermissionDeniedState, Timeline, DetailDrawer |
@/src/shared/hooks |
useDebouncedValue (available) |
Hooks
| Hook | Path |
|---|---|
| useCommunicationCapabilities | hooks/useCommunicationCapabilities.ts |
| useCommunicationPermissions | hooks/useCommunicationPermissions.ts |
API
| Module | Path |
|---|---|
| communicationApi | services/communication-api.ts |
| normalizeCapabilities | same |
Constants
| File | Contents |
|---|---|
| portals.ts | Full nav tree (locked items visible) |
| featureRegistry.ts | FUTURE_MODULE_REGISTRY |
| resourceRegistry.ts | SMS CRUD configs |
| permissions.ts | communication.* tree |