use yew::prelude::*;
use yew_router::prelude::*;
#[derive(Properties, Clone, PartialEq, Debug)]
pub struct NavLinkProps<R: Routable + PartialEq + Clone + 'static> {
pub to: R,
pub children: Children,
#[prop_or(false)]
pub partial: bool,
#[prop_or(AttrValue::Static("nav-link"))]
pub class: AttrValue,
#[prop_or(AttrValue::Static("active"))]
pub active_class: AttrValue
}
#[cfg(test)]
mod tests {
use super::*;
#[derive(Clone, PartialEq, Debug, Routable)]
enum TestRoute {
#[at("/")]
Home
}
#[test]
fn props_equality() {
let props1: NavLinkProps<TestRoute> = NavLinkProps {
to: TestRoute::Home,
children: Children::default(),
partial: false,
class: AttrValue::Static("nav-link"),
active_class: AttrValue::Static("active")
};
let props2 = props1.clone();
assert_eq!(props1, props2);
}
}