25b648a1b1
fix(frontend) : align time-tracking filters with view mode toggle
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 08:34:07 +01:00
445f51b473
fix(gitea) : fetch only branch-specific commits using compare API
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 08:16:55 +01:00
f888a29e0a
refactor(frontend) : make page headers and filters sticky across all pages
...
Wrap title + filters in a sticky container (top-8 sm:top-12, z-20, bg-white)
on all pages for consistent scroll behavior. Also fix SidebarTimer icon
visibility when sidebar is collapsed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:21:45 +01:00
b48ca10304
feat : populate all projects with tasks, groups and time entries in fixtures
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:14:15 +01:00
802659434f
fix(frontend) : fix time-tracking page scroll with fixed header and filters
...
Restructure time-tracking page layout so the page title and filters
stay fixed while only the calendar grid body scrolls internally.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:10:04 +01:00
25aef9b2d5
feat : add dashboard with Chart.js charts and filters
...
Implement the dashboard page with real data from the API:
- KPI cards (hours, active tasks, total tasks, projects)
- Charts: hours by day (line), hours by project (doughnut),
tasks by status (doughnut), tasks by priority (bar),
tasks by project (horizontal stacked bar)
- Filters: period (week/month), project, user
- Add chart.js and vue-chartjs dependencies
- Add dashboard sidebar icon and translations
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:05:35 +01:00
0733ac16cd
feat : add project archiving feature
...
Allow projects to be archived/unarchived from the ProjectDrawer, with a
toggle filter on the projects page to show/hide archived projects.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 08:58:29 +01:00
Matthieu
c0b16ef6dc
refactor(frontend) : redesign TaskGitSection with tabs and collapsible commits, add scrollable modal
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 16:44:30 +01:00
Matthieu
c89f9c5596
fix : load Gitea URL on modal open instead of onMounted
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:19:54 +01:00
Matthieu
94d7794c31
fix : add task:read group to Project gitea fields for TaskModal visibility
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:18:19 +01:00
Matthieu
3c0baee661
feat : add symfony/http-client dependency for Gitea integration
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:06:42 +01:00
Matthieu
c7a0dafae8
feat : integrate TaskGitSection into TaskModal
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:04:29 +01:00
Matthieu
6eeacd2cb0
feat : add TaskGitSection component
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:03:51 +01:00
Matthieu
027e31e139
feat : add Gitea repo selector to ProjectDrawer
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:02:57 +01:00
Matthieu
f8c94cb177
feat : add Gitea tab to admin page
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:02:00 +01:00
Matthieu
5b204a3464
feat : add AdminGiteaTab component
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:01:39 +01:00
Matthieu
92baf8ac0e
feat : add Gitea i18n keys
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:01:05 +01:00
Matthieu
2073339d4f
feat : add gitea fields to Project DTO
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:00:35 +01:00
Matthieu
e278286146
feat : add Gitea frontend service
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:00:17 +01:00
Matthieu
a6c5e54619
feat : add Gitea TypeScript DTOs
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:59:56 +01:00
Matthieu
5135e28e3a
feat : add branch name generation endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:59:32 +01:00
Matthieu
3d0fad3735
feat : add task Gitea pull requests endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:59:07 +01:00
Matthieu
dcbf5db308
feat : add task Gitea branches endpoints (list + create)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:58:41 +01:00
Matthieu
7b1aa22c15
feat : add Gitea repositories list endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:58:09 +01:00
Matthieu
5577884c13
feat : add Gitea test connection endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:57:50 +01:00
Matthieu
be2e7c60a3
feat : add Gitea settings API resource with provider/processor
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:57:31 +01:00
Matthieu
136d0eaaa4
feat : add GiteaApiService with branch/commit/PR methods
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:57:01 +01:00
Matthieu
0b8e2bfc63
feat : add GiteaApiException
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:56:25 +01:00
Matthieu
28e943b519
feat : add TokenEncryptor service with sodium encryption
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:56:14 +01:00
Matthieu
50690e6680
feat : add migration for GiteaConfiguration and Project gitea fields
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:55:39 +01:00
Matthieu
c82b6d1b32
feat : add gitea owner/repo fields to Project entity
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:55:19 +01:00
Matthieu
6ae014fe8a
feat : add GiteaConfiguration entity with repository
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:55:00 +01:00
Matthieu
3ec9424bb2
docs : add Gitea integration implementation plan
...
23 tasks across 7 chunks covering:
- Backend: GiteaConfiguration entity, TokenEncryptor, GiteaApiService
- API: settings CRUD, test connection, repositories list, task branches/PRs
- Frontend: DTOs, service, admin tab, ProjectDrawer repo selector, TaskGitSection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:40:28 +01:00
Matthieu
aa5f6cc7c1
docs : address spec review feedback for Gitea integration
...
- Use dedicated GiteaConfiguration entity instead of generic Setting table
- Add token encryption with SodiumEncryptor + GITEA_ENCRYPTION_KEY
- Split aggregated /gitea/info into separate /branches and /pull-requests endpoints
- Fix branch pattern matching to avoid PROJ-420 matching PROJ-42
- Add error handling strategy with GiteaApiException and degraded UI state
- Add slug generation via AsciiSlugger with 50 char limit
- Add test connection endpoint
- Extract TaskGitSection.vue component
- Add frontend service layer (gitea.ts)
- Add i18n consideration
- Add "copy branch name" feature
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:16:29 +01:00
Matthieu
14358fdddc
docs : add Gitea integration design spec
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:13:36 +01:00
Matthieu
3ffd18138b
chore : update auto-generated config reference
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:07:02 +01:00
Matthieu
e5e722c019
docs : add implementation plans for admin clients and time entry multi-type select
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:58 +01:00
Matthieu
bc9471e4ba
fix(backend) : add task:read serialization group to Project id
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:52 +01:00
Matthieu
cb5aa4584c
feat(frontend) : add tag, assignee and status filters on project page
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:48 +01:00
Matthieu
1d0f9a28c3
feat(frontend) : add kanban drag & drop and improve filter selects on my-tasks
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:44 +01:00
Matthieu
d3ea09319c
feat(frontend) : show project code and task number badge in TaskModal header
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:39 +01:00
Matthieu
e85ea42d7c
docs : update CLAUDE.md structure and fix spec formatting
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:35 +01:00
Matthieu
7540c99501
feat : add my-tasks page with Kanban and List views
...
Add a /my-tasks page displaying all non-archived tasks across projects
with server-side filtering (assignee, project, group, priority, effort,
tags, status) and two view modes (Kanban columns by status, List view).
Includes sidebar navigation link and i18n translations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:34:16 +01:00
Matthieu
c60f531607
docs : add my-tasks page implementation plan
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:28:39 +01:00
Matthieu
638bb2b686
docs : address spec review feedback for my-tasks page
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:23:45 +01:00
Matthieu
7b8c754987
docs : add my tasks page design spec
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:21:34 +01:00
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