widgets: try and sort the computer todo list by completion state
This commit is contained in:
+2
-1
@@ -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<Text> = self.0.iter().map(|(text, is_finished)| {
|
||||
let options: Vec<Text> = 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 {
|
||||
|
||||
Reference in New Issue
Block a user