diff --git a/pagetop/src/html/classes.rs b/pagetop/src/html/classes.rs index 740d1f89..aa629aaf 100644 --- a/pagetop/src/html/classes.rs +++ b/pagetop/src/html/classes.rs @@ -34,7 +34,9 @@ impl Classes { pub fn alter(&mut self, classes: &str, op: ClassesOp) -> &Self { let classes = classes.trim(); match op { - ClassesOp::Add => self.added.push_str(concat_string!(" ", classes).as_str()), + ClassesOp::Add => { + self.added = concat_string!(self.added, " ", classes).trim().to_owned() + }, ClassesOp::AddAfter(class) => { let mut v_added: Vec<&str> = self.added.split_ascii_whitespace().collect(); @@ -54,7 +56,9 @@ impl Classes { self.added = v_added.join(" "); }, - ClassesOp::AddFirst => self.added = concat_string!(classes, " ", self.added), + ClassesOp::AddFirst => { + self.added = concat_string!(classes, " ", self.added).trim().to_owned() + }, ClassesOp::Replace(class) => { let mut v_added: Vec<&str> = self.added.split_ascii_whitespace().collect(); @@ -72,7 +76,7 @@ impl Classes { ClassesOp::SetDefault => self.default = classes.to_owned(), } - self.option = Some(concat_string!(self.default, " ", self.added.trim()).to_owned()); + self.option = Some(concat_string!(self.default, " ", self.added).trim().to_owned()); self }