television_previewers/previewers/
basic.rs

1use std::sync::Arc;
2
3use crate::previewers::{Preview, PreviewContent};
4use television_channels::entry::Entry;
5
6#[derive(Debug, Default)]
7pub struct BasicPreviewer {
8    _config: BasicPreviewerConfig,
9}
10
11#[derive(Debug, Default)]
12pub struct BasicPreviewerConfig {}
13
14impl BasicPreviewer {
15    pub fn new(config: Option<BasicPreviewerConfig>) -> Self {
16        BasicPreviewer {
17            _config: config.unwrap_or_default(),
18        }
19    }
20
21    pub fn preview(&self, entry: &Entry) -> Arc<Preview> {
22        Arc::new(Preview {
23            title: entry.name.clone(),
24            content: PreviewContent::PlainTextWrapped(entry.name.clone()),
25            icon: entry.icon,
26            partial_offset: None,
27            total_lines: 1,
28        })
29    }
30}