31 lines
717 B
Rust
31 lines
717 B
Rust
use maud::{Markup, Render, html};
|
|
|
|
use super::UIWidget;
|
|
|
|
#[allow(non_snake_case)]
|
|
/// A component for fixing an element's width to the current breakpoint.
|
|
pub fn Link<T: UIWidget + 'static>(reference: &str, inner: T) -> LinkWidget {
|
|
LinkWidget(Box::new(inner), reference.to_owned())
|
|
}
|
|
|
|
pub struct LinkWidget(Box<dyn UIWidget>, String);
|
|
|
|
impl Render for LinkWidget {
|
|
fn render(&self) -> Markup {
|
|
self.render_with_class("")
|
|
}
|
|
}
|
|
|
|
impl UIWidget for LinkWidget {
|
|
fn can_inherit(&self) -> bool {
|
|
true
|
|
}
|
|
|
|
fn render_with_class(&self, class: &str) -> Markup {
|
|
html! {
|
|
a class=(class) href=(self.1) {
|
|
(self.0.as_ref())
|
|
}
|
|
}
|
|
}
|
|
}
|