diff options
| author | joeac <me@joeac.net> | 2026-02-28 08:50:46 +0000 |
|---|---|---|
| committer | joeac <me@joeac.net> | 2026-02-28 08:50:46 +0000 |
| commit | 342dadaf91093c1ce9c3ad248a2952ed3cde4de6 (patch) | |
| tree | 0546aa27e558c498cbc730a6f1854f11e9fa844b /schist_desktop_gui/src/gui/screens/main_screen | |
| parent | 65596363d43995bf2002d4aa8405d84484f2542b (diff) | |
| parent | f3659bd8e9d5e20528aaa1e0e7c1b206fb0eb31c (diff) | |
Merge pull request 'task-085: view transactions in desktop GUI' (#5) from task-085 into main
Reviewed-on: https://git.joeac.net/joeac/schist/pulls/5
Diffstat (limited to 'schist_desktop_gui/src/gui/screens/main_screen')
| -rw-r--r-- | schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs b/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs index 5ed4b30..6580758 100644 --- a/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs +++ b/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs @@ -4,7 +4,7 @@ use iced::{ widget::{row, Container}, Element, Length, }; -use schist_models::{Account, Bucket}; +use schist_models::{Account, AccountTransfer, Bucket, Transaction}; use crate::{ gui::components::{ @@ -35,7 +35,9 @@ pub enum Message { TransactionsViewMessage(transactions_view::Message), SelectView(View), SetAccounts(Vec<Account>), + SetAccountTransfers(Vec<AccountTransfer>), SetBuckets(Vec<Bucket>), + SetTransactions(Vec<Transaction>), ViewNavigationMessage(navigation::Message<View>), } @@ -64,7 +66,7 @@ impl<'a> Viewable<'a, Message> for MainScreen { ] .align_y(alignment::Vertical::Center) .height(Length::Fill) - .spacing(SPACING_LG) + .spacing(u32::from(SPACING_LG)) .into() } } @@ -108,7 +110,9 @@ impl<'a> Component<'a, Message, Action> for MainScreen { self.balances_view .update(balances_view::Message::SetBuckets(buckets.clone())); self.buckets_view - .update(buckets_view::Message::SetBuckets(buckets)); + .update(buckets_view::Message::SetBuckets(buckets.clone())); + self.transactions_view + .update(transactions_view::Message::SetBuckets(buckets)); Action::None } @@ -118,6 +122,20 @@ impl<'a> Component<'a, Message, Action> for MainScreen { Action::None } + Message::SetAccountTransfers(account_transfers) => { + self.transactions_view + .update(transactions_view::Message::SetAccountTransfers( + account_transfers, + )); + Action::None + } + + Message::SetTransactions(transactions) => { + self.transactions_view + .update(transactions_view::Message::SetTransactions(transactions)); + Action::None + } + Message::NextItem => match self.active_view { View::Balances => { self.balances_view @@ -130,7 +148,7 @@ impl<'a> Component<'a, Message, Action> for MainScreen { } View::Transactions => { self.transactions_view - .update(transactions_view::Message::SelectNextTransaction); + .update(transactions_view::Message::SelectNextAccount); Action::None } }, @@ -147,7 +165,7 @@ impl<'a> Component<'a, Message, Action> for MainScreen { } View::Transactions => { self.transactions_view - .update(transactions_view::Message::SelectPrevTransaction); + .update(transactions_view::Message::SelectPrevAccount); Action::None } }, @@ -197,7 +215,7 @@ impl MainScreen { balances_view: BalancesView::new(Vec::new()), buckets: Vec::new(), buckets_view: BucketsView::new(Vec::new(), "Hello, buckets!"), - transactions_view: TransactionsView::new(Vec::new(), "Hello, transactions!"), + transactions_view: TransactionsView::new(&[], &[], &[], &[]), active_view: View::Balances, view_navigation: Navigation::new(Some(View::Balances), View::views()), } |
