use ratatui::Frame;
use ratatui::style::{Style, Stylize};
use ratatui::text::{Line, Span};
use ratatui::widgets::{Clear, Paragraph};
use crate::app::App;
use crate::ui::centered;
const WIDTH: u16 = 56;
pub fn render(f: &mut Frame, app: &App) {
let theme = &app.theme;
let prompt = &app.ticker_prompt;
let area = centered(f.area(), WIDTH, 5);
f.render_widget(Clear, area);
let typed = Line::from(vec![
Span::raw(" "),
Span::styled(prompt.input.clone(), Style::new().bold()),
Span::styled("▏", Style::new().fg(theme.accent)),
]);
let message = match &prompt.error {
Some(err) => Line::from(Span::styled(
format!(" {err}"),
Style::new().fg(theme.error),
)),
None => Line::from(Span::raw(" ").dim()),
};
let hint = Line::from(Span::raw(" enter add · esc cancel · Save in settings keeps it").dim());
f.render_widget(
Paragraph::new(vec![typed, message, hint])
.block(theme.panel_titled(" Add ticker ".to_string())),
area,
);
}