|
|
9fceef3753
|
fix(timesheet): prevent entry fields from overlapping and improve responsive layout
|
2026-04-28 00:34:35 +03:30 |
|
|
|
a770272ce2
|
fix(timesheet): improve tablet layout and deleted relation handling
|
2026-04-27 22:58:27 +03:30 |
|
|
|
02cd2d67a0
|
fix(reports): format localized income totals
|
2026-04-27 21:14:12 +03:30 |
|
|
|
eee22ad6fb
|
feat(workspaces): turn workspace detail into a management hub
|
2026-04-27 20:52:19 +03:30 |
|
|
|
226faa70c0
|
refactor(timesheet): align page header with workspace views
|
2026-04-27 20:52:18 +03:30 |
|
|
|
1e5f0b6b5e
|
refactor(lists): align client and project page controls
|
2026-04-27 20:52:18 +03:30 |
|
|
|
8ecf317700
|
refactor(sidebar): reorder workspace navigation items
|
2026-04-27 20:52:18 +03:30 |
|
|
|
858aa977f7
|
fix(reports): throttle export actions after queueing
|
2026-04-27 20:52:17 +03:30 |
|
|
|
803c3ce629
|
fix(filters): expand ordering select on mobile
|
2026-04-27 17:14:00 +03:30 |
|
|
|
8cbb818a6e
|
refactor(lists): align add actions with workspace header
|
2026-04-27 17:13:35 +03:30 |
|
|
|
13b3bf044d
|
fix(filters): expand ordering select on mobile
|
2026-04-27 17:13:14 +03:30 |
|
|
|
ea793033df
|
fix(reports): correct chart labels and bucket rendering
|
2026-04-27 16:43:54 +03:30 |
|
|
|
233457f04e
|
fix(ui): show pointer cursor for interactive elements
|
2026-04-27 16:28:20 +03:30 |
|
|
|
61a1dc238d
|
feat(reports): add reports page and export notification downloads
|
2026-04-27 16:15:41 +03:30 |
|
|
|
4befb50eb7
|
fix(timesheet): show entry date without time in mobile cards
|
2026-04-26 21:26:18 +03:30 |
|
|
|
ab6fe908d3
|
fix(timesheet): save running timer draft on editor blur
|
2026-04-26 10:22:50 +03:30 |
|
|
|
2d843046fa
|
feat(pricing): manage workspace member rates in edit flows
|
2026-04-26 10:21:58 +03:30 |
|
|
|
f9dfd8826e
|
feat(pricing): manage workspace member rates in edit flows
|
2026-04-26 10:19:25 +03:30 |
|
|
|
846668add9
|
refactor(tags): use a responsive compact card layout
|
2026-04-25 19:13:02 +03:30 |
|
|
|
cf7dd06046
|
feat(timesheet): add searchable tag selectors
|
2026-04-25 19:09:10 +03:30 |
|
|
|
8b16344aef
|
refactor(timesheet): rename filter date range labels
|
2026-04-25 19:08:16 +03:30 |
|
|
|
d53a8a67d7
|
refactor(timesheet): simplify filter bar controls
|
2026-04-25 19:08:00 +03:30 |
|
|
|
29eefdea27
|
refactor(timesheet): use icon actions for the main timer
|
2026-04-25 19:07:39 +03:30 |
|
|
|
679d1cafb6
|
refactor(ui): use icon-only create actions in list pages
|
2026-04-25 19:06:58 +03:30 |
|
|
|
204b093937
|
feat(tags): confirm deletion before removing tags
|
2026-04-25 19:06:37 +03:30 |
|
|
|
7f0e00f09d
|
feat(permissions): gate workspace resources by role
|
2026-04-25 18:48:49 +03:30 |
|
|
|
c8c689e693
|
fix(timesheet): add corner edges to timer
|
2026-04-25 18:47:41 +03:30 |
|
|
|
7b8c3d7ff7
|
fix(notifications): add minimal styling to notification bell navbar
|
2026-04-25 17:58:02 +03:30 |
|
|
|
056ff31ef8
|
feat(layout): add mobile sidebar drawer navigation
|
2026-04-25 17:28:00 +03:30 |
|
|
|
2d903de97b
|
feat(notifications): add navbar dropdown and sse client
|
2026-04-25 11:29:53 +03:30 |
|
|
|
441cc0c008
|
fix(timesheet): refine responsive filter bar and timer actions
|
2026-04-24 23:04:27 +03:30 |
|
|
|
71103b9d8e
|
chore(frontend): relax lint and ts constraints
|
2026-04-24 22:24:18 +03:30 |
|
|
|
987d2e2b59
|
feat(timesheet): add tags management and responsive time tracking flows
|
2026-04-24 22:23:50 +03:30 |
|
|
|
c4d8379924
|
feat(projects): add project create edit and membership flows
|
2026-04-24 22:22:46 +03:30 |
|
|
|
790e5f1dba
|
refactor(workspaces): normalize workspace bootstrap and edit flows
|
2026-04-24 22:22:28 +03:30 |
|
|
|
dfe280d9a1
|
fix(users): align otp and profile picture api contracts
|
2026-04-24 22:21:50 +03:30 |
|
|
|
57e727da19
|
fix(auth): refresh expired access tokens automatically
|
2026-04-24 22:21:46 +03:30 |
|
|
|
99257ef70f
|
fix(projects): add translation and fix minor details in Projects create modal
|
2026-03-16 16:10:19 +08:00 |
|
|
|
501e6c7ed2
|
feat(projects): add Projects page and component modals + translations
|
2026-03-15 02:06:41 +08:00 |
|
|
|
0dddaa8185
|
fix(profile): improve profile's UI and UX
|
2026-03-15 02:05:32 +08:00 |
|
|
|
22f8f71976
|
fix(client): improve client's UI and UX
|
2026-03-15 02:04:53 +08:00 |
|
|
|
ccada5e45b
|
fix(workspaces): improve workspace's UI and UX
|
2026-03-15 02:04:07 +08:00 |
|
|
|
a35426c5c8
|
fix(components): improve components design and user experience
|
2026-03-15 02:01:54 +08:00 |
|
|
|
49e1f0080f
|
feat(components): add customized Select dropdown component
|
2026-03-15 01:59:07 +08:00 |
|
|
|
6b906a6299
|
feat(sidebar): add collapsible and rtl-friendly Sidebar component
|
2026-03-13 19:22:39 +08:00 |
|
|
|
a1a8b6ecd5
|
fix(auth): incorrect authentication endpoint while renaming react route for login from '/login -> /auth'
|
2026-03-13 18:31:54 +08:00 |
|
|
|
56404792c6
|
feat(improvement): add pagination to endpoints and pages + sync navbar when data changes
|
2026-03-13 10:30:27 +08:00 |
|
|
|
a9ebbf6a4a
|
feat(pagination): add pagination PageNumber and InfiniteScroll components
|
2026-03-13 10:28:50 +08:00 |
|
|
|
bbf7dfad2e
|
feat(client): add client's page + CRUD operations modals
|
2026-03-13 05:09:55 +08:00 |
|
|
|
3948505a30
|
bugfix(router): redirect to /workspaces if user is authenticated, otherwise redirect to /auth route + rename /login -> /auth
|
2026-03-13 02:47:36 +08:00 |
|