649 Commits

Author SHA1 Message Date
Gregor Vostrak
ef7569b63b only show calendar toolbar after load complete to avoid layout shift 2026-03-23 17:43:46 +01:00
Gregor Vostrak
97df779d1e Use locale-aware parseTimeInput for duration inputs 2026-03-23 17:43:46 +01:00
Gregor Vostrak
a1d5563fc4 fix window type error for activity test data injection 2026-03-23 17:43:46 +01:00
Gregor Vostrak
c94ca804f8 add Progress component and Reorganize UI exports 2026-03-23 17:43:46 +01:00
Gregor Vostrak
189682cfaf Replace FullCalendar with custom calendar UI 2026-03-23 17:43:46 +01:00
Gregor Vostrak
8d16503541 Adjust UI sizing and spacing 2026-03-23 17:43:46 +01:00
Gregor Vostrak
e43ce477b8 externalize npm packages in ui package 2026-03-23 17:43:46 +01:00
Gregor Vostrak
5646aedb25 add lucide-vue-next to peer dependencies 2026-03-23 17:43:46 +01:00
Gregor Vostrak
2b46e568e0 Use nearest-grid snapping for event resize 2026-03-23 17:43:46 +01:00
Gregor Vostrak
89a4a1962a Replace fullcalendar calendar header with custom toolbar 2026-03-23 17:43:46 +01:00
Gregor Vostrak
c581ad8854 move calendar, dropdown-menu, select, dialog, number-field components to
the ui package
2026-03-23 17:43:46 +01:00
Gregor Vostrak
bce6cb9395 Move dropdown menu into UI package 2026-03-23 17:43:46 +01:00
Gregor Vostrak
1cdae98ed9 Add context menu actions for running entries in calendar 2026-03-23 17:43:46 +01:00
Gregor Vostrak
02f6436fd0 keep calendar event data while resizing event 2026-03-23 17:43:46 +01:00
Gregor Vostrak
452acca942 add context menus to calendar view + ui package 2026-03-23 17:43:46 +01:00
Gregor Vostrak
f582adab0d fix time entries incorrectly not updating in calendar
the synced snapDuration cause incorrect noops on updates f.e. 15:55-16:00 on a 15 minute snap
2026-02-24 19:38:55 +01:00
Gregor Vostrak
c60cff04ce fix calendar flickering on move for non-aligned entries
this is a trade-off where for non grid aligned entries, the cursor position is a bit off, but data and visual are stil in sync. otherwise fc overrides height on drag, causing flickers.
2026-02-24 15:30:18 +01:00
Gregor Vostrak
cae41e4b4f improve visual snapping boundaries 2026-02-24 14:02:18 +01:00
Gregor Vostrak
2a0b8d31e6 add calendar settings + custom visual snapping 2026-02-24 12:41:15 +01:00
Gregor Vostrak
d2f3fe411a add missing query invalidation after report create 2026-02-18 23:58:39 +01:00
Gregor Vostrak
556bbedeca add dynamic loading of paginated endpoints above page_limit
add request classes and fix collection typing for clients, tasks and tags
2026-02-18 22:32:56 +01:00
Gregor Vostrak
864f41bda6 fix project member query invalidations after update, query key change regression 2026-02-18 18:51:21 +01:00
Gregor Vostrak
26524c5f40 fix member edit modal ui regression from field component migration 2026-02-18 17:57:11 +01:00
Gregor Vostrak
cf98fabe0a add table sorting to members, clients and tags table 2026-02-18 17:41:36 +01:00
Gregor Vostrak
88c0c334e9 add project progress sorting and fix direction ui for number based
columns in the project table
2026-02-18 16:45:17 +01:00
Gregor Vostrak
0fc325363d update query keys to include org id, preventing stale data after organization switch 2026-02-18 12:53:22 +01:00
Gregor Vostrak
1afc16573a cleanup postcss config dependency in ui package 2026-02-17 18:06:35 +01:00
Gregor Vostrak
147514a606 convert billable query string to boolean for shared report + e2e tests #876 2026-02-17 17:08:38 +01:00
Gregor Vostrak
f1d001e03e add lazy loading to modals and dropdowns to improve time page render performance 2026-02-17 13:54:26 +01:00
Gregor Vostrak
7f145cf1c2 make sure cost column shows in shared report view, #1019 2026-02-17 13:42:22 +01:00
Gregor Vostrak
b579ed1075 bump ui package version to 0.0.16 2026-02-16 18:31:11 +01:00
Gregor Vostrak
ed2b7476ae clear inertia cache on organization change to fix wrongly loaded stale pages 2026-02-16 16:44:20 +01:00
Gregor Vostrak
8107c6a208 improve activitygraphcard chart coloring steps 2026-02-16 15:29:46 +01:00
Gregor Vostrak
6dc517e07d make sure days with low tracked time are clearly distinguished from no time in activity graph, fixes #447 2026-02-16 15:24:50 +01:00
Gregor Vostrak
2c222f3f67 fix time loading spinner flashing “no time entries” on direct load 2026-02-13 15:35:54 +01:00
Gregor Vostrak
c5c1a7af13 add project and task prefetches to the dashboard prefetch 2026-02-13 13:52:49 +01:00
Gregor Vostrak
22cf7cf74d limit initially loaded time entries on the time page to 50 2026-02-13 13:44:33 +01:00
Gregor Vostrak
cfbfbd4b6a remove no tags option from timetracker tag dropdown 2026-02-13 12:30:54 +01:00
Gregor Vostrak
6629482a0e set maximum-scale=1 to prevent weird ios zoom behaviours 2026-02-12 18:12:05 +01:00
Gregor Vostrak
0e63ecb520 improve timetracker on mobile; fix select all checkbox with 0 time
entries; add minimal padding to mobile dialogs
2026-02-12 17:06:20 +01:00
Gregor Vostrak
6f207a4926 hide "All time entries are loaded" when no time entries are created yet 2026-02-12 13:58:08 +01:00
Gregor Vostrak
052424a581 add animation to the mobile sidebar 2026-02-12 13:51:53 +01:00
Gregor Vostrak
b258717211 improve reporting page responsive layout; standardize button sizing;
prevent mobile input zoom; increase CI playwright shards
2026-02-12 13:30:11 +01:00
Gregor Vostrak
685cc29282 improve layout consistency between project and project show page, fix
client status indicator, fixes #814
2026-02-11 18:17:08 +01:00
Gregor Vostrak
c78c681ec4 Conditionally show cost column in report tables; Task/Project Modal
Field cleanup; improve estimated time UX
2026-02-11 17:29:41 +01:00
Gregor Vostrak
2d9f33387e improve format settings e2e test consistency; improve euro icon sizing
consistency
2026-02-11 17:29:41 +01:00
Gregor Vostrak
b68d68a2a2 make sure that 404 current time entry requests do not override local
state while preparing new time entry
2026-02-11 17:29:41 +01:00
Gregor Vostrak
a9e03f3b29 responsive time entry modal fixes 2026-02-11 17:29:41 +01:00
Gregor Vostrak
8be55359ce add e2e tests for employee restrictions 2026-02-11 17:29:41 +01:00
Gregor Vostrak
f3217baed1 Add Tag Edit Modal and UI 2026-02-11 17:29:41 +01:00