add color
This commit is contained in:
parent
ada01926ba
commit
25f4d19ca7
1 changed files with 20 additions and 9 deletions
|
@ -1,21 +1,32 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
api::{ProjectID, Task, VikunjaAPI},
|
api::{ProjectID, Task, VikunjaAPI},
|
||||||
ui::{parse_datetime, time_since},
|
ui::{parse_datetime, print_color, time_since},
|
||||||
};
|
};
|
||||||
|
|
||||||
fn print_task_oneline(task: &Task, api: &VikunjaAPI) {
|
fn print_task_oneline(task: &Task, api: &VikunjaAPI) {
|
||||||
let done_indicator = if task.done { "✓" } else { " " };
|
print_color(crossterm::style::Color::Yellow, &format!("({}) ", task.id));
|
||||||
|
|
||||||
println!(
|
if task.is_favorite {
|
||||||
"[{}] ({}) '{}' [{}]",
|
print_color(crossterm::style::Color::Yellow, "⭐ ");
|
||||||
done_indicator,
|
}
|
||||||
task.id,
|
|
||||||
task.title,
|
print_color(crossterm::style::Color::Blue, &task.title);
|
||||||
api.get_project_name_from_id(task.project_id),
|
|
||||||
|
// todo : colors based on project colors
|
||||||
|
print_color(
|
||||||
|
crossterm::style::Color::DarkRed,
|
||||||
|
&format!(" [{}]", api.get_project_name_from_id(task.project_id)),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if task.done {
|
||||||
|
print_color(crossterm::style::Color::Green, " [✓]");
|
||||||
|
}
|
||||||
|
|
||||||
|
print!("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print_current_tasks(api: &VikunjaAPI, done: bool, fav: bool, project: Option<&String>) {
|
pub fn print_current_tasks(api: &VikunjaAPI, done: bool, fav: bool, project: Option<&String>) {
|
||||||
|
// todo : improve performance by using filters -> https://vikunja.io/docs/filters/
|
||||||
let current_tasks = api.get_all_tasks();
|
let current_tasks = api.get_all_tasks();
|
||||||
|
|
||||||
let mut selection: Vec<_> = if done {
|
let mut selection: Vec<_> = if done {
|
||||||
|
@ -51,7 +62,7 @@ pub fn print_task_info(task_id: isize, api: &VikunjaAPI) {
|
||||||
} else {
|
} else {
|
||||||
String::new()
|
String::new()
|
||||||
};
|
};
|
||||||
let fav_indicator = if task.is_favorite { " ★ " } else { "" };
|
let fav_indicator = if task.is_favorite { " ⭐ " } else { "" };
|
||||||
|
|
||||||
println!(
|
println!(
|
||||||
"{}{}'{}' [{}] [{}]",
|
"{}{}'{}' [{}] [{}]",
|
||||||
|
|
Loading…
Reference in a new issue