From b0c6daf56e70dc41d7b52b9514470a3769dfb8a2 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Wed, 15 Jan 2025 21:42:36 +0100 Subject: [PATCH] update --- src/ui/wrapper/hover.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/ui/wrapper/hover.rs b/src/ui/wrapper/hover.rs index 2b599a2..870ddc4 100644 --- a/src/ui/wrapper/hover.rs +++ b/src/ui/wrapper/hover.rs @@ -10,14 +10,13 @@ pub fn Hover(inherit: I, inner: T) pub struct HoverWrapper(Box, Box); impl HoverWrapper { - fn hovered_class(&self) -> String { + fn hovered_class(&self) -> Vec { self.1 .extended_class() .into_iter() .filter(|x| !x.is_empty()) .map(|x| format!("hover:{x}")) .collect::>() - .join(" ") } } @@ -33,21 +32,23 @@ impl UIWidget for HoverWrapper { } fn base_class(&self) -> Vec { - vec![] + self.hovered_class() } fn extended_class(&self) -> Vec { - self.base_class() + let mut ret = self.base_class(); + ret.extend_from_slice(&self.0.extended_class()); + ret } fn render_with_class(&self, class: &str) -> Markup { if self.0.as_ref().can_inherit() { self.0 .as_ref() - .render_with_class(&format!("{} {class}", self.hovered_class())) + .render_with_class(&format!("{} {class}", self.hovered_class().join(" "))) } else { html! { - div class=(format!("{} {class}", self.hovered_class())) { + div class=(format!("{} {class}", self.hovered_class().join(" "))) { (self.0.as_ref()) } }