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 {