Skip to content

Komponen Inti

text
# Related Code
- `lib/models/message.dart`
- `lib/models/session.dart`
- `lib/providers/chat_provider.dart`
- `lib/providers/sidebar_provider.dart`
- `lib/providers/theme_provider.dart`
- `lib/screens/chat_screen.dart`
- `lib/widgets/message_bubble.dart`
- `lib/widgets/message_input.dart`
- `lib/widgets/sidebar.dart`
- `lib/widgets/sidebar_toggle_button.dart`
- `lib/mock/mock_data.dart`
- `lib/mock/mock_sessions.dart`

Component Dictionary

KomponenTanggung JawabFile
SmartAiAppRoot widget, konfigurasi tema Forui & MaterialApplib/main.dart
ChatScreenHalaman utama: header, message list, input, sidebar overlaylib/screens/chat_screen.dart
ChatNotifierState daftar pesan, logic sendMessagelib/providers/chat_provider.dart
SidebarNotifierState boolean toggle sidebarlib/providers/sidebar_provider.dart
ThemeNotifierState ThemeMode (light/dark)lib/providers/theme_provider.dart
MessageBubbleRender satu pesan dengan bubble stylinglib/widgets/message_bubble.dart
MessageInputInput field + send button dengan state lokallib/widgets/message_input.dart
SidebarPanel navigasi dengan brand header & daftar sesilib/widgets/sidebar.dart
SidebarToggleButtonTombol untuk membuka/menutup sidebarlib/widgets/sidebar_toggle_button.dart
MessageModel data pesan (id, text, timestamp, sender)lib/models/message.dart
ChatSessionModel data sesi chat (id, title, isActive)lib/models/session.dart
MockDataData pesan dummy untuk developmentlib/mock/mock_data.dart
MockSessionsData sesi dummy untuk developmentlib/mock/mock_sessions.dart

Relationship Graph

Critical Path — Render Pesan

Critical Path — Kirim Pesan