// This file is part of Deja-vu. // // Deja-vu is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Deja-vu is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Deja-vu. If not, see . // use color_eyre::Result; use ratatui::{ prelude::*, widgets::{Block, Borders, Paragraph}, }; use tokio::sync::mpsc::UnboundedSender; use super::Component; use crate::{action::Action, config::Config}; #[derive(Default)] pub struct Title { command_tx: Option>, config: Config, } impl Title { pub fn new() -> Self { Self::default() } } impl Component for Title { fn register_action_handler(&mut self, tx: UnboundedSender) -> Result<()> { self.command_tx = Some(tx); Ok(()) } fn register_config_handler(&mut self, config: Config) -> Result<()> { self.config = config; Ok(()) } fn update(&mut self, action: Action) -> Result> { match action { _ => {} } Ok(None) } fn draw(&mut self, frame: &mut Frame, area: Rect) -> Result<()> { // Title Block let title_text = Span::styled( "WizardKit: Clone Tool", Style::default().fg(Color::LightCyan), ); let title = Paragraph::new(Line::from(title_text).centered()) .block(Block::default().borders(Borders::ALL)); frame.render_widget(title, area); Ok(()) } }