leetcode_tui_rs/
ctx.rs

1use leetcode_tui_core::content::MainContent;
2use leetcode_tui_core::help::Help;
3use leetcode_tui_core::input::Input;
4use leetcode_tui_core::popup::{Popup, SelectPopup};
5use leetcode_tui_core::progress;
6
7pub struct Ctx {
8    pub content: MainContent,
9    pub popup: Popup,
10    pub select_popup: SelectPopup<String>,
11    pub input: Input,
12    pub help: Help,
13    pub progress: progress::ProgressCtx,
14}
15
16impl Ctx {
17    pub(super) async fn new() -> Self {
18        let progress = progress::ProgressCtx::default();
19
20        Self {
21            content: MainContent::new().await,
22            popup: Default::default(),
23            select_popup: Default::default(),
24            input: Default::default(),
25            help: Default::default(),
26            progress,
27        }
28    }
29}