121 Commits

Author SHA1 Message Date
lashman 4598ae3ac9 fix window controls not responding to clicks 2026-03-13 00:35:04 +02:00
lashman f610bf58c4 update readme closing section 2026-03-13 00:07:02 +02:00
lashman 6343771f34 linux appimage build with docker, egl fallback, and webkitgtk fixes 2026-02-27 13:26:04 +02:00
lashman c20d20ea6c auto-detect date format (DD/MM vs MM/DD) in CSV imports 2026-02-21 16:56:27 +02:00
lashman 33001cda8d close button and CSV import parsing for Clockify/Harvest 2026-02-21 14:56:53 +02:00
lashman da0c65956e complete export/import cycle and remove sample data 2026-02-21 01:34:26 +02:00
lashman c5e96371ea add CC0 license file and update readme badge 2026-02-21 01:20:20 +02:00
lashman cf8affd057 tooltips, two-column timer, font selector, tray behavior, icons, readme 2026-02-21 01:15:57 +02:00
lashman b3e02eacf5 boost text-tertiary contrast for WCAG AAA (7:1) 2026-02-20 18:40:19 +02:00
lashman 8d935bc3ec auto-backup UI and window close hook 2026-02-20 15:41:38 +02:00
lashman e0262bcbd8 export with all tables and auto-backup command 2026-02-20 15:40:02 +02:00
lashman b5a2bb594c rounding visibility in invoices and reports 2026-02-20 15:37:20 +02:00
lashman 9a5cf793d1 rounding visibility indicators on entry rows 2026-02-20 15:36:07 +02:00
lashman a01f0bccb7 time-of-day heatmap in reports patterns tab 2026-02-20 15:32:20 +02:00
lashman c45f46bbfe project health badges and attention section 2026-02-20 15:32:14 +02:00
lashman c5afc51a4e weekly comparison indicators and sparklines on dashboard 2026-02-20 15:32:07 +02:00
lashman 73db4fb59c receipt thumbnails, lightbox, and file picker for expenses 2026-02-20 15:25:18 +02:00
lashman 47d6f78fac receipt lightbox component with zoom and focus trap 2026-02-20 15:23:11 +02:00
lashman a477851da4 global shortcut for quick entry dialog 2026-02-20 15:20:27 +02:00
lashman 0c72998176 global quick entry dialog component 2026-02-20 15:18:34 +02:00
lashman 51c9d36f40 timesheet row persistence and copy last week 2026-02-20 15:17:01 +02:00
lashman 21f1c738f0 timesheet row persistence backend 2026-02-20 15:15:50 +02:00
lashman 2a96464635 entry template management in settings 2026-02-20 15:10:48 +02:00
lashman a176b1441a entry template picker and save-as-template in entries view 2026-02-20 15:09:37 +02:00
lashman ff700834a4 entry templates pinia store 2026-02-20 15:07:18 +02:00
lashman a4c7da4a2a entry templates CRUD backend 2026-02-20 15:06:50 +02:00
lashman 2fd16a1bcb cascade delete dialog for clients with dependency counts 2026-02-20 15:02:39 +02:00
lashman 05ad94302b client cascade delete with dependency counts 2026-02-20 15:01:33 +02:00
lashman e41c411e4f smart timer safety net - save dialog on stop without project 2026-02-20 14:58:02 +02:00
lashman cd15b6e4fc timer save dialog for no-project and long-timer scenarios 2026-02-20 14:56:17 +02:00
lashman 7cc5611179 use batch save for invoice items 2026-02-20 14:55:17 +02:00
lashman 6b8d50f71a batch invoice items save with transaction 2026-02-20 14:54:37 +02:00
lashman c54c8a6d7d independent try/catch per onboarding detection call 2026-02-20 14:47:26 +02:00
lashman 5cee94c893 standardize error handling across all stores 2026-02-20 14:46:56 +02:00
lashman db603577eb use unified error handler in entries store 2026-02-20 14:43:10 +02:00
lashman 70c4fa9967 unified error handler with retry for transient errors 2026-02-20 14:42:30 +02:00
lashman 44b088508d persistent notifications toggle in settings 2026-02-20 14:40:50 +02:00
lashman 154cc535a5 toast undo button and hover/focus pause 2026-02-20 14:38:34 +02:00
lashman 10c9e31884 toast auto-dismiss with undo and pause support 2026-02-20 14:38:08 +02:00
lashman 298333f569 add tour store for guided walkthrough state 2026-02-20 09:36:26 +02:00
lashman 2624a344ba tidy up project structure and normalize formatting 2026-02-19 22:43:14 +02:00
lashman a3bedc2283 mini timer renders via window label instead of hash routing 2026-02-18 15:26:44 +02:00
lashman df4970d29c mini timer window blank due to hash routing mismatch 2026-02-18 15:23:20 +02:00
lashman 4fd304516a load invoice templates from JSON files via backend 2026-02-18 15:17:54 +02:00
lashman f996c42bcc load invoice templates from JSON files in data/templates directory 2026-02-18 15:12:30 +02:00
lashman f119d20db5 delete invoice_items before invoice to prevent FK constraint failure 2026-02-18 15:07:43 +02:00
lashman 480c478dac make template picker full-screen with fixed positioning so buttons are visible 2026-02-18 15:05:02 +02:00
lashman c3dd9da772 rewrite InvoicePreview with 15 unique typographic layouts 2026-02-18 14:50:49 +02:00
lashman 98834305f0 rewrite PDF renderer with 15 unique typographic layouts 2026-02-18 14:45:38 +02:00
lashman c5ba7bf279 add two-step invoice flow with full-screen template picker 2026-02-18 14:43:55 +02:00
lashman fe12d570a2 update invoicePdf wrapper with new default template ID 2026-02-18 14:41:23 +02:00
lashman 4eb0b08f2b rewrite invoice template configs with layout IDs and colors 2026-02-18 14:39:01 +02:00
lashman e21e2fa6dc add template_id to Invoice interface and updateInvoiceTemplate action 2026-02-18 14:38:14 +02:00
lashman 8917b47601 add template_id column to invoices table and update_invoice_template command 2026-02-18 14:37:26 +02:00
lashman 61dc6a7009 integrate template picker into invoice create and preview views 2026-02-18 13:35:11 +02:00
lashman b75fd7e579 add business identity settings for invoice branding 2026-02-18 13:34:44 +02:00
lashman 5e58ae0bd1 add InvoicePreview.vue with all 7 header styles and 5 table styles 2026-02-18 13:30:27 +02:00
lashman 17d458ba2b add InvoiceTemplatePicker split-pane component 2026-02-18 13:28:40 +02:00
lashman eb2795ba77 add config-driven jsPDF invoice renderer with all header and table styles 2026-02-18 13:26:11 +02:00
lashman 3a7282818b add 15 invoice template configs and registry 2026-02-18 13:16:36 +02:00
lashman 7d03f95b4c migrate remaining dialogs to Vue Transition, remove old keyframes 2026-02-18 11:36:35 +02:00
lashman f41c682ce0 add transitions and micro-interactions across all views 2026-02-18 11:33:58 +02:00
lashman 1422231040 add animation CSS classes, keyframes, and reduced-motion support 2026-02-18 11:22:32 +02:00
lashman 14fe694fa9 install @vueuse/motion and create spring presets 2026-02-18 11:19:52 +02:00
lashman f5a2bf1bb8 add daily/weekly goals, streaks, and time rounding 2026-02-18 10:51:56 +02:00
lashman a602f6c407 add budget progress indicators to Projects and Dashboard 2026-02-18 10:51:47 +02:00
lashman b231df4819 integrate tags in Timer and Entries views 2026-02-18 10:51:39 +02:00
lashman 4fc8b0e51b add data import from CSV and JSON 2026-02-18 10:46:33 +02:00
lashman 8c92a71949 enhance floating mini timer with controls and pop-out button 2026-02-18 10:46:25 +02:00
lashman d9c32d5650 add global keyboard shortcuts for timer toggle and show app 2026-02-18 10:46:18 +02:00
lashman ddb3fb3b08 add profitability tab and favorites strip 2026-02-18 10:46:10 +02:00
lashman bd1b2c36d1 add Calendar, Timesheet, and MiniTimer views 2026-02-18 10:39:08 +02:00
lashman 9dc7efa92e add AppTagInput multi-select tag component 2026-02-18 10:35:18 +02:00
lashman ff52246b13 add markdown rendering for entry descriptions 2026-02-18 10:35:12 +02:00
lashman 65220a3d34 add duplicate, copy previous day/week, and repeat entry 2026-02-18 10:35:06 +02:00
lashman aa394fef40 add theme customization with accent colors and light mode 2026-02-18 10:34:59 +02:00
lashman f3e0076fa2 add global-shortcut plugin and mini timer window commands 2026-02-18 02:06:07 +02:00
lashman a2b892756a add goals, profitability, timesheet, and import commands 2026-02-18 02:04:10 +02:00
lashman 307386b2cc add favorites table, CRUD commands, and Pinia store 2026-02-18 02:02:57 +02:00
lashman e99443bd5c add project budgets and rounding override columns 2026-02-18 02:02:13 +02:00
lashman 336938b686 add tags table, CRUD commands, and Pinia store 2026-02-18 02:01:04 +02:00
lashman 7912c39090 dynamic currency symbols and integrated datetime picker 2026-02-17 23:53:45 +02:00
lashman fa7a29619c add viewport margin to all modal dialogs 2026-02-17 23:41:59 +02:00
lashman c21fe69aab replace native datetime-local with custom date picker + time inputs 2026-02-17 23:41:24 +02:00
lashman 50e317aec6 replace all hardcoded en-US and $ formatting with locale-aware helpers 2026-02-17 23:39:31 +02:00
lashman 70d927828a replace native number inputs with AppNumberInput across all views 2026-02-17 23:36:02 +02:00
lashman fad3f42fdf add locale and currency settings with searchable dropdowns 2026-02-17 23:35:27 +02:00
lashman b684080ae7 apply default hourly rate from settings when creating new projects 2026-02-17 23:35:24 +02:00
lashman 380c8ec602 add AppNumberInput component with press-and-hold repeat 2026-02-17 23:33:13 +02:00
lashman 212ac4479f add searchable prop to AppSelect for filtering long option lists 2026-02-17 23:33:11 +02:00
lashman c684d02352 add locale utility with 140+ locales and 120+ currencies 2026-02-17 23:31:04 +02:00
lashman 5ad3f91f2e add Clients view with card grid, dialogs, and billing details 2026-02-17 22:57:08 +02:00
lashman 5f97dbd04e add Client billing fields to store, /clients route, and reorder NavRail 2026-02-17 22:54:31 +02:00
lashman b2d401e6c8 add client billing fields to database and Rust backend 2026-02-17 22:52:51 +02:00
lashman 8b754bcb33 make custom dropdowns and date pickers respect UI zoom setting 2026-02-17 22:35:42 +02:00
lashman 72d8f269f6 replace all native selects and date inputs with custom components 2026-02-17 22:27:51 +02:00
lashman 8378c10da6 add AppDatePicker custom calendar component 2026-02-17 22:24:47 +02:00
lashman e513a608a2 add AppSelect custom dropdown component 2026-02-17 22:22:43 +02:00
lashman 1aec48088b upgrade typography - Plus Jakarta Sans headings, JetBrains Mono data, 14px base 2026-02-17 22:06:48 +02:00
lashman 4c696546d8 bump border-radius globally - rounded to rounded-lg, rounded-lg to rounded-xl 2026-02-17 21:56:48 +02:00
lashman a94460b6c6 redesign Settings with left sidebar tabs per Apple HIG 2026-02-17 21:49:48 +02:00
lashman df98c1f3ba reorganize Settings per Apple HIG - auto-save, progressive reveal, danger zone 2026-02-17 21:43:04 +02:00
lashman 987b4c7e23 window dragging - use startDragging() API instead of data attribute 2026-02-17 21:36:30 +02:00
lashman 23356fcec6 persist window position and size between runs 2026-02-17 21:33:32 +02:00
lashman 9759a4e6c8 portable storage - data directory next to exe 2026-02-17 21:33:26 +02:00
lashman 5829e067ab zoom initialization and toast container in App.vue 2026-02-17 21:32:15 +02:00
lashman ce58174a5a redesign Settings - amber save, UI zoom, toasts 2026-02-17 21:31:54 +02:00
lashman e6bc92e932 redesign Invoices - amber tabs and totals, rich empty state 2026-02-17 21:31:05 +02:00
lashman b194d94484 redesign Reports - amber actions and stats, toast notifications 2026-02-17 21:29:53 +02:00
lashman 7bac89a0bd redesign Entries - filter container, amber actions, rich empty state 2026-02-17 21:28:42 +02:00
lashman d3d0b6a149 redesign Projects - amber button, color presets, rich empty state 2026-02-17 21:27:49 +02:00
lashman 60bd3108fa redesign Timer - amber Start, colon pulse, toast 2026-02-17 21:26:33 +02:00
lashman 502e23a0d5 redesign Dashboard - greeting, amber stats, rich empty state 2026-02-17 21:25:52 +02:00
lashman a842b61c58 amber wordmark and NavRail active indicator 2026-02-17 21:25:08 +02:00
lashman 42a738e738 add toast notification system 2026-02-17 21:25:02 +02:00
lashman 1bf685a7fc overhaul design tokens - charcoal palette + amber accent 2026-02-17 21:24:15 +02:00
lashman 729e9347ca syntax error in Invoices.vue 2026-02-17 18:44:02 +02:00
lashman b246801b02 add Dashboard view 2026-02-17 18:30:01 +02:00
lashman 55f77a03af initialize Tauri backend with SQLite database 2026-02-17 18:03:12 +02:00
lashman 77854ebe6a initialize Tauri v2 + Vue 3 project 2026-02-17 17:46:39 +02:00
lashman cbe4d18c0d Initial commit 2026-02-17 17:37:20 +02:00
-2
View File
@@ -319,5 +319,3 @@ ZeroClock is released under [CC0 1.0 Universal](LICENSE) - dedicated to the publ
</div>
---
This project is developed with the help of a locally-run LLM via opencode for scaffolding, planning, and routine code tasks. Architecture and design decisions are my own.