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
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
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
43e42ace54
show null billable rate as empty not as 0 to avoid confusion
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
0aa0f0bd77
use cn helper for alert-dialog modals
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
221889ff87
fix "No project" duplicating rows, unify no project senitel to null
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
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
1a754f6756
improve modal and field group spacing for project modal layout
2026-05-26 11:15:15 +02:00
Gregor Vostrak
0e15d9d9c2
add project visibility ui
2026-05-26 11:15:15 +02:00
Gregor Vostrak
77a62afd69
add alphabetic sorting to multiselect dropdowns
2026-04-29 18:32:05 +02:00
Gregor Vostrak
2d6f9e514f
add groupSimilarTimeEntries to TimeEntryGroupedTable
2026-04-21 20:44:33 +02:00
utlark
77a5e979c6
Added the ability to disable group similar time entries ( #1054 )
...
* Added the ability to disable group similar time entries
* Fix E2E test for Group similar time entries
* Simplify `TimeEntryGroupedTable` by replacing ternary with early return logic
* Refactor time entry grouping settings: rename storage key, move logic into a dedicated module
* Replace fixed `waitForTimeout` calls in E2E tests with element-based waits and assertions
* Run frontend linting and formatting for changes
2026-04-17 16:44:59 +02:00
Gregor Vostrak
277dbaf6eb
promote duration formats that omit seconds to HH:mm:ss in reporting
...
views and exports
2026-04-17 12:15:26 +02:00
Gregor Vostrak
1cf33ddb3f
improve dark mode color palette; rework font weights throughout the
...
interface
2026-04-15 15:35:20 +02:00
Gregor Vostrak
f37b86f377
chore: remove unused formatActivityDuration function
2026-04-08 14:49:37 +02:00
Gregor Vostrak
1e7364fc4b
show calendar activities more prominently when no time entry exists
2026-04-08 14:43:09 +02:00
Gregor Vostrak
8cbc9838c9
fix minimal layout shift on time entry select and migrate to ui button
2026-04-07 21:42:34 +02:00
Gregor Vostrak
71c8992e31
Fix getLocalizedDayJsFromMinutes handling negative minute values
2026-03-31 13:56:30 +02:00
Gregor Vostrak
0c88a10eb5
improve calendar current day styling
2026-03-30 00:58:40 +02:00
ShrootBuck
b1287c6a0a
Prefill project name in create modal
...
Add optional initialProjectName prop to ProjectCreateModal and use it
to initialize the project's name. Pass the TimeTracker dropdown's
searchValue as initial-project-name so the create form is prefilled.
2026-03-29 23:55:10 +02:00
Gregor Vostrak
815abb5980
improve drag handle hit area and activity tooltip placement
2026-03-29 23:14:01 +02:00
Gregor Vostrak
e2f859be27
fix calendar scroll down on load; bump ui package version
2026-03-29 23:02:22 +02:00
Gregor Vostrak
3d26fcaefe
Fix DST-related timezone offset when creating/resizing/dragging calendar
...
events
2026-03-29 22:55:50 +02:00
Gregor Vostrak
0f8f906e5c
clarify naming on activity type
2026-03-27 00:37:29 +01:00
Gregor Vostrak
797fddf638
chore: Add zod/type deps and tighten TimeTracker types
2026-03-24 17:41:26 +01:00
Gregor Vostrak
6be6a48e0d
Use relative cn imports in UI package to improve isolation and fix
...
package build
2026-03-23 19:16:31 +01:00
Gregor Vostrak
b94a04dca0
Move useCssVariable into ui package
2026-03-23 19:02:20 +01:00
Gregor Vostrak
c19a0f9acc
Move tabs and TabBar into UI package
2026-03-23 17:43:46 +01:00
Gregor Vostrak
5c6d84dc38
fix e2e tests timing issues with cut off time entries at the start of
...
the day
2026-03-23 17:43:46 +01:00
Gregor Vostrak
5c67709746
Add clearable DatePicker and report tests
2026-03-23 17:43:46 +01:00
Gregor Vostrak
b94872b07b
Add size prop to DatePicker and fix range end
2026-03-23 17:43:46 +01:00
Gregor Vostrak
a58566d002
fix design inconsistencies in time entry edit modal
2026-03-23 17:43:46 +01:00
Gregor Vostrak
57ed6036e6
Add context menu to time entry rows
2026-03-23 17:43:46 +01:00
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
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