From a0d4d1c6d722eb17db8cf26aa8ef6354858a0e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matou=C5=A1=20Volf?= <66163112+matous-volf@users.noreply.github.com> Date: Mon, 9 Sep 2024 18:51:15 +0200 Subject: [PATCH] feat: sort the project list --- src/components/pages/projects_page.rs | 32 +++++++++++++++------------ 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/components/pages/projects_page.rs b/src/components/pages/projects_page.rs index 028181c..94a0688 100644 --- a/src/components/pages/projects_page.rs +++ b/src/components/pages/projects_page.rs @@ -12,20 +12,24 @@ pub(crate) fn ProjectsPage() -> Element { rsx! { match projects_query.result().value() { QueryResult::Ok(QueryValue::Projects(projects)) - | QueryResult::Loading(Some(QueryValue::Projects(projects))) => rsx! { - div { - class: "flex flex-col", - for project in projects.clone() { - div { - key: "{project.id()}", - class: format!( - "px-8 py-4 select-none {}", - if project_being_edited().is_some_and(|p| p.id() == project.id()) { - "bg-zinc-700" - } else { "" } - ), - onclick: move |_| project_being_edited.set(Some(project.clone())), - {project.title()} + | QueryResult::Loading(Some(QueryValue::Projects(projects))) => { + let mut projects = projects.clone(); + projects.sort(); + rsx! { + div { + class: "flex flex-col", + for project in projects { + div { + key: "{project.id()}", + class: format!( + "px-8 py-4 select-none {}", + if project_being_edited().is_some_and(|p| p.id() == project.id()) { + "bg-zinc-700" + } else { "" } + ), + onclick: move |_| project_being_edited.set(Some(project.clone())), + {project.title()} + } } } }