- Added BaseSettingsController to manage loading states and error handling.
- Created DisplayModeController to handle theme settings with persistence.
- Implemented EmailController for managing email preferences and verification.
- Developed LanguageController for language selection and persistence.
- Added NotificationsController to manage notification preferences.
- Created PrivacyController for privacy settings management.
- Implemented SecurityController for security settings including 2FA and backup codes.
- Developed TextSizeController to manage text size settings.
- Created SettingsController to aggregate all sub-controllers and manage user settings.
- Added UI components for displaying officer and user profile details.
- Added CameraPreviewWidget for real-time camera feed and face detection.
- Created CapturedSelfieView to display captured selfies and verification results.
- Introduced CountdownOverlayWidget to manage countdown during face verification.
- Developed DebugPanel for troubleshooting liveness detection issues.
- Implemented ErrorStateWidget to handle and display error messages.
- Added InstructionBanner to guide users through the verification process.
- Created VerificationProgressWidget to show progress of verification steps.
- Added FormRegistrationScreen for user profile completion with step navigation.
- Created SelfieVerificationStep for capturing and validating user selfies.
- Implemented OfficerInfoStep and UnitInfoStep for officer-specific information input.
- Introduced PanicButtonController and PanicButtonPage for emergency alert functionality.
- Developed CustomElevatedButton and CustomBottomNavigationBar for enhanced UI components.
- Added functionality to compare the uploaded selfie with the ID card photo.
- Introduced new state variables in SelfieVerificationController to manage face comparison status and confidence levels.
- Implemented face detection and ID comparison logic in the selfie verification workflow.
- Updated UI components in SelfieVerificationStep to display face match results and provide retry options.
- Refactored IdentityVerificationStep to utilize new widget structure for better organization.
- Created separate widgets for identity verification fields and face verification section for improved readability and maintainability.
- Updated API endpoints for Azure Face API to use the latest version.
- Removed deprecated validation button from ImageUploader widget.
- Added navigation utility class for better route management.
- Added dark mode branding images for the app.
- Created contents.json files for branding and launch background images.
- Implemented splash screen with animated Lottie assets based on theme.
- Developed authentication repository with email/password and social login functionalities.
- Introduced background service for heavy computations in isolates.
- Added splash controller to manage authentication flow during splash screen.
- Added ProfileRepository for managing user profile data including fetching, updating, and uploading avatars.
- Introduced RolesRepository to handle role-related operations such as fetching all roles and retrieving roles by ID or name.
- Created UserRepository for user data management, including user authentication checks and profile updates.
- Developed OfficerModel to represent officer data with JSON serialization.
- Implemented RoleSelectionController to manage role selection logic during onboarding.
- Added LocationWarningScreen to handle location validation and user notifications.
- Created RoleSelectionScreen for users to select their roles during onboarding.
- Developed RoleCard widget for displaying role options in a user-friendly manner.
- Implement EventModel with JSON serialization and deserialization.
- Create EvidenceModel with associated JSON handling.
- Develop IncidentLogModel to manage incident logs and their evidences.
- Introduce SessionsModel to track user sessions related to events.
- Update index file to export new models.
feat(personalization): introduce permissions and resources models
- Add PermissionModel to manage user permissions with JSON support.
- Create ResourceModel to define resources and their associated permissions.
- Ensure proper serialization and deserialization for both models.
chore(database): update Prisma schema for new models and relationships
- Add new models: events, evidences, incident_logs, sessions, permissions, and resources.
- Define relationships between users, roles, and permissions.
- Update existing models to maintain referential integrity.
- Introduce enums for session status, contact message status, crime rates, and crime status.
- Updated description format in pubspec.yaml
- Added multiple utility packages for enhanced functionality
- Included local assets and fonts for better UI design
- Updated widget test to reference the new app structure
- Registered new plugins in generated_plugin_registrant.cc for Windows
- Updated generated_plugins.cmake to include new plugins
- Modified Supabase config to allow additional redirect URLs