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.
This commit is contained in:
2026-03-02 00:05:10 +02:00
parent 6daec1ea38
commit bc4a3453f8
3 changed files with 219 additions and 1 deletions

View File

@@ -1,9 +1,12 @@
use adw::prelude::*;
use crate::log_view::LogView;
pub struct MainWindow {
pub window: adw::ApplicationWindow,
pub split_view: adw::NavigationSplitView,
pub content_stack: gtk::Stack,
pub log_view: LogView,
}
struct SidebarItem {
@@ -26,7 +29,16 @@ impl MainWindow {
let content_stack = gtk::Stack::new();
content_stack.set_transition_type(gtk::StackTransitionType::Crossfade);
for item in SIDEBAR_ITEMS {
// Log view - real widget
let log_view = LogView::new();
let log_scroll = gtk::ScrolledWindow::builder()
.hscrollbar_policy(gtk::PolicyType::Never)
.child(&log_view.container)
.build();
content_stack.add_named(&log_scroll, Some("log"));
// Remaining pages are placeholders for now
for item in &SIDEBAR_ITEMS[1..] {
let page = adw::StatusPage::builder()
.title(item.label)
.icon_name(item.icon)
@@ -98,6 +110,7 @@ impl MainWindow {
window,
split_view,
content_stack,
log_view,
}
}