mod reader;
mod widget;
use reader::Reader;
use widget::Widget;
use crate::app::browser::window::{tab::item::Action as ItemAction, Action as WindowAction};
use gtk::glib::Uri;
use std::rc::Rc;
pub struct Gemini {
pub reader: Rc<Reader>,
pub widget: Rc<Widget>,
}
impl Gemini {
pub fn new(
gemtext: &str,
base: &Uri,
(window_action, item_action): (&Rc<WindowAction>, &Rc<ItemAction>),
) -> Self {
let reader = Rc::new(
Reader::new(gemtext, base, (window_action.clone(), item_action.clone())).unwrap(),
); let widget = Rc::new(Widget::new(&reader.widget.text_view));
Self { reader, widget }
}
}