endpoint_validator/tui/widgets/
json_viewer.rs1use ratatui::{
2 style::{Color, Style},
3 text::{Span, Spans},
4 widgets::{Block, Borders, Paragraph},
5};
6
7pub fn create_json_viewer<'a>(json_data: &'a Option<String>, is_focused: bool) -> Paragraph<'a> {
8 let json_display = json_data.as_deref().unwrap_or("");
9
10 let title = Spans::from(vec![Span::styled(
11 " Response ",
12 Style::default().fg(if is_focused {
13 Color::Yellow
14 } else {
15 Color::Gray
16 }),
17 )]);
18
19 Paragraph::new(json_display)
20 .style(Style::default().fg(Color::Gray))
21 .block(
22 Block::default()
23 .borders(Borders::ALL)
24 .border_style(Style::default().fg(if is_focused {
25 Color::Yellow
26 } else {
27 Color::Gray
28 }))
29 .title(title),
30 )
31}