Commit Graph

7 Commits

Author SHA1 Message Date
Dries Peeters
1ab0122cc7 Major CSS overhaul: Enhanced UI/UX with modern animations and perfect dark mode
Features:
- Added shimmer effects and micro-interactions across all components
- Implemented gradient backgrounds and enhanced visual hierarchy
- Created smooth hover animations with cubic-bezier transitions
- Enhanced markdown editor with professional styling and dark mode support
- Improved task cards with animated progress bars and status badges
- Added responsive design optimizations for mobile devices

 Technical improvements:
- Consolidated and optimized CSS across 6 template files
- Implemented consistent design system with unified color palette
- Added hardware-accelerated animations for 60fps performance
- Enhanced accessibility with proper focus states and contrast ratios
- Created modular CSS architecture with clear organization

 Dark mode enhancements:
- Complete dark theme support across all modified components
- Smooth theme switching with no visual glitches
- Enhanced contrast and readability in dark mode
- Consistent color palette and gradient adaptations

 Responsive design:
- Mobile-optimized touch interactions and spacing
- Unified breakpoint behavior across all pages
- Enhanced button sizes and hover states for mobile

Files modified:
- templates/clients/list.html - Enhanced client list with animated badges and cards
- templates/clients/view.html - Improved client details with shimmer effects
- app/templates/tasks/edit.html - Professional markdown editor styling
- app/templates/tasks/create.html - Enhanced task creation form
- app/templates/tasks/list.html - Modern task cards with animations
- templates/projects/view.html - Consistent project task styling

This commit transforms the TimeTracker into a modern, professional application with exceptional user experience in both light and dark modes.
2025-09-08 12:09:58 +02:00
Dries Peeters
c297f1503b feat(tasks): add activity log, Markdown editor, and dark-mode polish
Backend
- Add TaskActivity model to record start/pause/review/complete/cancel/reopen
- Preserve started_at when reopening tasks; keep timestamps in app-local time
- Expose recent activities on task detail view

Migrations
- Add 004_add_task_activities_table (FKs + indexes)

Task detail (UI)
- Move Description into its own card and render as Markdown (markdown + bleach)
- Restyle Quick Actions to use dashboard btn-action styles
- Add custom confirmation modal + tooltips
- Recent Time Entries: use dashboard action buttons, add progressive “Show more/less” (10 per click)

Tasks list
- Fix dark mode for filter UI (inputs, selects, input-group-text, checkboxes)

Create/Edit task
- Integrate EasyMDE Markdown editor with toolbar
- Strong dark-theme overrides (toolbar, editor, preview, status bar, tokens)
- Prevent unintended side-by-side persistence
- Align “Current Task Info” dark-mode styles with task detail

CSS
- Add dark-mode tints for action buttons, tooltip light theme in dark mode
- Editor layout polish (padding, focus ring, gutters, selection)
- Quick actions layout: compact horizontal group

Deps
- Add: markdown, bleach

Run
- flask db upgrade  # applies 004_add_task_activities_table
2025-09-08 08:06:48 +02:00
Dries Peeters
ae38d436d0 feat(tasks): add overdue filter; fix(ui): solid light-mode dropdown/navbar
- Backend:
  - Accept `overdue` query param in `tasks.list_tasks` and `tasks.my_tasks`
  - Filter tasks where `due_date < today` and status in ['todo','in_progress','review']
  - Use local date via `now_in_app_timezone().date()` to respect app timezone

- UI:
  - Add “Show overdue only” checkbox to `tasks/list.html` and `tasks/my_tasks.html`
  - Preserve checkbox state via template context

- Styles:
  - Enforce opaque white backgrounds for light-mode navbar and mobile navbar
  - Disable backdrop blur to prevent bleed-through
  - Normalize light-mode dropdown menu colors/borders for readability
  - Add light-theme fallback for `--bs-body-bg`
  - Tweak mobile navbar dropdown borders/shadows

Files:
- app/routes/tasks.py
- app/templates/tasks/list.html
- app/templates/tasks/my_tasks.html
- app/static/base.css
- app/static/mobile.css

Testing:
- Tasks and My Tasks: check “Show overdue only” → only overdue, non-completed/non-cancelled tasks appear
- Light mode: navbar and dropdowns show solid white backgrounds with clear borders/hover states
- Mobile: collapsed navbar menu is full-width, opaque, readable
2025-09-05 10:27:24 +02:00
Dries Peeters
66919c96b2 feat(ui): dark mode fixes and Log Time UX aligned with invoices
Make user dropdown fully dark; fix hover/divider; remove white overlay
Mobile dropdown respects dark vars; improve navbar-collapse bg/z-index
Improve action button grouping/contrast across pages
Add dark-mode variants for badges, lists, pagination, utilities
Refresh Log Time page: card header, mini-cards for Start/End, unified labels
Group Save/Clear actions; Back remains secondary
Per-user theme preference: model column + migration (003) + POST /auth/profile/theme
Base loads user theme (fallback to local/system); remove admin theme selector
2025-09-05 10:04:49 +02:00
Dries Peeters
3376874ba0 feat(ui): unify page headers across app; add Buy Me a Coffee link
- Create and use shared page_header macro for consistent info headers
- Apply new header styling to:
  - Dashboard, Projects, Clients, Invoices (removed filter dropdown), Reports, Timer (manual)
  - System Info, Admin Users (list + form)
  - Profile, Edit Profile
  - Tasks (list, my tasks, overdue)
  - Analytics (desktop + mobile)
  - About, Help
- Add shared header/badge utilities in base.css for consistent spacing and badges
- Align summary cards and table/button styles with admin dashboard
- Footer: add “Buy me a coffee” link (https://buymeacoffee.com/DryTrix)
2025-09-04 09:52:09 +02:00
Dries Peeters
64543d1550 fix(tasks,ui): correct Task View dropdown behavior and unify filter UI
- Ensure Task View dropdown shows correct options and preserves selected state
- Normalize dropdown/filter markup across tasks, clients, projects, reports, timer
- Update routes to pass/handle filter params and template context
- Align styles for dropdown spacing/alignment; improve mobile behavior
- Keep base layout consistent for shared components
2025-09-03 14:17:57 +02:00
Dries Peeters
8a378b7078 feat(clients,license,db): add client management, enhanced DB init, and tests
- Clients: add model, routes, and templates
  - app/models/client.py
  - app/routes/clients.py
  - templates/clients/{create,edit,list,view}.html
  - docs/CLIENT_MANAGEMENT_README.md
- Database: add enhanced init/verify scripts, migrations, and docs
  - docker/{init-database-enhanced.py,start-enhanced.py,verify-database.py}
  - docs/ENHANCED_DATABASE_STARTUP.md
  - migrations/{add_analytics_column.sql,add_analytics_setting.py,migrate_to_client_model.py}
- Scripts: add version manager and docker network test helpers
  - scripts/version-manager.{bat,ps1,py,sh}
  - scripts/test-docker-network.{bat,sh}
  - docs/VERSION_MANAGEMENT.md
- UI: tweak base stylesheet
  - app/static/base.css
- Tests: add client system test
  - test_client_system.py
2025-09-01 11:34:45 +02:00