|
|
b5a2bb594c
|
rounding visibility in invoices and reports
|
2026-02-20 15:37:20 +02:00 |
|
|
|
9a5cf793d1
|
rounding visibility indicators on entry rows
|
2026-02-20 15:36:07 +02:00 |
|
|
|
a01f0bccb7
|
time-of-day heatmap in reports patterns tab
|
2026-02-20 15:32:20 +02:00 |
|
|
|
c45f46bbfe
|
project health badges and attention section
|
2026-02-20 15:32:14 +02:00 |
|
|
|
c5afc51a4e
|
weekly comparison indicators and sparklines on dashboard
|
2026-02-20 15:32:07 +02:00 |
|
|
|
73db4fb59c
|
receipt thumbnails, lightbox, and file picker for expenses
|
2026-02-20 15:25:18 +02:00 |
|
|
|
47d6f78fac
|
receipt lightbox component with zoom and focus trap
|
2026-02-20 15:23:11 +02:00 |
|
|
|
a477851da4
|
global shortcut for quick entry dialog
|
2026-02-20 15:20:27 +02:00 |
|
|
|
0c72998176
|
global quick entry dialog component
|
2026-02-20 15:18:34 +02:00 |
|
|
|
51c9d36f40
|
timesheet row persistence and copy last week
|
2026-02-20 15:17:01 +02:00 |
|
|
|
21f1c738f0
|
timesheet row persistence backend
|
2026-02-20 15:15:50 +02:00 |
|
|
|
2a96464635
|
entry template management in settings
|
2026-02-20 15:10:48 +02:00 |
|
|
|
a176b1441a
|
entry template picker and save-as-template in entries view
|
2026-02-20 15:09:37 +02:00 |
|
|
|
ff700834a4
|
entry templates pinia store
|
2026-02-20 15:07:18 +02:00 |
|
|
|
a4c7da4a2a
|
entry templates CRUD backend
|
2026-02-20 15:06:50 +02:00 |
|
|
|
2fd16a1bcb
|
cascade delete dialog for clients with dependency counts
|
2026-02-20 15:02:39 +02:00 |
|
|
|
05ad94302b
|
client cascade delete with dependency counts
|
2026-02-20 15:01:33 +02:00 |
|
|
|
e41c411e4f
|
smart timer safety net - save dialog on stop without project
|
2026-02-20 14:58:02 +02:00 |
|
|
|
cd15b6e4fc
|
timer save dialog for no-project and long-timer scenarios
|
2026-02-20 14:56:17 +02:00 |
|
|
|
7cc5611179
|
use batch save for invoice items
|
2026-02-20 14:55:17 +02:00 |
|
|
|
6b8d50f71a
|
batch invoice items save with transaction
|
2026-02-20 14:54:37 +02:00 |
|
|
|
c54c8a6d7d
|
independent try/catch per onboarding detection call
|
2026-02-20 14:47:26 +02:00 |
|
|
|
5cee94c893
|
standardize error handling across all stores
|
2026-02-20 14:46:56 +02:00 |
|
|
|
db603577eb
|
use unified error handler in entries store
|
2026-02-20 14:43:10 +02:00 |
|
|
|
70c4fa9967
|
unified error handler with retry for transient errors
|
2026-02-20 14:42:30 +02:00 |
|
|
|
44b088508d
|
persistent notifications toggle in settings
|
2026-02-20 14:40:50 +02:00 |
|
|
|
154cc535a5
|
toast undo button and hover/focus pause
|
2026-02-20 14:38:34 +02:00 |
|
|
|
10c9e31884
|
toast auto-dismiss with undo and pause support
|
2026-02-20 14:38:08 +02:00 |
|
|
|
298333f569
|
add tour store for guided walkthrough state
|
2026-02-20 09:36:26 +02:00 |
|
|
|
2624a344ba
|
tidy up project structure and normalize formatting
|
2026-02-19 22:43:14 +02:00 |
|
|
|
a3bedc2283
|
mini timer renders via window label instead of hash routing
|
2026-02-18 15:26:44 +02:00 |
|
|
|
df4970d29c
|
mini timer window blank due to hash routing mismatch
|
2026-02-18 15:23:20 +02:00 |
|
|
|
4fd304516a
|
load invoice templates from JSON files via backend
|
2026-02-18 15:17:54 +02:00 |
|
|
|
f996c42bcc
|
load invoice templates from JSON files in data/templates directory
|
2026-02-18 15:12:30 +02:00 |
|
|
|
f119d20db5
|
delete invoice_items before invoice to prevent FK constraint failure
|
2026-02-18 15:07:43 +02:00 |
|
|
|
480c478dac
|
make template picker full-screen with fixed positioning so buttons are visible
|
2026-02-18 15:05:02 +02:00 |
|
|
|
c3dd9da772
|
rewrite InvoicePreview with 15 unique typographic layouts
|
2026-02-18 14:50:49 +02:00 |
|
|
|
98834305f0
|
rewrite PDF renderer with 15 unique typographic layouts
|
2026-02-18 14:45:38 +02:00 |
|
|
|
c5ba7bf279
|
add two-step invoice flow with full-screen template picker
|
2026-02-18 14:43:55 +02:00 |
|
|
|
fe12d570a2
|
update invoicePdf wrapper with new default template ID
|
2026-02-18 14:41:23 +02:00 |
|
|
|
4eb0b08f2b
|
rewrite invoice template configs with layout IDs and colors
|
2026-02-18 14:39:01 +02:00 |
|
|
|
e21e2fa6dc
|
add template_id to Invoice interface and updateInvoiceTemplate action
|
2026-02-18 14:38:14 +02:00 |
|
|
|
8917b47601
|
add template_id column to invoices table and update_invoice_template command
|
2026-02-18 14:37:26 +02:00 |
|
|
|
61dc6a7009
|
integrate template picker into invoice create and preview views
|
2026-02-18 13:35:11 +02:00 |
|
|
|
b75fd7e579
|
add business identity settings for invoice branding
|
2026-02-18 13:34:44 +02:00 |
|
|
|
5e58ae0bd1
|
add InvoicePreview.vue with all 7 header styles and 5 table styles
|
2026-02-18 13:30:27 +02:00 |
|
|
|
17d458ba2b
|
add InvoiceTemplatePicker split-pane component
|
2026-02-18 13:28:40 +02:00 |
|
|
|
eb2795ba77
|
add config-driven jsPDF invoice renderer with all header and table styles
|
2026-02-18 13:26:11 +02:00 |
|
|
|
3a7282818b
|
add 15 invoice template configs and registry
|
2026-02-18 13:16:36 +02:00 |
|
|
|
7d03f95b4c
|
migrate remaining dialogs to Vue Transition, remove old keyframes
|
2026-02-18 11:36:35 +02:00 |
|