TorbatYar/frontend/docs/communication-component-map.md
Mortezakoohjani 10c3c43a75 feat(communication): add SMS MVP frontend with governance artifacts.
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>
2026-07-27 11:11:25 +03:30

51 lines
1.8 KiB
Markdown

# 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 |