use super::traits::{FileViewer, ViewerError, ViewerState};
use std::path::PathBuf;
#[allow(dead_code)]
pub struct MarkdownViewer {
path: PathBuf,
html: String,
file_size: u64,
}
impl MarkdownViewer {
#[allow(dead_code)]
pub fn new(path: PathBuf, html: String, file_size: u64) -> Self {
MarkdownViewer {
path,
html,
file_size,
}
}
}
impl FileViewer for MarkdownViewer {
fn render(&self) -> Result<String, ViewerError> {
Ok(self.html.clone())
}
fn get_state(&self) -> ViewerState {
ViewerState {
file_type: "markdown".to_string(),
file_path: self.path.clone(),
modified: false,
file_size_bytes: self.file_size,
}
}
fn file_type(&self) -> &str {
"markdown"
}
}