blob: 6067923cd051a7ac672ab670af643d0beadf6305 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
use url::Url;
use crate::app_action::AppAction;
use crate::app_event::AppEvent;
use crate::component::Component;
#[derive(Default)]
pub struct UrlManager {
url: Option<Url>,
}
impl Component for UrlManager {
fn handle_event(&mut self, event: AppEvent) -> Option<AppAction> {
match event {
AppEvent::OpenUrl(url) => {
self.url = Some(url.clone());
return Some(AppAction::StatusBarSetMessage(format!(
"Opening {}",
url.as_str()
)));
}
_ => {}
}
None
}
fn render(
&mut self,
_frame: &mut ratatui::prelude::Frame,
_rect: ratatui::prelude::Rect,
) -> eyre::Result<()> {
Ok(())
}
}
|