use std::thread;
use anyhow::Result;
use ratatui::{
prelude::*,
widgets::{Block, Paragraph},
};
use ratatui_toaster::{ToastBuilder, ToastEngine, ToastEngineBuilder};
fn main() -> Result<()> {
let mut terminal = ratatui::init();
let mut engine: ToastEngine<()> = ToastEngineBuilder::new(Rect::default()).build();
terminal.draw(|f| {
let area = f.area();
let buf = f.buffer_mut();
let content = Paragraph::new("This is a simple toast example.").block(Block::bordered());
content.render(area, buf);
})?;
thread::sleep(std::time::Duration::from_secs(1));
terminal.draw(|f| {
let area = f.area();
let buf = f.buffer_mut();
let content = Paragraph::new("This is a simple toast example.").block(Block::bordered());
content.render(area, buf);
engine.set_area(area);
engine.show_toast(ToastBuilder::new("Hello, World!".into()));
engine.render(area, buf);
})?;
thread::sleep(std::time::Duration::from_secs(1));
terminal.draw(|f| {
let area = f.area();
let buf = f.buffer_mut();
let content = Paragraph::new("This is a simple toast example.").block(Block::bordered());
content.render(area, buf);
engine.set_area(area);
engine.hide_toast();
})?;
thread::sleep(std::time::Duration::from_secs(1));
ratatui::restore();
Ok(())
}