terminal_ui/ui/
ui_loading_popup.rs1use crate::{app::App, styles::selected_style};
2use tui::{
3 backend::Backend,
4 layout::{Constraint, Direction, Layout, Rect},
5 widgets::{Block, Borders, Clear, Paragraph},
6 Frame,
7};
8
9use super::ui_popup::centered_rect;
10
11fn draw_navigation_input<B>(f: &mut Frame<B>, app: &App, area: Rect)
12where
13 B: Backend,
14{
15 let format_regex_widget = Paragraph::new("...")
16 .style(selected_style(app.color))
17 .block(Block::default().borders(Borders::ALL).title("Loading"));
18
19 f.render_widget(format_regex_widget, area);
20}
21
22pub fn draw_loading_popup<B>(f: &mut Frame<B>, app: &mut App)
23where
24 B: Backend,
25{
26 let block = Block::default()
27 .borders(Borders::ALL)
28 .border_style(selected_style(app.color));
29
30 let area = centered_rect(60, 7, f.size());
31 f.render_widget(Clear, area); f.render_widget(block, area);
33
34 let popup_layout = Layout::default()
35 .direction(Direction::Horizontal)
36 .constraints([Constraint::Percentage(100)].as_ref())
37 .margin(1)
38 .split(area);
39 let popup_layout = Layout::default()
40 .direction(Direction::Vertical)
41 .constraints([Constraint::Length(3)].as_ref())
42 .margin(1)
43 .split(popup_layout[0]);
44
45 draw_navigation_input(f, app, popup_layout[0]);
46}