From 813f1a2d9c3f3460f34b23c5e7e3482a5c14758c Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 26 Dec 2024 18:19:07 +0100 Subject: [PATCH] feat: show disabled room or feedback in example --- examples/arsnova-client-tui.rs | 31 +++++++++++++++++++++++-------- src/client.rs | 4 ++-- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/examples/arsnova-client-tui.rs b/examples/arsnova-client-tui.rs index 3e49b12..e548933 100644 --- a/examples/arsnova-client-tui.rs +++ b/examples/arsnova-client-tui.rs @@ -97,7 +97,12 @@ async fn main() -> Result<(), String> { room_info.name, room_info.short_id, room_stats.room_user_count ); - let l2 = create_ui(&mut terminal, &title, in_rx); + let l2 = create_ui( + &mut terminal, + &title, + room_info.is_closed() || room_info.is_feedback_locked(), + in_rx, + ); let l3 = tokio::spawn(async move { loop { @@ -144,6 +149,7 @@ async fn main() -> Result<(), String> { async fn create_ui( terminal: &mut Terminal>, title: &str, + disabled: bool, mut rx: Receiver, ) -> Result<(), ()> { const ICONS: [&str; 4] = ["Super", "Gut", "Nicht so gut", "Schlecht"]; @@ -216,13 +222,22 @@ async fn create_ui( layout[0], ); - frame.render_widget( - Paragraph::new(format!("{} Antworten", feedback.count_votes())) - .white() - .bold() - .alignment(Alignment::Center), - layout[2], - ); + if disabled { + frame.render_widget( + Paragraph::new("Feedback gestoppt") + .white() + .alignment(Alignment::Center), + layout[2], + ) + } else { + frame.render_widget( + Paragraph::new(format!("{} Antworten", feedback.count_votes())) + .white() + .bold() + .alignment(Alignment::Center), + layout[2], + ); + } frame.render_widget( Paragraph::new("Beenden mit ") diff --git a/src/client.rs b/src/client.rs index dd66ba5..2a1e3fa 100644 --- a/src/client.rs +++ b/src/client.rs @@ -199,7 +199,7 @@ pub struct RoomInfo { impl RoomInfo { /// Indicates if room is closed - pub fn is_closes(&self) -> bool { + pub fn is_closed(&self) -> bool { self.closed } @@ -212,7 +212,7 @@ impl RoomInfo { #[derive(Deserialize, Debug)] #[serde(rename_all = "camelCase")] pub struct RoomInfoSettings { - pub feedback_locked: bool + pub feedback_locked: bool, } #[derive(Deserialize, Clone, Debug)]