Commit Graph

62 Commits

Author SHA1 Message Date
Matthieu
bf9faee5f4 feat(frontend) : add current time indicator line on calendar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:06:09 +01:00
Matthieu
7d1d81688e refactor(frontend) : replace TaskDrawer with TaskModal for ticket create/edit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:06:04 +01:00
Matthieu
9a9e5093f5 feat : add archive/unarchive to TaskGroupDrawer and fix isFinal serialization
Fix TaskStatus getter naming (isFinal -> getIsFinal) so Symfony serializer
properly exposes the isFinal field. Add archive/unarchive buttons and
non-final tasks info message to TaskGroupDrawer. Remove obsolete TaskType
entity and repository.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:50:41 +01:00
Matthieu
7e7e373231 fix(frontend) : fix dropdown z-index and dev config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 08:20:43 +01:00
Matthieu
517511177c feat : add project code and task auto-numbering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 08:20:31 +01:00
Matthieu
56275a9ebe refactor : rename TaskType to TaskTag across the stack
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 08:20:21 +01:00
Matthieu
dbae1f7536 feat(frontend) : add isFinal toggle to TaskStatusDrawer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:08:19 +01:00
Matthieu
d5d6452cf2 feat(frontend) : add group archive/unarchive to ProjectGroupTab
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:07:21 +01:00
Matthieu
e6bbe66d42 feat(frontend) : add actions slot to DataTable component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:06:28 +01:00
Matthieu
0c4363d32b feat(frontend) : add Archives sidebar link for projects
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:05:39 +01:00
Matthieu
81d0433653 feat(frontend) : create project archives page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:05:12 +01:00
Matthieu
5057ef45c8 feat(frontend) : filter archived tasks and groups from kanban view
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:04:15 +01:00
Matthieu
c097849dad feat(frontend) : add archive/unarchive buttons and delete confirmation to TaskDrawer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:03:27 +01:00
Matthieu
7fe434fa07 feat(frontend) : create ConfirmDeleteTaskModal component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:01:55 +01:00
Matthieu
4e391e2f57 feat(frontend) : add archiving i18n translations
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:01:19 +01:00
Matthieu
84c85b3322 feat(frontend) : add getByProjectArchived to task service
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 18:00:31 +01:00
Matthieu
91ffb82e44 feat(frontend) : add isFinal and archived fields to DTOs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:59:45 +01:00
Matthieu
60b5aad0a4 feat(frontend) : allow multiple type selection in time entry drawer and remove group creation from kanban
Replace single-select dropdown with multi-select colored badges for types in TimeEntryDrawer, matching TaskDrawer pattern. Remove the "Ajouter un groupe" button and associated code from the kanban page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:14:25 +01:00
Matthieu
3e6f4ecc7a fix(frontend) : fix z-index overlay hiding drawers and add pathPrefix config
Lower the white overlay div from z-50 to z-30 so it still masks scrolling
content but no longer covers drawers/modals teleported to body.
Add components pathPrefix: false to resolve auto-imported components
without folder prefix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:12:48 +01:00
Matthieu
dac493b76d refactor(frontend) : remove per-project statuses page and sidebar link 2026-03-12 11:52:30 +01:00
Matthieu
37a6cb5558 refactor(frontend) : load global statuses in kanban page 2026-03-12 11:52:15 +01:00
Matthieu
cf84883530 feat(admin) : add statuts tab to admin page 2026-03-12 11:52:07 +01:00
Matthieu
ae8654d9ca feat(admin) : add task reassignment logic to AdminStatusTab 2026-03-12 11:51:15 +01:00
Matthieu
9d5008a21d refactor(frontend) : remove projectId from TaskStatusDrawer 2026-03-12 11:50:07 +01:00
Matthieu
cbe3408b72 refactor(frontend) : remove project from TaskStatus DTO and service 2026-03-12 11:49:56 +01:00
Matthieu
f06842729d refactor(frontend) : remove clients sidebar link 2026-03-12 11:46:51 +01:00
Matthieu
1f74509475 feat(admin) : move clients into admin page, remove standalone page 2026-03-12 11:46:43 +01:00
Matthieu
0bf01cfb27 feat(admin) : add AdminClientTab component 2026-03-12 11:46:19 +01:00
Matthieu
2ffdaafd08 style(frontend) : update timer and delete action colors 2026-03-11 18:05:45 +01:00
Matthieu
33f2bcc393 fix(time-tracking) : keep calendar header sticky below page header 2026-03-11 18:04:57 +01:00
Matthieu
f9d4de3e33 style(frontend) : apply UI corrections from design review
- Page titles in blue primary (#222783)
- Double main content margins (px-16 py-24)
- Remove blue border above sidebar timer
- Remove project color dot, use project color on title text
- All delete buttons/icons orange (#E2953C)
- Fix collapsed sidebar logo (object-cover object-left)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 11:16:50 +01:00
c886506791 fix(time-tracking) : return empty collection instead of 404 for active timer endpoint
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 00:00:33 +01:00
1efa0fa9ca refactor(frontend) : reorganize components into subdirectories and fix imports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:59:24 +01:00
ae3eeed7d9 refactor(time-tracking) : use MalioSelect for filters and drawer, improve calendar cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:47:49 +01:00
7ee1be63b3 feat(time-tracking) : show real-time timer in browser tab title
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:30:10 +01:00
c15a10b36f feat(time-tracking) : add list view for time entries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:29:58 +01:00
049275fd96 feat(time-tracking) : add calendar overlap columns, responsive cards, project filter, and auto-scroll
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:20:07 +01:00
a9ba2f3815 feat(time-tracking) : improve TimeEntryDrawer with date/time fields, duration label, and delete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:20:02 +01:00
7484ce3e45 feat(time-tracking) : add pending complete entry flow and redesign sidebar timer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:19:58 +01:00
d4c5660ba6 feat(tasks) : add delete button to TaskDrawer and toggle timer from TaskCard
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 23:19:53 +01:00
74116506db feat(time-tracking) : add calendar page, timer sidebar, and all UI components
- SidebarTimer widget with play/stop button
- TimeEntryBlock with drag-to-move and resize
- TimeEntryDrawer for create/edit entries
- TimeEntryContextMenu for copy/paste/delete
- TimeTrackingCalendar grid with week/day view
- Time tracking page with filters and navigation
- Sidebar link and timer integration in layout
- TaskCard play button connected to timer store

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:22:48 +01:00
cf021d6136 feat(time-tracking) : add TimeEntry DTO, service, timer store, and i18n keys
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:22:40 +01:00
fa0adfde88 refactor(frontend) : extract reusable DataTable component from repeated table markup
Replace inline table HTML in 8 files with a shared DataTable component
supporting columns definition, scoped slots for custom cells, and
built-in delete action.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 22:19:25 +01:00
66bb94fc98 feat(backend) : add project relation to TaskStatus entity with migration and fixtures
Add ManyToOne project field on TaskStatus, SearchFilter for API filtering,
migration to add the column, and update fixtures to create statuses per project.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:58:41 +01:00
50ae9ef549 feat(projects) : add per-project task statuses and split project detail into sub-pages
Move project detail from [id].vue to [id]/ directory with Kanban, Groups
and Statuses sub-pages. Add project filter on task statuses service and
drawer. Remove global statuses tab from admin.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:58:35 +01:00
95450e3b5f feat(layout) : add collapsible sidebar with icon-only compact mode
Introduces SidebarLink component, UI store with localStorage persistence,
and smooth CSS transitions between expanded (w-64) and compact (w-16) modes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:36:28 +01:00
fd6d0afb24 style(projects) : replace color bar with circle avatar on project cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 07:44:17 +01:00
71e6e83c82 feat(clients) : add client deletion from list page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 07:44:10 +01:00
2f746ebce4 chore : add nuxt.config.ts.new with dev proxy config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:48:08 +01:00
91da21d16b revert : restore original nuxt.config.ts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 23:45:19 +01:00