Skip to content

Commit e0941fa

Browse files
committed
fix UI issues
1 parent a2cad81 commit e0941fa

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

gui/src/db.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use fiber::store::schema::*;
77
use fiber::store::store_impl::deserialize_from;
88
use rand::{distributions::Alphanumeric, Rng};
99
use rocksdb::{prelude::*, ColumnFamilyDescriptor, SecondaryDB, SecondaryOpenDescriptor};
10+
use std::cmp::Reverse;
1011
use std::path::Path;
1112
use std::sync::Arc;
1213
use tentacle::secio::PeerId;
@@ -106,7 +107,7 @@ impl SecondaryStore {
106107
result.push(node);
107108
}
108109
}
109-
result.reverse();
110+
result.sort_by_key(|n| Reverse(n.timestamp));
110111
result
111112
}
112113

@@ -117,7 +118,7 @@ impl SecondaryStore {
117118
let session: PaymentSession = deserialize_from(value.as_ref(), "PaymentSession");
118119
result.push(session);
119120
}
120-
result.reverse();
121+
result.sort_by_key(|s| Reverse(s.created_at));
121122
result
122123
}
123124

@@ -129,7 +130,7 @@ impl SecondaryStore {
129130
deserialize_from(value.as_ref(), "ChannelActorState");
130131
result.push(channel_actor_state);
131132
}
132-
result.reverse();
133+
result.sort_by_key(|s| Reverse(s.created_at));
133134
result
134135
}
135136
}

gui/src/ui.rs

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ enum TuiView {
3232
Peers,
3333
Nodes,
3434
Channels,
35-
Sessions,
35+
Payments,
3636
}
3737

3838
struct TuiState {
@@ -180,6 +180,11 @@ impl TuiState {
180180
self.channels
181181
.iter()
182182
.map(|ch| {
183+
let capacity_label = if ch.funding_udt_type_script.is_some() {
184+
"UDT Capacity"
185+
} else {
186+
"CKB Capacity"
187+
};
183188
let lines = vec![
184189
Line::from(vec![Span::styled(
185190
format!("ChannelId: {}", ch.id),
@@ -191,14 +196,18 @@ impl TuiState {
191196
)),
192197
Line::raw(format!(" Remote Pubkey: {}", ch.remote_pubkey,)),
193198
Line::raw(format!(" State: {:?}", ch.state)),
194-
Line::raw(format!(" CKB Capacity: {}", ch.get_liquid_capacity())),
199+
Line::raw(format!(
200+
" {}: {}",
201+
capacity_label,
202+
ch.get_liquid_capacity()
203+
)),
195204
];
196205
ListItem::new(lines)
197206
})
198207
.collect()
199208
}
200209

201-
fn render_sessions(&self) -> Vec<ListItem> {
210+
fn render_payments(&self) -> Vec<ListItem> {
202211
self.payment_sessions
203212
.iter()
204213
.map(|sess| {
@@ -274,7 +283,7 @@ impl TuiState {
274283
]),
275284
Line::from(vec![
276285
Span::styled("Timestamp: ", Style::default().fg(Color::Green)),
277-
Span::raw(format!("{}", node.timestamp)),
286+
Span::raw(format!("{}", self.human_time(node.timestamp))),
278287
]),
279288
Line::from(vec![
280289
Span::styled("Auto Accept Min CKB: ", Style::default().fg(Color::Green)),
@@ -368,26 +377,26 @@ impl TuiState {
368377
let size = f.size();
369378
let block = Block::default()
370379
.title(match self.view {
371-
TuiView::Sessions => format!(
380+
TuiView::Payments => format!(
372381
"Payment Sessions ({} total) - Press 'p' for peers, 'n' for nodes, 'c' for channels",
373382
self.payment_sessions.len()
374383
),
375384
TuiView::Channels => format!(
376-
"Channels ({} total) - Press 'p' for peers, 'n' for nodes, 's' for sessions",
385+
"Channels ({} total) - Press 'p' for peers, 'n' for nodes, 's' for payments",
377386
self.channels.len()
378387
),
379388
TuiView::Nodes => format!(
380-
"Known Nodes ({} nodes) - Press 'p' for peers, 'c' for channels, 's' for sessions",
389+
"Known Nodes ({} nodes) - Press 'p' for peers, 'c' for channels, 's' for payments",
381390
self.nodes.len()
382391
),
383392
TuiView::Peers => format!(
384-
"Connected Peers ({} peers) - Press 'n' for nodes, 'c' for channels, 's' for sessions",
393+
"Connected Peers ({} peers) - Press 'n' for nodes, 'c' for channels, 's' for payments",
385394
self.peers.len()
386395
),
387396
})
388397
.borders(Borders::ALL);
389398
let items: Vec<ListItem> = match self.view {
390-
TuiView::Sessions => self.render_sessions(),
399+
TuiView::Payments => self.render_payments(),
391400
TuiView::Channels => self.render_channels(),
392401
TuiView::Nodes => self.render_nodes(),
393402
TuiView::Peers => self.render_peers(),
@@ -402,7 +411,7 @@ impl TuiState {
402411
self.list_state = list_state;
403412
if self.show_detail {
404413
let (title, detail_lines): (&str, Vec<Line>) = match self.view {
405-
TuiView::Sessions => self.detail_sessions(),
414+
TuiView::Payments => self.detail_sessions(),
406415
TuiView::Channels => self.detail_channels(),
407416
TuiView::Nodes => self.detail_nodes(),
408417
TuiView::Peers => self.detail_peers(),
@@ -446,12 +455,12 @@ impl TuiState {
446455
self.selected_idx = 0;
447456
}
448457
KeyCode::Char('s') => {
449-
self.view = TuiView::Sessions;
458+
self.view = TuiView::Payments;
450459
self.selected_idx = 0;
451460
}
452461
KeyCode::Down => {
453462
let len = match self.view {
454-
TuiView::Sessions => self.payment_sessions.len(),
463+
TuiView::Payments => self.payment_sessions.len(),
455464
TuiView::Channels => self.channels.len(),
456465
TuiView::Nodes => self.nodes.len(),
457466
TuiView::Peers => self.peers.len(),
@@ -465,7 +474,7 @@ impl TuiState {
465474
}
466475
KeyCode::Enter => {
467476
let len = match self.view {
468-
TuiView::Sessions => self.payment_sessions.len(),
477+
TuiView::Payments => self.payment_sessions.len(),
469478
TuiView::Channels => self.channels.len(),
470479
TuiView::Nodes => self.nodes.len(),
471480
TuiView::Peers => self.peers.len(),

0 commit comments

Comments
 (0)