From 5d0b9742f7ed1cfadd0fcec6b4c1471a341f7d5c Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Thu, 12 Jun 2025 00:50:11 +0100 Subject: feat: hovering sidebar skinnyfies chat views --- assets/style.scss | 11 +++++++++++ src/components/sidebar.rs | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/assets/style.scss b/assets/style.scss index f6e1d55..016c568 100644 --- a/assets/style.scss +++ b/assets/style.scss @@ -650,6 +650,17 @@ background: #00000060; } } +.sidebar .behind-hovering { + width: 402px; + transition: width 0.2s ease-out allow-discrete; +} + +@starting-style { + .sidebar .behind-hovering { + width: 0; + } +} + .overlay { position: relative; z-index: 100; diff --git a/src/components/sidebar.rs b/src/components/sidebar.rs index 0be31fd..5248a55 100644 --- a/src/components/sidebar.rs +++ b/src/components/sidebar.rs @@ -166,6 +166,16 @@ pub fn Sidebar() -> impl IntoView { {move || match page { SidebarOpen::Roster => { view! { + {move || { + if *open.read() == None + && *hovered.read() == Some(SidebarOpen::Roster) + { + view! { } + .into_any() + } else { + view! {}.into_any() + } + }}
impl IntoView { } SidebarOpen::Chats => { view! { + {move || { + if *open.read() == None + && *hovered.read() == Some(SidebarOpen::Chats) + { + view! { } + .into_any() + } else { + view! {}.into_any() + } + }}