1pub const BANNER: [&str; 6] = [
4 r"███╗ ███╗ █████╗ ██████╗██╗ ██╗",
5 r"████╗ ████║██╔══██╗██╔════╝██║ ██║",
6 r"██╔████╔██║███████║██║ ███████║",
7 r"██║╚██╔╝██║██╔══██║██║ ██╔══██║",
8 r"██║ ╚═╝ ██║██║ ██║╚██████╗██║ ██║",
9 r"╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝",
10];
11
12pub const BANNER_WIDTH: u16 = 35;
13
14pub(crate) const WHATS_NEW: [(&str, &str); 3] = [
17 (
18 "Compact due dates",
19 "Due dates no longer shrink unrelated task titles.",
20 ),
21 (
22 "Blank rows preserved",
23 "Editors keep intentional blank rows.",
24 ),
25 (
26 "Release notes on demand",
27 "Use /whatsnew again; Help shows the data store.",
28 ),
29];
30
31pub struct HelpRow {
35 pub left: &'static str,
36 pub right: &'static str,
37 pub heading: bool,
38}
39
40const fn row(left: &'static str, right: &'static str) -> HelpRow {
41 HelpRow {
42 left,
43 right,
44 heading: false,
45 }
46}
47
48const fn heading(left: &'static str, right: &'static str) -> HelpRow {
49 HelpRow {
50 left,
51 right,
52 heading: true,
53 }
54}
55
56pub const HELP_COLUMNS: [HelpRow; 16] = [
58 heading("MOVING AROUND", "TASKS & CATEGORIES"),
59 row(
60 "← → between the two panels",
61 "Ctrl+A new task / category",
62 ),
63 row(
64 "↑ ↓ within a panel",
65 "Enter edit in the preview",
66 ),
67 row("⌥↑ ⌥↓ reorder in manual view", ""),
68 row("PgUp PgDn top / bottom", "Space tick a task off"),
69 row(
70 "Tab the other panel",
71 "Ctrl+F importance, 0 to 3 flags",
72 ),
73 row("type jump to matching row", "Backspace ×2 delete"),
74 row("Esc back out", "Ctrl+C ×2 quit"),
75 row("Mouse click, double-click, scroll", ""),
76 row("", ""),
77 heading(
78 "COMMANDS (press /)",
79 "PREVIEW (Enter · when space allows)",
80 ),
81 row(
82 "/search /settings /help",
83 "Tab ⇧Tab next / previous field",
84 ),
85 row("/whatsnew", "← → Space choose category / flags"),
86 row(
87 "/copy /copytitle · /done",
88 "Enter calendar · new line · open",
89 ),
90 row("/purge /update /quit", "Ctrl+Z / ⇧Z undo · redo"),
91 row("? this page", "Esc back to the task list"),
92];
93
94pub const HELP_FOOTER: &str = "Press Esc to close · github.com/Q1CHENL/mach";
95
96pub const EMPTY_TASKS: &str = "No active tasks here :)";
97pub const NO_SEARCH_RESULTS: &str = "No tasks found :)";