Shared Components Library
To maintain a consistent UI and promote code reuse, we've created a library of common widgets, located in /lib/app/presentation/widgets/. This follows the principles outlined in UI_COMPONENT_BREAKDOWN.md.
Key Common Widgets
PrimaryButton/SecondaryButton: Standardized button components used across the app.AnimatedBackground: A reusable background with gradient and subtle particle effects.ProgressIndicators: The animated, multi-step progress bars used in the onboarding flow.HeadingText/BodyText: Standardized text widgets that use the project's custom fonts and styles.
Key Feature-Specific Shared Widgets
VideoPlayerWidget: A reusable widget that wraps theRTCVideoViewand displays loading and error states over the video feed.ChatInputWidget: A reusable widget for the bottom input bar, containing the text field, send button, and voice recording button.ConnectionStatusWidget: An overlay widget used in theAgentPageto show loading spinners and error messages with a retry button.
Example Usage (PrimaryButton):
Dart
Copy
PrimaryButton(
text: 'Get Started',
onPressed: () => print('Button pressed'),
isLoading: false,
)Last updated