Commit Graph

49 Commits

Author SHA1 Message Date
731ed0219c add budget progress indicators to Projects and Dashboard
Project edit dialog includes budget hours and amount fields. Project
cards show progress bars with color-coded status. Dashboard displays
budget alerts section for projects exceeding 75% of budget.
2026-02-18 10:51:47 +02:00
13c2e04d70 integrate tags in Timer and Entries views
Timer shows tag selector below description, saves tags on stop.
Entries table displays tag chips per row with color coding.
Tags loaded from store on mount.
2026-02-18 10:51:39 +02:00
8d910495f3 add data import from CSV and JSON
Import utility with CSV parser, Toggl/Clockify format mapping, and
generic CSV column mapping. Settings Data tab has import UI with
file picker, format selector, preview table, and import execution.
2026-02-18 10:46:33 +02:00
03080e3d6b enhance floating mini timer with controls and pop-out button
MiniTimer shows project color dot, name, elapsed time, stop button,
and expand-to-main button. Timer.vue has pop-out button when running.
2026-02-18 10:46:25 +02:00
21c98f1cb2 add global keyboard shortcuts for timer toggle and show app
Register CmdOrCtrl+Shift+T (toggle timer) and CmdOrCtrl+Shift+Z
(show app) via tauri-plugin-global-shortcut. Shortcut keys are
configurable in Settings Timer tab. Shortcuts re-register on change.
2026-02-18 10:46:18 +02:00
c28c7371bb add profitability tab and favorites strip
Reports view now has Hours/Profitability tabs with per-project revenue
table. Timer view shows favorites strip for quick project selection
and a Save as Favorite button next to the description input.
2026-02-18 10:46:10 +02:00
c0cfd8848a add Calendar, Timesheet, and MiniTimer views
Calendar shows weekly time-block layout with hour rows, entry positioning,
current time indicator, and week navigation. Timesheet provides a weekly
grid with project/task rows, day columns, totals, and add-row functionality.
MiniTimer is a minimal always-on-top timer display for the floating window.
2026-02-18 10:39:08 +02:00
ca57ff2d6d add AppTagInput multi-select tag component 2026-02-18 10:35:18 +02:00
be48a44a6a add markdown rendering for entry descriptions 2026-02-18 10:35:12 +02:00
997e4b2a80 add duplicate, copy previous day/week, and repeat entry 2026-02-18 10:35:06 +02:00
3b7b02abaf add theme customization with accent colors and light mode 2026-02-18 10:34:59 +02:00
28ec9e66f7 add favorites table, CRUD commands, and Pinia store 2026-02-18 02:02:57 +02:00
1a4f2421f8 add project budgets and rounding override columns 2026-02-18 02:02:13 +02:00
7416e4b49a add tags table, CRUD commands, and Pinia store 2026-02-18 02:01:04 +02:00
0d792ef880 dynamic currency symbols and integrated datetime picker
- Replace all hardcoded prefix="$" with :prefix="getCurrencySymbol()"
  in Settings, Projects, and Invoices views
- Replace hardcoded ($) labels with dynamic currency symbol
- Extend AppDatePicker with showTime prop + hour/minute v-models
  for integrated date+time selection
- Simplify Entries.vue to use single AppDatePicker with showTime
  instead of separate hour/minute inputs
2026-02-17 23:53:45 +02:00
242a97baa9 add viewport margin to all modal dialogs 2026-02-17 23:41:59 +02:00
6b05f5112a replace native datetime-local with custom date picker + time inputs 2026-02-17 23:41:24 +02:00
2763ea4cd7 replace all hardcoded en-US and $ formatting with locale-aware helpers 2026-02-17 23:39:31 +02:00
235499e50c replace native number inputs with AppNumberInput across all views 2026-02-17 23:36:02 +02:00
6f2de22268 add locale and currency settings with searchable dropdowns 2026-02-17 23:35:27 +02:00
c74c0c33f5 apply default hourly rate from settings when creating new projects 2026-02-17 23:35:24 +02:00
646b22a583 add AppNumberInput component with press-and-hold repeat 2026-02-17 23:33:13 +02:00
ff06c59999 add searchable prop to AppSelect for filtering long option lists 2026-02-17 23:33:11 +02:00
e8051d9799 add locale utility with 140+ locales and 120+ currencies 2026-02-17 23:31:04 +02:00
d536baf3b8 add Clients view with card grid, dialogs, and billing details 2026-02-17 22:57:08 +02:00
d9a5422bff add Client billing fields to store, /clients route, and reorder NavRail 2026-02-17 22:54:31 +02:00
536906d442 make custom dropdowns and date pickers respect UI zoom setting
Teleported panels read zoom from #app and apply it to their own style,
with position coordinates divided by the zoom factor so they align
correctly with the zoomed trigger elements.
2026-02-17 22:35:42 +02:00
d9c161dfca replace all native selects and date inputs with custom components 2026-02-17 22:27:51 +02:00
f615954f05 add AppDatePicker custom calendar component 2026-02-17 22:24:47 +02:00
3349c31ae0 add AppSelect custom dropdown component 2026-02-17 22:22:43 +02:00
f337c50ad7 upgrade typography - Plus Jakarta Sans headings, JetBrains Mono data, 14px base
Heading font: Plus Jakarta Sans (500/600/700) for all h1-h3, stat values, dialog titles, timer display, and wordmark.
Body font: Inter (400/500/600/700) unchanged but base bumped from 13px to 14px.
Mono font: JetBrains Mono replaces IBM Plex Mono for code and tabular data.
2026-02-17 22:06:48 +02:00
0264b1d873 bump border-radius globally - rounded to rounded-lg, rounded-lg to rounded-xl 2026-02-17 21:56:48 +02:00
7180a0f9cd redesign Settings with left sidebar tabs per Apple HIG
Four tabs (General, Timer, Billing, Data) with icon + label sidebar,
amber active indicator, auto-save on change, progressive disclosure
for timer settings, and danger zone isolated within Data tab.
2026-02-17 21:49:48 +02:00
bff3ff94f0 reorganize Settings per Apple HIG - auto-save, progressive disclosure, danger zone 2026-02-17 21:43:04 +02:00
66b430b9b0 window dragging - use startDragging() API instead of data attribute 2026-02-17 21:36:30 +02:00
84922bbf51 zoom initialization and toast container in App.vue 2026-02-17 21:32:15 +02:00
50fc590d0a redesign Settings - amber save, UI zoom, toasts 2026-02-17 21:31:54 +02:00
1e7accbf92 redesign Invoices - amber tabs and totals, rich empty state 2026-02-17 21:31:05 +02:00
8b16d45350 redesign Reports - amber actions and stats, toast notifications 2026-02-17 21:29:53 +02:00
53e2ea506d redesign Entries - filter container, amber actions, rich empty state 2026-02-17 21:28:42 +02:00
8a1d266520 redesign Projects - amber button, color presets, rich empty state 2026-02-17 21:27:49 +02:00
85ae108498 redesign Timer - amber Start, colon pulse, toast 2026-02-17 21:26:33 +02:00
d32897700b redesign Dashboard - greeting, amber stats, rich empty state 2026-02-17 21:25:52 +02:00
36556100e5 amber wordmark and NavRail active indicator 2026-02-17 21:25:08 +02:00
38295a4e25 add toast notification system 2026-02-17 21:25:02 +02:00
ab9cd15eb3 overhaul design tokens - charcoal palette + amber accent 2026-02-17 21:24:15 +02:00
4f8c2acb72 syntax error in Invoices.vue 2026-02-17 18:44:02 +02:00
85d22da707 add Dashboard view 2026-02-17 18:30:01 +02:00
1baed5da21 initialize Tauri v2 + Vue 3 project 2026-02-17 17:46:39 +02:00