use ratatui::{
    Frame,
    layout::Rect,
    style::{Color, Modifier, Style},
    text::{Line, Span},
    widgets::{Block, Borders, Clear, Paragraph, Wrap},
};

pub fn render(frame: &mut Frame, area: Rect) {
    frame.render_widget(Clear, area);
    let lines = vec![
        Line::from(Span::styled(
            "全局",
            Style::default().add_modifier(Modifier::BOLD),
        )),
        Line::from("  F1 / Ctrl+H  帮助      Tab  切换输入/会话焦点"),
        Line::from("  Ctrl+N  新会话         Ctrl+S  聚焦会话列表"),
        Line::from("  Ctrl+R  重命名         Ctrl+O  显示/隐藏归档"),
        Line::from("  Ctrl+A  归档           Ctrl+D  删除"),
        Line::from("  Ctrl+L  清空历史       Ctrl+C 两次 退出"),
        Line::from("  Ctrl+F  添加附件       F2 下载最近附件"),
        Line::from("  Ctrl+X  清除待发送附件"),
        Line::from(""),
        Line::from(Span::styled(
            "输入",
            Style::default().add_modifier(Modifier::BOLD),
        )),
        Line::from("  Enter 发送             Shift/Alt+Enter 换行"),
        Line::from("  / 打开命令菜单         Tab 补全命令"),
        Line::from("  PageUp/PageDown 滚动对话，Ctrl+↑/↓ 微调"),
        Line::from(""),
        Line::from(Span::styled(
            "会话列表",
            Style::default().add_modifier(Modifier::BOLD),
        )),
        Line::from("  ↑/↓ 或 j/k 选择       Enter 切换"),
        Line::from("  n 新建 · r 重命名 · a 归档 · d 删除"),
        Line::from(""),
        Line::from(Span::styled(
            "Esc / F1 关闭帮助",
            Style::default().fg(Color::DarkGray),
        )),
    ];
    frame.render_widget(
        Paragraph::new(lines)
            .block(
                Block::default()
                    .title(" 帮助 ")
                    .title_style(Style::default().fg(Color::Cyan))
                    .borders(Borders::ALL),
            )
            .wrap(Wrap { trim: false }),
        area,
    );
}
