Commit Graph

12 Commits

Author SHA1 Message Date
e342272dbe Add exchange rate service with caching and fallback API
ExchangeRateService fetches rates from fawazahmed0/exchange-api with
Frankfurter API as fallback. Rates are cached in SQLite for 24 hours.
Includes response parsers, 30 supported currencies, and 8 unit tests
covering parsing, caching, and same-currency identity.
2026-03-02 00:14:50 +02:00
a3ffc531b9 Add edit and delete for transactions in history view
Click a transaction row to open an edit dialog with pre-filled amount,
date, and note fields. Save updates the database and refreshes the
list. Delete button shows a confirmation dialog before removing the
transaction. Toast notifications for all actions.
2026-03-02 00:13:04 +02:00
854c3469b9 Add history view with day-grouped transaction list
Month navigation with prev/next buttons, transactions grouped by date
with headers (Today/Yesterday/formatted date), category icons, amounts
color-coded green for income and red for expenses, and daily net totals.
2026-03-02 00:09:21 +02:00
00de036de8 Wire log view to database for transaction persistence
Initialize SQLite database at XDG data directory on app startup.
Categories now load from database with emoji icons. Save button
validates input, inserts transaction, shows toast notification,
clears the form, and refreshes the recent transactions list.
2026-03-02 00:07:39 +02:00
bc4a3453f8 Add log view UI with transaction entry form
Expense/Income toggle, amount entry, currency dropdown, category
dropdown (filtered by transaction type), date picker with calendar
popover, optional note field, save button, and recent transactions
placeholder section.
2026-03-02 00:05:10 +02:00
6daec1ea38 Add main window with sidebar navigation
AdwNavigationSplitView with six sidebar items (Log, History, Charts,
Budgets, Recurring, Settings) and placeholder StatusPage content that
switches via crossfade transition on selection.
2026-03-02 00:02:53 +02:00
a5f578844f Add minimal AdwApplication with empty window 2026-03-01 23:59:43 +02:00
61ced2d482 Add CRUD operations for transactions, categories, and aggregation queries 2026-03-01 23:59:15 +02:00
9865f8288f Add database layer with schema creation and default categories 2026-03-01 23:57:37 +02:00
26d0be20c2 Add core data models for transactions, categories, budgets 2026-03-01 23:56:41 +02:00
2ca1f87bf3 Scaffold cargo workspace with core and gtk crates 2026-03-01 23:54:45 +02:00
2b984c3f5d Initial commit - add gitignore 2026-03-01 23:31:06 +02:00