🎨 fix
All checks were successful
ci/woodpecker/push/test Pipeline was successful

This commit is contained in:
JMARyA 2025-02-19 23:08:57 +01:00
parent 7fadc681e9
commit 1196f00ca7
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
2 changed files with 17 additions and 1 deletions

View file

@ -1,8 +1,17 @@
use maud::{PreEscaped, html}; use maud::{PreEscaped, html};
use crate::ui::color::UIColor;
#[allow(non_snake_case)] #[allow(non_snake_case)]
pub fn MaterialIcon(identifier: &str) -> PreEscaped<String> { pub fn MaterialIcon(identifier: &str) -> PreEscaped<String> {
html! { html! {
span class="material-symbols-outlined select-none" { (identifier) }; span class="material-symbols-outlined select-none" { (identifier) };
} }
} }
#[allow(non_snake_case)]
pub fn ColoredMaterialIcon<C: UIColor + 'static>(identifier: &str, color: C) -> PreEscaped<String> {
html! {
span class=(format!("material-symbols-outlined select-none text-{}", color.color_class())) { (identifier) };
}
}

View file

@ -16,6 +16,7 @@ pub struct Form {
action: String, action: String,
method: Option<FormMethod>, method: Option<FormMethod>,
multipart: bool, multipart: bool,
id: String,
items: Vec<Box<dyn UIWidget>>, items: Vec<Box<dyn UIWidget>>,
} }
@ -25,10 +26,16 @@ impl Form {
action: action.to_string(), action: action.to_string(),
method: None, method: None,
multipart: false, multipart: false,
id: String::new(),
items: Vec::new(), items: Vec::new(),
} }
} }
pub fn id(mut self, id: &str) -> Self {
self.id = id.to_string();
self
}
pub async fn add_csrf(self, u: &User) -> Self { pub async fn add_csrf(self, u: &User) -> Self {
self.add_input( self.add_input(
HiddenInput("csrf", &u.get_csrf().await.to_string()).add_attr("class", "csrf"), HiddenInput("csrf", &u.get_csrf().await.to_string()).add_attr("class", "csrf"),
@ -81,7 +88,7 @@ impl UIWidget for Form {
.unwrap_or("post"); .unwrap_or("post");
html! { html! {
form action=(self.action) method=(method) enctype=(if self.multipart { "multipart/form-data" } else { "application/x-www-form-urlencoded" }) class=(class) { form action=(self.action) method=(method) id=(self.id) enctype=(if self.multipart { "multipart/form-data" } else { "application/x-www-form-urlencoded" }) class=(class) {
@for item in &self.items { @for item in &self.items {
(item) (item)
}; };