feat: Update database schema to allow nullable year in crimes table
feat: Create test table for future use in migrations
feat: Add crime_cleared column to crimes table and drop test table
feat: Add city_id column to units table and adjust district_id constraints
feat: Add phone column to units table
feat: Add avg_crime column to crimes table
feat: Implement seeder for crime incidents with detailed mock data generation
feat: Add trigger and function for calculating distance to district's police unit
feat(district-popup): enhance badge hover styles for crime levels
feat(map): implement year timeline control with smooth animation
feat(ui): create a reusable slider component using Radix UI
chore(package): update package.json and package-lock.json to include @radix-ui/react-slider
- Implemented MapLegend component to display crime rate legend.
- Created YearSelector component for selecting the year of crime data.
- Developed CrimeMap component to manage crime incidents and district data.
- Added DistrictLayer for rendering districts on the map with hover and click interactions.
- Introduced CrimeMarker for displaying crime incidents on the map.
- Built MapView component for rendering the map with various controls.
- Established utility constants for crime colors and rates.
- Defined types for crime management and map features.
- Updated UserLogsTab to fetch logs for selectedUser and adjusted related state and props.
- Refactored UserOverviewTab to utilize selectedUser, including permission checks and user actions.
- Modified user-management component to pass selectedUser to UserInformationSheet.
- Enhanced use-detail-sheet handler to operate with selectedUser for user actions.
- Implemented useCheckPermissionsHandler to manage user permissions based on current user.
- Added new components: ActionRow, DangerAction, InfoRow, ProviderInfo, Section for better UI structure.
- Introduced constants for user roles and updated role model to include IUserRoles type.
- Updated global styles to include new color variables for better theming.
- Improved utility function getFullName to handle null or undefined values.