Your Name
f0571fb1bb
fix: delete invoice_items before invoice to prevent FK constraint failure
2026-02-18 15:07:43 +02:00
Your Name
92749bdb63
fix: make template picker full-screen with fixed positioning so buttons are visible
2026-02-18 15:05:02 +02:00
Your Name
e3450ff92e
feat: rewrite InvoicePreview with 15 unique typographic layouts
2026-02-18 14:50:49 +02:00
Your Name
efc9fce811
feat: rewrite PDF renderer with 15 unique typographic layouts
2026-02-18 14:45:38 +02:00
Your Name
c499acd17d
feat: add two-step invoice flow with full-screen template picker
2026-02-18 14:43:55 +02:00
Your Name
056333c31c
feat: update invoicePdf wrapper with new default template ID
2026-02-18 14:41:23 +02:00
Your Name
59e713f1ec
feat: rewrite invoice template configs with design-doc IDs and colors
2026-02-18 14:39:01 +02:00
Your Name
ed8b0c0776
feat: add template_id to Invoice interface and updateInvoiceTemplate action
2026-02-18 14:38:14 +02:00
Your Name
6a252facf6
feat: add template_id column to invoices table and update_invoice_template command
2026-02-18 14:37:26 +02:00
Your Name
4a45713c77
docs: add invoice templates v2 implementation plan
2026-02-18 14:32:38 +02:00
Your Name
de5f65aed0
docs: add invoice templates v2 complete redesign design doc
2026-02-18 14:28:41 +02:00
Your Name
0ecb4d80c1
feat: integrate template picker into invoice create and preview views
2026-02-18 13:35:11 +02:00
Your Name
d739033463
feat: add business identity settings for invoice branding
2026-02-18 13:34:44 +02:00
Your Name
cf4d64eced
feat: add InvoicePreview.vue with all 7 header styles and 5 table styles
2026-02-18 13:30:27 +02:00
Your Name
98152984c1
feat: add InvoiceTemplatePicker split-pane component
2026-02-18 13:28:40 +02:00
Your Name
b05bd415fb
feat: add config-driven jsPDF invoice renderer with all header and table styles
2026-02-18 13:26:11 +02:00
Your Name
185b20cab2
feat: add 15 invoice template configs and registry
2026-02-18 13:16:36 +02:00
Your Name
a05e7555e8
docs: add invoice templates implementation plan
...
9-task plan covering template config types, jsPDF renderer,
HTML preview component, template picker UI, Invoices.vue
integration, business identity settings, and polish passes.
2026-02-18 13:12:37 +02:00
Your Name
2e4143edc0
docs: add invoice templates design document
...
15 visually distinct templates across 4 tiers (Professional
Essentials, Creative & Modern, Warm & Distinctive, Premium &
Specialized) with template config schema, picker UI design,
shared renderer architecture, and business identity support.
2026-02-18 13:07:39 +02:00
Your Name
291429e1b8
refactor: migrate remaining dialogs to Vue Transition, remove old keyframes
...
Convert Settings, Invoices, IdlePrompt, AppTrackingPrompt, and
AppDiscard dialogs from animate-modal-enter CSS class to proper
<Transition name="modal"> wrappers for enter/leave animations.
Remove unused animate-modal-enter and animate-dropdown-enter keyframes.
2026-02-18 11:36:35 +02:00
Your Name
a3a6ab2fdf
feat: add transitions and micro-interactions across all views
...
- Page transitions with slide-up/fade on route changes (App.vue)
- NavRail sliding active indicator with spring-like easing
- List enter/leave/move animations on Entries, Projects, Clients, Timer
- Modal enter/leave transitions with scale+fade on all dialogs
- Dropdown transitions with overshoot on all select/picker components
- Button feedback (scale on hover/active), card hover lift effects
- Timer pulse on start, glow on stop, floating empty state icons
- Content fade-in on Dashboard, Reports, Calendar, Timesheet
- Tag chip enter/leave animations in AppTagInput
- Progress bar smooth width transitions
- Implementation plan document
2026-02-18 11:33:58 +02:00
Your Name
c66e71f57d
feat: add animation CSS classes, keyframes, and reduced-motion support
2026-02-18 11:22:32 +02:00
Your Name
31bb66dbfd
feat: install @vueuse/motion and create spring presets
2026-02-18 11:19:52 +02:00
Your Name
78a0537632
docs: add motion system design for animations and micro-interactions
2026-02-18 11:07:57 +02:00
Your Name
55505b2b6b
feat: add daily/weekly goals, streaks, and time rounding
...
Settings Timer tab now has daily/weekly goal hour inputs. Dashboard
shows goal progress bars and streak counter. Settings Billing tab
has rounding toggle with increment and method selectors. New
rounding.ts utility for nearest/up/down time rounding.
2026-02-18 10:51:56 +02:00
Your Name
8c56867764
feat: 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
Your Name
5e608a98e6
feat: 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
Your Name
8eb2d135c8
feat: 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
Your Name
bd3e0ba5a6
feat: 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
Your Name
5ac890aad4
feat: 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
Your Name
8d0f6c6c7d
feat: 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
Your Name
46ce6d119d
feat: 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
Your Name
838cb55c8e
feat: add AppTagInput multi-select tag component
2026-02-18 10:35:18 +02:00
Your Name
72a86cf2c9
feat: add markdown rendering for entry descriptions
2026-02-18 10:35:12 +02:00
Your Name
d585f449db
feat: add duplicate, copy previous day/week, and repeat entry
2026-02-18 10:35:06 +02:00
Your Name
0fe491c15f
feat: add theme customization with accent colors and light mode
2026-02-18 10:34:59 +02:00
Your Name
99bca0709b
feat: add global-shortcut plugin and mini timer window commands
2026-02-18 02:06:07 +02:00
Your Name
c6cb26553a
feat: add goals, profitability, timesheet, and import commands
2026-02-18 02:04:10 +02:00
Your Name
6892bf8b98
feat: add favorites table, CRUD commands, and Pinia store
2026-02-18 02:02:57 +02:00
Your Name
68ce724980
feat: add project budgets and rounding override columns
2026-02-18 02:02:13 +02:00
Your Name
ee30647b44
feat: add tags table, CRUD commands, and Pinia store
2026-02-18 02:01:04 +02:00
Your Name
6049536284
fix: 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
Your Name
9dbd6992e0
fix: add viewport margin to all modal dialogs
2026-02-17 23:41:59 +02:00
Your Name
5af8661b83
feat: replace native datetime-local with custom date picker + time inputs
2026-02-17 23:41:24 +02:00
Your Name
9a894bbc40
feat: replace all hardcoded en-US and $ formatting with locale-aware helpers
2026-02-17 23:39:31 +02:00
Your Name
8dc915c8aa
feat: replace native number inputs with AppNumberInput across all views
2026-02-17 23:36:02 +02:00
Your Name
d3709c170b
feat: add locale and currency settings with searchable dropdowns
2026-02-17 23:35:27 +02:00
Your Name
d0961c93fd
fix: apply default hourly rate from settings when creating new projects
2026-02-17 23:35:24 +02:00
Your Name
952e41ef01
feat: add AppNumberInput component with press-and-hold repeat
2026-02-17 23:33:13 +02:00
Your Name
ef5eecd711
feat: add searchable prop to AppSelect for filtering long option lists
2026-02-17 23:33:11 +02:00
Your Name
dbea5658c2
feat: add comprehensive locale utility with 140+ locales and 120+ currencies
2026-02-17 23:31:04 +02:00
Your Name
1c05b690ad
docs: add UI improvements batch implementation plan
2026-02-17 23:22:40 +02:00
Your Name
4a40c22515
docs: add UI improvements batch design (locale, datetime picker, number input, etc.)
2026-02-17 23:17:00 +02:00
Your Name
d33159594d
feat: add Clients view with card grid, dialogs, and billing details
2026-02-17 22:57:08 +02:00
Your Name
8ee45cdefc
feat: add Client billing fields to store, /clients route, and reorder NavRail
2026-02-17 22:54:31 +02:00
Your Name
89d121bbea
feat: add client billing fields to database and Rust backend
2026-02-17 22:52:51 +02:00
Your Name
c0ad93a758
docs: add Clients view and NavRail reorg implementation plan
2026-02-17 22:48:22 +02:00
Your Name
a478aba6ec
docs: add Clients view and NavRail reorg design
2026-02-17 22:44:50 +02:00
Your Name
5fd1d8cb77
fix: 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
Your Name
b646dcd801
feat: replace all native selects and date inputs with custom components
2026-02-17 22:27:51 +02:00
Your Name
5fea155332
feat: add AppDatePicker custom calendar component
2026-02-17 22:24:47 +02:00
Your Name
19f0813d2a
feat: add AppSelect custom dropdown component
2026-02-17 22:22:43 +02:00
Your Name
0b04e5016e
docs: add custom dropdowns and date pickers implementation plan
2026-02-17 22:17:42 +02:00
Your Name
9602630f18
docs: add custom dropdowns and date pickers design
2026-02-17 22:15:10 +02:00
Your Name
64f04db2f2
feat: 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
Your Name
f9542b6b7e
style: bump border-radius globally — rounded to rounded-lg, rounded-lg to rounded-xl
2026-02-17 21:56:48 +02:00
Your Name
f3d9a938ac
feat: 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
Your Name
228a8cd6b4
docs: add Settings sidebar tabs design
2026-02-17 21:48:28 +02:00
Your Name
83a812d5b0
refactor: reorganize Settings per Apple HIG — auto-save, progressive disclosure, danger zone
2026-02-17 21:43:04 +02:00
Your Name
9eda8aaa99
fix: window dragging — use startDragging() API instead of data attribute
2026-02-17 21:36:30 +02:00
Your Name
94a035d0bf
feat: persist window position and size between runs
2026-02-17 21:33:32 +02:00
Your Name
5daa426182
feat: portable storage — data directory next to exe
2026-02-17 21:33:26 +02:00
Your Name
c218dc1db5
feat: zoom initialization and toast container in App.vue
2026-02-17 21:32:15 +02:00
Your Name
740b9f0e4b
feat: redesign Settings — amber save, UI zoom, toasts
2026-02-17 21:31:54 +02:00
Your Name
ed6e10efd3
feat: redesign Invoices — amber tabs and totals, rich empty state
2026-02-17 21:31:05 +02:00
Your Name
90bb035b72
feat: redesign Reports — amber actions and stats, toast notifications
2026-02-17 21:29:53 +02:00
Your Name
a9a7b0aceb
feat: redesign Entries — filter container, amber actions, rich empty state
2026-02-17 21:28:42 +02:00
Your Name
e92c445782
feat: redesign Projects — amber button, color presets, rich empty state
2026-02-17 21:27:49 +02:00
Your Name
b3f852a460
feat: redesign Timer — amber Start, colon pulse, toast
2026-02-17 21:26:33 +02:00
Your Name
db9bacf310
feat: redesign Dashboard — greeting, amber stats, rich empty state
2026-02-17 21:25:52 +02:00
Your Name
27152985f7
feat: amber wordmark and NavRail active indicator
2026-02-17 21:25:08 +02:00
Your Name
fba9fab4d6
feat: add toast notification system
2026-02-17 21:25:02 +02:00
Your Name
bb9f329fec
feat: overhaul design tokens — charcoal palette + amber accent
2026-02-17 21:24:15 +02:00
Your Name
da1b2f3f8c
docs: add UI polish implementation plan (14 tasks)
2026-02-17 21:21:16 +02:00
Your Name
90d557487f
docs: add UI polish & UX upgrade design doc
...
Covers amber accent system, charcoal background lift, button hierarchy,
toast notifications, rich empty states, UI zoom, portable storage,
and window state persistence.
2026-02-17 21:15:41 +02:00
Your Name
d2fc871427
fix: syntax error in Invoices.vue
2026-02-17 18:44:02 +02:00
Your Name
6b83f795d4
feat: add Dashboard view
2026-02-17 18:30:01 +02:00
Your Name
ce6c9c23b9
feat: initialize Tauri backend with SQLite database
2026-02-17 18:03:12 +02:00
Your Name
051de9604b
feat: initialize Tauri v2 + Vue 3 project
2026-02-17 17:46:39 +02:00
Your Name
e3070461c7
Initial commit
2026-02-17 17:37:20 +02:00