Gregor Vostrak
cbcd1e51f6
add break time entries and simplified time tracker ui
2026-07-28 16:52:36 +02:00
Gregor Vostrak
ba374c0371
add client name to projecttaskselect dropdown trigger
2026-07-09 13:53:08 +02:00
Gregor Vostrak
e302421765
make sure dropdown/combobox lists stay visible during close animation to
...
avoid layout shifts
2026-07-09 13:01:23 +02:00
Gregor Vostrak
75f5144b45
use pinned selection instead of fix items on dropdown open so async
...
loaded collections update the dropdown properly
2026-07-09 13:01:23 +02:00
Gregor Vostrak
ac68091d3e
add secondary name sorting as tie breaker in client and project tables
2026-07-09 13:01:23 +02:00
Gregor Vostrak
a56942abcf
Add virtualizer to ProjectDropdown, ClientDropdown and Reporting
...
Comboboxes; Remove redundant focus loop on Project/ClientDropdown
2026-07-09 13:01:23 +02:00
Gregor Vostrak
61a0a7db5a
remove the measure row logic and rely on static values only for the
...
virtualizer and remove duplicated focus trap to avoid infinite loop in
project task dropdown
2026-07-09 13:01:23 +02:00
Gregor Vostrak
bc5af14a75
keep tasks visible when search term matches project or client name
2026-07-09 13:01:23 +02:00
Gregor Vostrak
95bfb45978
add virtualizer to ProjectTaskDropdown component to handle bigger
...
project lists
2026-07-09 13:01:23 +02:00
Gregor Vostrak
2207f676ee
add pagination to client and project table
2026-07-09 13:01:23 +02:00
Gregor Vostrak
981bcbe091
add tests for tag match type (backend + e2e)
2026-06-26 14:53:37 +02:00
Gregor Vostrak
ccf3cec8c0
migrate tag match type buttons to reka-ui radio group for accessibility
2026-06-26 14:53:37 +02:00
Gregor Vostrak
4bbde04e28
Rename tag_filter parameter to tag_match_type
2026-06-26 14:53:37 +02:00
Beda Schmid
58d7b33366
Add filter to include/exclude tags
...
[Added]
- Introduced a tag filter feature allowing users to specify whether tags should be included or excluded in time entry filters. This supports 'contains' and 'not_contains' modes.
2026-06-26 14:53:37 +02:00
Gregor Vostrak
25f30fa820
fix destructive color contrast
2026-06-24 17:44:56 +02:00
Constantin Graf
240dd809f4
Fixed organiztion page for employees
2026-06-18 17:30:54 +02:00
Constantin Graf
6a197f7f34
Add password check to users.destroy and organizations.destroy
2026-06-18 13:27:43 +02:00
Gregor Vostrak
5d01b20dbf
change redirects and references to new organization routes
2026-06-18 13:27:43 +02:00
Gregor Vostrak
24875f9424
add currency to organization update endpoint
2026-06-18 13:27:43 +02:00
Gregor Vostrak
4975cf1dab
replace hardcoded inertia props with organization delete/update perms
2026-06-18 13:27:43 +02:00
Gregor Vostrak
b3fb04c4be
remove unused inertia organization page props
2026-06-18 13:27:43 +02:00
Gregor Vostrak
e3e45161a1
call api for organization create/update/delete and switch
2026-06-18 13:27:43 +02:00
Gregor Vostrak
bffd0773be
remove jetstream inertia properties; remove unused ApiTokenManager;
2026-06-18 13:27:43 +02:00
Gregor Vostrak
56ea0ed90e
move banners on login and register cards into the cards
2026-06-18 13:27:43 +02:00
Gregor Vostrak
24c19e7e7c
add pending email cancel button
2026-06-18 13:27:43 +02:00
Gregor Vostrak
d0334bd730
move user delete to api endpoint
2026-06-18 13:27:43 +02:00
Gregor Vostrak
fe4e903203
use api routes for profile information updates
2026-06-18 13:27:43 +02:00
Gregor Vostrak
43e42ace54
show null billable rate as empty not as 0 to avoid confusion
2026-06-18 13:27:43 +02:00
Gregor Vostrak
8f02f98afc
add pending email to UserResource and update openapi client
2026-06-18 13:27:43 +02:00
Gregor Vostrak
c1ecd0eff5
update ui package dependencies; update lucide imports
2026-06-18 13:27:43 +02:00
Gregor Vostrak
5476b4e5a9
update npm dependencies
2026-06-18 13:27:43 +02:00
Gregor Vostrak
f9be92894e
add banners for invitation accept
2026-06-18 13:27:43 +02:00
Gregor Vostrak
cb5c2547f4
fix profile setting sidebar alignment
2026-06-03 12:24:53 +02:00
Gregor Vostrak
13a25524f3
add saved/saving/error indicators to timesheets
2026-06-02 17:14:32 +02:00
Gregor Vostrak
112f6aa6a6
add invoice clone to openapi client, expose DetailedInvoice type
2026-05-29 19:07:55 +02:00
Gregor Vostrak
8eab0485c9
revert reka-ui update; fix DST cellMath;
2026-05-29 17:14:52 +02:00
Gregor Vostrak
0aa0f0bd77
use cn helper for alert-dialog modals
2026-05-29 17:14:52 +02:00
Gregor Vostrak
eb63c4ef03
fix light mode timesheet background and add missing aria-label
2026-05-29 17:14:52 +02:00
Gregor Vostrak
54fffd07bc
add timesheet unit and e2e tests; add unit test CI setup
2026-05-29 17:14:52 +02:00
Gregor Vostrak
da235dfdc8
remove special “Add new project” state in TimeTrackerProjectTaskDropdown
2026-05-29 17:14:52 +02:00
Gregor Vostrak
62354cfe8b
remove timetrackerprojecttaskdropdown test without setup
2026-05-29 17:14:52 +02:00
Gregor Vostrak
396e7b2b6b
fix DST boundary issue in timesheets
2026-05-29 17:14:52 +02:00
Gregor Vostrak
221889ff87
fix "No project" duplicating rows, unify no project senitel to null
2026-05-29 17:14:52 +02:00
Gregor Vostrak
faf3ee471c
fix formatting
2026-05-29 17:14:52 +02:00
Gregor Vostrak
866e5d8594
clamp running time entry duration to min 0 for FullCalendarHeaderDuration calc
2026-05-29 17:14:52 +02:00
Gregor Vostrak
72cd0b6f05
fix formatting
2026-05-29 17:14:52 +02:00
Gregor Vostrak
6d93e48b1d
add missing dayjs plugins for isSameOrBefore and isSameOrAfter
2026-05-29 17:14:52 +02:00
Gregor Vostrak
09af0f775f
add timesheets page
2026-05-29 17:14:52 +02:00
Gregor Vostrak
1cc000a584
fix local storage filter migration state for visibility filter
2026-05-26 11:37:24 +02:00
Gregor Vostrak
1a754f6756
improve modal and field group spacing for project modal layout
2026-05-26 11:15:15 +02:00