From d9ef5746a28b9e1f4da0cab4c530f77e5e85b419 Mon Sep 17 00:00:00 2001 From: schn33fuchs Date: Mon, 11 May 2026 13:03:00 +0200 Subject: [PATCH] Home page and sidebar update Home page now shows who is logged in and the sidebar has a button to home --- frontend/src/pages/basic_pages.rs | 40 +++++++++++++++++-------------- frontend/src/pages/sidebar.rs | 2 ++ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/frontend/src/pages/basic_pages.rs b/frontend/src/pages/basic_pages.rs index dd171d9..c918599 100644 --- a/frontend/src/pages/basic_pages.rs +++ b/frontend/src/pages/basic_pages.rs @@ -3,6 +3,12 @@ use wasm_bindgen_futures::spawn_local; use yew::prelude::*; use yew_router::prelude::*; +macro_rules! dequote { + ($str:expr) => { + $str.trim_matches('"').to_string() + }; +} + /// The main home page component of the application. /// /// This component displays different content based on whether the logged-in user @@ -22,10 +28,9 @@ use yew_router::prelude::*; /// ``` #[component(Home)] pub fn home_component() -> Html { - let is_admin = use_state(|| None::); - + let name = use_state(|| "".to_string()); { - let is_admin = is_admin.clone(); + let name = name.clone(); use_effect_with((), move |_| { spawn_local(async move { let response = Request::get("/api/users/current") @@ -36,28 +41,27 @@ pub fn home_component() -> Html { match response { Ok(resp) if resp.status() == 200 => { let user_data: serde_json::Value = resp.json().await.unwrap_or_default(); - let admin_value = user_data["data"]["is_admin"].as_bool(); - is_admin.set(admin_value); + let name_value = format!( + "{} {}", + dequote!(user_data["data"]["first_name"].to_string()), + dequote!(user_data["data"]["last_name"].to_string()) + ); + name.set(name_value); } - _ => is_admin.set(Some(false)), + _ => name.set("Unknown".to_string()), } }); || () }); } - match *is_admin { - None => html! {
{ "Loading..." }
}, - Some(true) => html! { -
- -
- }, - Some(false) => html! { -
- -
- }, + html! { +
+ + +

{ "You are logged in as: " }

+

{ &*name }

+
} } diff --git a/frontend/src/pages/sidebar.rs b/frontend/src/pages/sidebar.rs index b51087a..d5d03cf 100644 --- a/frontend/src/pages/sidebar.rs +++ b/frontend/src/pages/sidebar.rs @@ -381,6 +381,7 @@ pub fn sidebar() -> Html {