From 0d8947b760b988836c52c092073e296db517811b Mon Sep 17 00:00:00 2001 From: Rusty Pickle Date: Thu, 16 Oct 2025 21:58:17 +0600 Subject: [PATCH] Fix home page balance after tx swap --- app/src/views/tx_view.rs | 2 -- db/src/models/txs.rs | 6 +++--- tui/src/key_checker/key_handler.rs | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/app/src/views/tx_view.rs b/app/src/views/tx_view.rs index b9e4527..36ea527 100644 --- a/app/src/views/tx_view.rs +++ b/app/src/views/tx_view.rs @@ -518,8 +518,6 @@ impl TxViewGroup { tx_2.tx.set_display_order(db_conn)?; - self.0.swap(index_1, index_2); - Ok(true) } diff --git a/db/src/models/txs.rs b/db/src/models/txs.rs index 631ca6d..1c8a0d7 100644 --- a/db/src/models/txs.rs +++ b/db/src/models/txs.rs @@ -2,7 +2,7 @@ use chrono::{Datelike, Days, Months, NaiveDate, NaiveDateTime, NaiveTime}; use diesel::dsl::{exists, sql}; use diesel::prelude::*; use diesel::result::Error; -use diesel::sql_types::Bool; +use diesel::sql_types::{Integer, Text}; use rex_shared::models::Cent; use std::collections::HashMap; @@ -442,8 +442,8 @@ impl Tx { query .order(( - date.asc(), - sql::("display_order = 0"), + sql::("DATE(date) ASC"), + sql::("CASE WHEN display_order = 0 THEN 1 ELSE 0 END ASC"), display_order.asc(), id.asc(), )) diff --git a/tui/src/key_checker/key_handler.rs b/tui/src/key_checker/key_handler.rs index 3b4d3a3..7bd4243 100644 --- a/tui/src/key_checker/key_handler.rs +++ b/tui/src/key_checker/key_handler.rs @@ -1017,7 +1017,7 @@ impl<'a> InputKeyHandler<'a> { .swap_tx_position(index, index - 1, self.home_txs)?; if reload_stuff { - *self.home_table = TableData::new(self.home_txs.tx_array()); + self.reload_home_table()?; self.home_down_till(index - 1); self.reload_activity_table()?; } @@ -1038,7 +1038,7 @@ impl<'a> InputKeyHandler<'a> { .swap_tx_position(index, index + 1, self.home_txs)?; if reload_stuff { - *self.home_table = TableData::new(self.home_txs.tx_array()); + self.reload_home_table()?; self.home_down_till(index + 1); self.reload_activity_table()?; }