diff --git a/src/render_items/render_waiting_screen.rs b/src/render_items/render_waiting_screen.rs index 2325d06..87f9d14 100644 --- a/src/render_items/render_waiting_screen.rs +++ b/src/render_items/render_waiting_screen.rs @@ -1,32 +1,48 @@ use tui::{ - layout::Alignment, - style::{Modifier, Style}, - text::{Span, Spans}, - widgets::{Block, BorderType, Borders, Paragraph}, - Terminal + layout::Alignment, + style::{ Modifier, Style, Color }, + text::Span, + widgets::{ Block, BorderType, Borders, Paragraph }, }; - pub fn render_waiting_screen( - terminal: &mut Terminal, + terminal: &mut tui::Terminal ) -> Result<(), Box> { - let loading_screen = vec![ - Spans::from(Span::styled("Loading GitHub data...", Style::default().add_modifier(Modifier::BOLD))), - Spans::from(Span::raw("")), - Spans::from(Span::styled("Please wait while we fetch the data from GitHub...", Style::default())), - ]; + let loading_text = + r#" + + ██████╗ ██╗████████╗██╗ ██╗██╗ ██╗██████╗ + ██╔════╝ ██║╚══██╔══╝██║ ██║██║ ██║██╔══██╗ + ██║ ███╗██║ ██║ ███████║██║ ██║██████╔╝ + ██║ ██║██║ ██║ ██╔══██║██║ ██║██╔══██╗ + ╚██████╔╝██║ ██║ ██║ ██║╚██████╔╝██████╔╝ + ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ + + █████╗ ███████╗███████╗██╗███████╗████████╗ █████╗ ███╗ ██╗████████╗ + ██╔══██╗██╔════╝██╔════╝██║██╔════╝╚══██╔══╝██╔══██╗████╗ ██║╚══██╔══╝ + ███████║███████╗███████╗██║███████╗ ██║ ███████║██╔██╗ ██║ ██║ + ██╔══██║╚════██║╚════██║██║╚════██║ ██║ ██╔══██║██║╚██╗██║ ██║ + ██║ ██║███████║███████║██║███████║ ██║ ██║ ██║██║ ╚████║ ██║ + ╚═╝ ╚═╝╚══════╝╚══════╝╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ + + "#; + + let loading_screen_paragraph = Paragraph::new(loading_text) + .alignment(Alignment::Center) + .block( + Block::default() + .title( + Span::styled("GitHub Assistant", Style::default().add_modifier(Modifier::BOLD)) + ) + .borders(Borders::ALL) + .border_style(Style::default().fg(Color::White).bg(Color::DarkGray)) + .border_type(BorderType::Rounded) + ); - terminal.draw(|f| { - let size = f.size(); - let loading_screen_paragraph = Paragraph::new(loading_screen.clone()) - .alignment(Alignment::Center) - .block( - Block::default() - .title(Span::styled("GitHub Assistant", Style::default().add_modifier(Modifier::BOLD))) - .borders(Borders::ALL).border_type(BorderType::Rounded), - ); - f.render_widget(loading_screen_paragraph, size); - })?; + terminal.draw(|f| { + let size = f.size(); + f.render_widget(loading_screen_paragraph, size); + })?; - Ok(()) + Ok(()) }