Commit Graph

81 Commits

Author SHA1 Message Date
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
f41c682ce0 add transitions and micro-interactions across all views 2026-02-18 11:33:58 +02:00
1422231040 add animation CSS classes, keyframes, and reduced-motion support 2026-02-18 11:22:32 +02:00
14fe694fa9 install @vueuse/motion and create spring presets 2026-02-18 11:19:52 +02:00
f5a2bf1bb8 add daily/weekly goals, streaks, and time rounding 2026-02-18 10:51:56 +02:00
a602f6c407 add budget progress indicators to Projects and Dashboard 2026-02-18 10:51:47 +02:00
b231df4819 integrate tags in Timer and Entries views 2026-02-18 10:51:39 +02:00
4fc8b0e51b add data import from CSV and JSON 2026-02-18 10:46:33 +02:00
8c92a71949 enhance floating mini timer with controls and pop-out button 2026-02-18 10:46:25 +02:00
d9c32d5650 add global keyboard shortcuts for timer toggle and show app 2026-02-18 10:46:18 +02:00
ddb3fb3b08 add profitability tab and favorites strip 2026-02-18 10:46:10 +02:00
bd1b2c36d1 add Calendar, Timesheet, and MiniTimer views 2026-02-18 10:39:08 +02:00
9dc7efa92e add AppTagInput multi-select tag component 2026-02-18 10:35:18 +02:00
ff52246b13 add markdown rendering for entry descriptions 2026-02-18 10:35:12 +02:00
65220a3d34 add duplicate, copy previous day/week, and repeat entry 2026-02-18 10:35:06 +02:00
aa394fef40 add theme customization with accent colors and light mode 2026-02-18 10:34:59 +02:00
f3e0076fa2 add global-shortcut plugin and mini timer window commands 2026-02-18 02:06:07 +02:00
a2b892756a add goals, profitability, timesheet, and import commands 2026-02-18 02:04:10 +02:00
307386b2cc add favorites table, CRUD commands, and Pinia store 2026-02-18 02:02:57 +02:00
e99443bd5c add project budgets and rounding override columns 2026-02-18 02:02:13 +02:00
336938b686 add tags table, CRUD commands, and Pinia store 2026-02-18 02:01:04 +02:00
7912c39090 dynamic currency symbols and integrated datetime picker 2026-02-17 23:53:45 +02:00
fa7a29619c add viewport margin to all modal dialogs 2026-02-17 23:41:59 +02:00
c21fe69aab replace native datetime-local with custom date picker + time inputs 2026-02-17 23:41:24 +02:00
50e317aec6 replace all hardcoded en-US and $ formatting with locale-aware helpers 2026-02-17 23:39:31 +02:00
70d927828a replace native number inputs with AppNumberInput across all views 2026-02-17 23:36:02 +02:00
fad3f42fdf add locale and currency settings with searchable dropdowns 2026-02-17 23:35:27 +02:00
b684080ae7 apply default hourly rate from settings when creating new projects 2026-02-17 23:35:24 +02:00
380c8ec602 add AppNumberInput component with press-and-hold repeat 2026-02-17 23:33:13 +02:00
212ac4479f add searchable prop to AppSelect for filtering long option lists 2026-02-17 23:33:11 +02:00