From 7157d4bb390bb70865625474bb4e1698f7d00a75 Mon Sep 17 00:00:00 2001 From: Victoria Fischer Date: Tue, 23 Jun 2026 09:19:55 +0200 Subject: [PATCH] widgets: try and sort the computer todo list by completion state --- src/widgets.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/widgets.rs b/src/widgets.rs index 342e5cc..1cfc3a8 100644 --- a/src/widgets.rs +++ b/src/widgets.rs @@ -1,6 +1,7 @@ use std::collections::HashMap; use chrono::Duration; +use itertools::Itertools; use ratatui::{layout::Rect, style::Style, text::{Line, Text}, widgets::*}; use tui_skeleton::Block; use ratatui::prelude::*; @@ -16,7 +17,7 @@ impl Widget for TaskList<'_> { let borders = Block::bordered().border_style(style::Color::Red).title("Computer Tasks"); let wrap_options_unfinished = textwrap::Options::new(area.width as usize).initial_indent("[ ] ").subsequent_indent(" "); let wrap_options_finished = textwrap::Options::new(area.width as usize).initial_indent("[X] ").subsequent_indent(" "); - let options: Vec = self.0.iter().map(|(text, is_finished)| { + let options: Vec = self.0.iter().sorted_by(|a, b| Ord::cmp(a.1, b.1)).map(|(text, is_finished)| { let (options, color) = if *is_finished { (wrap_options_finished.clone(), style::Color::DarkGray) } else {