binocular/preview/
types.rs1use crate::preview::rich_text::RichTextDocument;
2use crate::preview::structured_log::{LogFilterState, StructuredLog};
3use ratatui::text::Text;
4use ratatui_image::protocol::StatefulProtocol;
5
6pub struct DiffPreview {
7 pub text: Text<'static>,
8}
9
10pub struct ImagePreview {
11 pub metadata: Text<'static>,
12 pub metadata_line_count: usize,
13 pub protocol: StatefulProtocol,
14}
15
16pub struct MediaPreview {
17 pub metadata: Text<'static>,
18 pub metadata_line_count: usize,
19 pub artwork: Option<StatefulProtocol>,
20}
21
22pub struct LogPreview {
23 pub log: StructuredLog,
24 pub filter_state: LogFilterState,
25}
26
27pub enum PreviewContent {
28 RichText(RichTextDocument),
29 Diff(DiffPreview),
30 PlainText(Text<'static>),
31 Image(ImagePreview),
32 Media(MediaPreview),
33 StructuredLog(LogPreview),
34}