# Komponen UI Checklist WhatsApp Inbox MVP Dokumen ini merangkum komponen UI yang perlu disiapkan untuk semua screen. Checklist ini berguna untuk: - tim desain membuat design system minimum - tim frontend memecah komponen reusable - menjaga konsistensi antar screen Format checklist: - `Global` - `Navigation` - `Data Display` - `Forms` - `Inbox` - `Contacts` - `Campaigns` - `Reports` - `Billing` - `Feedback States` ## 1. Foundations ### 1.1 Design Tokens - color palette primary, success, warning, error, neutral - typography scale - spacing scale - border radius scale - shadows - z-index layers - icon size scale ### 1.2 Responsive Rules - desktop main layout - tablet fallback - mobile stacking rules - sidebar collapse behavior ### 1.3 Content Rules - date time format - currency format - phone number format - status label copy - empty state copy ## 2. Global Navigation ### 2.1 Sidebar - role-based sidebar container - sidebar section label - nav item - nav item with badge - collapsed sidebar state ### 2.2 Topbar - page title block - breadcrumb - tenant/workspace indicator - channel status indicator - search trigger - notifications trigger - profile dropdown ### 2.3 Search and Notifications - global search modal/overlay - notification center panel - notification item ## 3. Core Layout Components ### 3.1 Page Structure - page container - page header - page subtitle - action bar - filter bar - split view layout - right-side inspector panel - sticky section header ### 3.2 Panels and Containers - card - stat card - info panel - section container - tab container - accordion - drawer - modal ## 4. Buttons and Actions ### 4.1 Buttons - primary button - secondary button - tertiary / ghost button - danger button - icon button - loading button ### 4.2 Action Patterns - dropdown action menu - inline action link - confirmation action - bulk action bar ## 5. Forms ### 5.1 Inputs - text input - email input - password input - phone number input - textarea - search input - number input ### 5.2 Selectors - single select - multi select - async search select - combobox - radio group - checkbox - switch/toggle - date picker - date range picker - time picker ### 5.3 Upload - file upload zone - CSV upload component - avatar uploader ### 5.4 Form Feedback - inline validation error - helper text - success state - disabled state - submit progress ## 6. Data Display ### 6.1 Tables and Lists - data table - table toolbar - sortable column header - paginated table - empty table state - list item row - selectable row ### 6.2 Status and Metadata - badge - status pill - tag chip - avatar - avatar group - timestamp label - metric delta indicator ### 6.3 Charts and KPI - KPI card - line chart wrapper - bar chart wrapper - donut/pie summary - legend - metric summary row ## 7. Auth Components ### 7.1 Login / Password - auth card layout - login form - forgot password form - reset password form - password rules hint ### 7.2 Invitation - invitation accept form - invite success message ### 7.3 Auth Feedback - invalid credentials alert - account disabled alert - token expired state ## 8. Inbox Components Inbox adalah area terpenting. Komponen di sini harus diprioritaskan. ### 8.1 Inbox Layout - inbox filter tabs - inbox filter toolbar - conversation list container - conversation row item - unread badge - assignment indicator - priority indicator ### 8.2 Conversation Detail - conversation header - status selector - priority selector - assignment selector - conversation metadata row - message timeline - message group - message bubble inbound - message bubble outbound - delivery status marker - attachment preview - template message block - composer toolbar - reply composer - send button ### 8.3 Context Panels - customer summary card - tag manager - note list - add note input - activity log list - activity event row ### 8.4 Productivity Tools - canned response picker - template picker - assign/reassign modal - follow-up indicator ### 8.5 Inbox Feedback States - no conversation selected - empty inbox - loading timeline - send failed alert - disconnected channel alert ## 9. Contact Components ### 9.1 Contact List - contact row - contact table - contact search toolbar - opt-in badge ### 9.2 Contact Form - contact form section - phone validation hint - duplicate warning ### 9.3 Contact Detail - contact profile card - custom field block - conversation history list - campaign history list - segment membership list ### 9.4 Import / Export - import stepper - field mapping table - validation preview table - import result summary - export options form ### 9.5 Segments - segment row - segment rule builder simple - member count badge ## 10. Template Components ### 10.1 Template List - template row - approval status badge - category badge ### 10.2 Template Form - template builder form - header selector - body editor - footer input - button config block - template preview panel ### 10.3 Template Detail - provider info block - rejected reason alert - resubmit action group ## 11. Campaign Components ### 11.1 Campaign List - campaign row - campaign KPI strip - campaign status badge ### 11.2 Create Campaign Flow - stepper - campaign metadata form - audience source selector - segment picker - schedule picker - recipient estimate block - review summary block - warnings panel ### 11.3 Campaign Detail - campaign summary header - delivery stats cards - send timeline - delivery trend chart - error breakdown list - recipient list table ### 11.4 Campaign Recipient States - queued badge - sent badge - delivered badge - read badge - failed badge - skipped badge ## 12. Team / User Components ### 12.1 Users List - user row - role badge - status badge - last login field ### 12.2 User Form - role selector - user status toggle ### 12.3 User Detail - user profile panel - assigned workload stat - personal performance widget ### 12.4 Team Performance - leaderboard table - workload summary - response time comparison ## 13. Reports Components ### 13.1 Reports Overview - report card - report group section ### 13.2 Report Detail - report filter bar - KPI row - chart card - breakdown table - export action ### 13.3 Specific Metrics - response time distribution widget - resolution rate summary - agent productivity leaderboard - campaign performance chart - contact growth chart ## 14. Billing Components ### 14.1 Billing Overview - current plan card - quota usage cards - renewal summary - upgrade CTA ### 14.2 Invoices - invoice table - payment status badge - invoice summary panel ### 14.3 Usage - usage progress bar - quota warning alert ## 15. Super Admin Components ### 15.1 Tenant Management - tenant row - tenant status badge - plan badge - usage summary cell ### 15.2 Tenant Detail - tenant summary cards - seat usage widget - recent activity panel ### 15.3 Channel Management - channel row - provider badge - webhook status badge - connection validation result - reconnect action group ### 15.4 Platform Monitoring - global KPI cards - alert feed - platform health chart - failure monitoring table ### 15.5 Governance - audit log table - log metadata drawer - webhook log payload viewer - security event list ### 15.6 Platform Settings - feature flag toggle row - pricing config form - settings section header ## 16. Shared Settings Components ### 16.1 Tenant Settings - settings side nav - business hours editor - auto assignment rules form - chat tags manager - canned responses manager - webhook config form ### 16.2 Profile Settings - profile summary card - edit profile form - change password form ## 17. Feedback and State Components ### 17.1 Feedback - success toast - error toast - warning toast - info toast - inline alert ### 17.2 Empty States - no conversations - no contacts - no campaigns - no templates - no reports data - no tenants - no invoices ### 17.3 Loading States - page skeleton - card skeleton - list row skeleton - timeline skeleton - form loading state ### 17.4 Error States - generic error - permission denied - disconnected integration - failed delivery - failed upload ### 17.5 Confirmation States - suspend tenant confirmation - deactivate user confirmation - disconnect channel confirmation - send campaign confirmation - mark spam confirmation ## 18. Prioritas Implementasi Komponen Kalau harus dibangun bertahap, urutan paling masuk akal: 1. foundations 2. navigation 3. page layout 4. buttons dan form primitives 5. data table, badge, card 6. inbox components 7. contact components 8. campaign components 9. user/team components 10. report components 11. billing components 12. super admin components 13. settings components 14. feedback states ## 19. Minimum Reusable Component Set Kalau tim ingin mulai dari set minimum: - app shell - sidebar - topbar - page header - card - stat card - data table - badge - modal - drawer - text input - select - date picker - tabs - split layout - conversation row - message bubble - reply composer - note list - activity list - chart wrapper - toast/alert Set ini sudah cukup untuk membangun mayoritas screen MVP.