-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Updates #70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Updates #70
Conversation
also rename them so that they do not conflict with the datepicker calendar component
…r and user settings dropdown
This became redundant due to the floating feedback bubble removal
when enabled users are blocked from creating or editing new time entries that are overlapping with other time entries
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements several feature enhancements including tag-based time entry aggregation, calendar view, overlapping time entry prevention, duplicate/edit functionality, and UI improvements.
Key Changes
- Added tag support to reporting and time entry aggregation
- Implemented a calendar view with drag-and-drop time entry management
- Added organization setting to prevent overlapping time entries
- Enhanced time entry UI with edit and duplicate capabilities
Reviewed Changes
Copilot reviewed 49 out of 51 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Unit/Service/TimeEntryAggregationServiceTest.php | Added tests for tag-based aggregation with overlap prevention |
| tests/Unit/Endpoint/Api/V1/TimeEntryEndpointTest.php | Added comprehensive overlap detection tests |
| routes/web.php | Added calendar route |
| resources/js/utils/useReporting.ts | Added tag grouping option |
| resources/js/utils/feedback.ts | New utility for feedback functionality |
| resources/js/packages/ui/src/index.ts | Exported new UI components |
| resources/js/packages/ui/src/TimeEntry/*.vue | Enhanced time entry components with edit/duplicate |
| resources/js/packages/ui/src/FullCalendar/*.vue | New calendar components |
| resources/js/packages/api/src/openapi.json.client.ts | API schema updates for new features |
| resources/js/Pages/*.vue | Updated pages with new features |
| resources/js/Components/*.vue | UI component enhancements |
| resources/css/app.css | Theme color adjustments |
| package.json | Added FullCalendar and chroma-js dependencies |
| database/migrations/*.php | Added prevent_overlapping_time_entries column |
| app/Service/TimeEntryAggregationService.php | Implemented tag aggregation logic |
| app/Models/Organization.php | Added prevent_overlapping_time_entries attribute |
| app/Http/Resources/V1/Organization/OrganizationResource.php | Exposed new organization setting |
| app/Http/Controllers/Api/V1/TimeEntryController.php | Added overlap validation |
| app/Exceptions/Api/OverlappingTimeEntryApiException.php | New exception for overlaps |
| app/Enums/TimeEntryAggregationType.php | Added Tag enum case |
| lang/en/*.php | Added validation messages |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| @@ -1,4 +1,4 @@ | |||
| -- | |||
| git-- | |||
Copilot
AI
Oct 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Invalid SQL comment syntax. The line should start with -- not git--. This appears to be a merge conflict artifact or accidental edit.
| git-- |
| <h3 class="text-text-primary font-semibold text-sm">No recent time entries</h3> | ||
| <p class="pb-5 text-sm">Start tracking your time!</p> |
Copilot
AI
Oct 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The empty state message changed from 'No recent tasks found' to 'No recent time entries', but the component name and surrounding code still reference 'tasks'. This creates confusion about what data this component actually displays. The component should either be renamed or the message should be clarified to match the actual functionality.
No description provided.