Commit graph

160 commits

Author SHA1 Message Date
Le-King-Fu
2b9fc49b51 feat: implement transactions page with filters, sorting, and inline editing
Add paginated transaction list with search, category/source/date filters,
sortable columns, inline category dropdown, expandable notes, and summary stats.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:54:18 +00:00
Le-King-Fu
273a17c0ac fix: handle duplicate file hash on re-import and improve alert colors
- importedFileService now upserts: if file hash already exists for a
  source (e.g. from a previous failed import), it updates the existing
  record instead of hitting the UNIQUE constraint.
- Replaced Tailwind amber/red/emerald colors with the app's CSS
  variables (--negative, --positive, --accent) for proper contrast
  on the cream background theme.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:27:49 +00:00
Le-King-Fu
764fdad6db fix: remove explicit BEGIN/COMMIT to avoid database locked error
sqlx connection pool can dispatch each execute to a different connection,
so BEGIN on one and INSERT on another causes a lock. Sequential inserts
without explicit transaction management avoids this.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 04:13:21 +00:00
Le-King-Fu
88219e657f fix: reload column headers on config change and add YYYYMMDD date format
Headers now refresh live when delimiter, encoding, skipLines, or hasHeader
changes. Added YYYYMMDD compact date format to parser and dropdown.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 04:08:33 +00:00
Le-King-Fu
ce584a15ab fix: use middle dot instead of pipe as raw column separator in preview
Prevents confusion between the display separator and actual CSV delimiters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 04:00:25 +00:00
Le-King-Fu
49e0bd2c94 feat: implement CSV import wizard with folder-based source detection
Full import pipeline: Rust backend (6 Tauri commands for folder scanning,
file reading, encoding detection, hashing, folder picker), TypeScript
services (DB, import sources, transactions, auto-categorization, user
preferences), utility parsers (French amounts, multi-format dates),
12 React components forming a 7-step wizard (source list, config,
column mapping, preview, duplicate detection, import, report), and
i18n support (FR/EN, ~60 keys each).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 03:38:46 +00:00
Le-King-Fu
801404ca21 Initial project scaffold: Tauri v2 + React + TypeScript + TailwindCSS v4
- Tauri v2 with SQLite plugin and full database schema
- React with react-router-dom, i18n (FR/EN), recharts, lucide-react
- TailwindCSS v4 with custom Bleu/Creme/Terracotta palette
- App shell with sidebar navigation (7 pages)
- Dashboard with summary cards, page stubs for all sections
- Default category configuration (10 top-level categories)
- TypeScript interfaces matching SQLite schema

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 11:05:11 +00:00
King Fu
d3e6d01ad5
spec v2 2026-02-06 21:19:09 -05:00
King Fu
76dea99064
spec v1 2026-02-03 21:25:07 -05:00
King Fu
b6358ae271
Initial commit 2026-02-03 21:24:45 -05:00