Commit Graph

4 Commits

Author SHA1 Message Date
Dries Peeters e1d6fbafa0 feat: standardize table templates and implement bulk actions with enhanced UX
Standardize all table templates across the application and implement comprehensive bulk operations with improved loading states and empty state handling.

Frontend Improvements:

- Standardize table templates: Apply consistent styling, filters, and bulk actions across all list pages

- Add bulk action UI: Implement bulk selectors, action dropdowns, and confirmation dialogs

- Implement loading states: Add skeleton loaders, progress indicators for exports and bulk operations

- Enhance empty states: Create context-aware empty states with clear CTAs

- Improve filter UX: Make filter sections collapsible with localStorage persistence

Backend Implementation:

- Add bulk delete routes: Implement bulk deletion endpoints for invoices, expenses, payments, per diem, and mileage

- Add bulk status update routes: Implement bulk status update endpoints for all applicable resources

- Ensure proper permission checks and comprehensive error handling

UI Components:

- Enhance empty_state macro with context-awareness

- Add skeleton_table, skeleton_card, and progress_indicator components

- Extend enhanced-ui.css with progress-indeterminate animation and fade-in-up transitions

Files Changed: 15 files modified with 1,274 additions
2025-11-05 07:35:26 +01:00
Dries Peeters ffb9f6fba1 Update to make the remote work 2025-10-21 20:03:21 +02:00
Dries Peeters 79e826ced2 feat(tasks,ui): enhance task management UI; update routes; add tests
Improve task workflows and overall UX, and align backend routes with the
new UI flows. Update docs and development setup accordingly.

- UI: refine task list/view/edit templates, project views, and Kanban
  partial (`_kanban_tailwind.html`)
- CSS: polish `app/static/enhanced-ui.css` for spacing, layout, and
  responsiveness
- Routes: update `app/routes/tasks.py` and `app/routes/clients.py` to
  support new edit/delete/filter behaviors and validations
- Templates: align clients/projects pages for consistency and navigation
- Docs: refresh `docs/GETTING_STARTED.md` and
  `docs/TASK_MANAGEMENT_README.md`
- Dev: adjust `docker-compose.yml` and `setup.py` to match the latest
  runtime/build expectations
- Tests: add coverage for delete actions, task project editing, and task
  filters UI (`tests/test_delete_actions.py`,
  `tests/test_task_edit_project.py`,
  `tests/test_tasks_filters_ui.py`); update existing tests

Why:
- Streamlines common task operations and improves discoverability
- Ensures backend and UI are consistent and well-tested
2025-10-21 17:05:00 +02:00
Dries Peeters f5c3c3f59f fix: resolve keyboard shortcut conflicts and notification errors
Fixed multiple issues with keyboard shortcuts and browser notifications:

Keyboard Shortcuts:
- Fixed Ctrl+/ not working to focus search input
- Resolved conflict between three event handlers (base.html, commands.js, keyboard-shortcuts-advanced.js)
- Changed inline handler from Ctrl+K to Ctrl+/ to avoid command palette conflict
- Updated search bar UI badge to display Ctrl+/ instead of Ctrl+K
- Removed conflicting ? key handler from commands.js (now uses Shift+? for shortcuts panel)
- Improved key detection to properly handle special characters like / and ?
- Added debug logging for troubleshooting keyboard events

Final keyboard mapping:
- Ctrl+K: Open Command Palette
- Ctrl+/: Focus Search Input
- Shift+?: Show All Keyboard Shortcuts
- Esc: Close Modals/Panels

Notification System:
- Fixed "right-hand side of 'in' should be an object" error in smart-notifications.js
- Changed notification permission request to follow browser security policies
- Permission now checked silently on load, only requested on user interaction
- Added "Enable Notifications" banner in notification center panel
- Fixed service worker sync check to properly verify registration object

Browser Compatibility:
- All fixes respect browser security policies for notification permissions
- Graceful degradation when service worker features unavailable
- Works correctly on Chrome, Firefox, Safari, and Edge

Files modified:
- app/static/enhanced-search.js
- app/static/keyboard-shortcuts-advanced.js
- app/static/smart-notifications.js
- app/templates/base.html
- app/static/commands.js

Closes issues with keyboard shortcuts not responding and browser console errors.
2025-10-20 13:00:39 +02:00