diff options
author | 2025-06-12 00:50:11 +0100 | |
---|---|---|
committer | 2025-06-12 00:50:11 +0100 | |
commit | 5d0b9742f7ed1cfadd0fcec6b4c1471a341f7d5c (patch) | |
tree | 6b50ebea18045f912e0c0216b8c8f22dff76a10b | |
parent | cdd9c8256204b07fb2600a350cc63ea485a2a766 (diff) | |
download | macaw-web-5d0b9742f7ed1cfadd0fcec6b4c1471a341f7d5c.tar.gz macaw-web-5d0b9742f7ed1cfadd0fcec6b4c1471a341f7d5c.tar.bz2 macaw-web-5d0b9742f7ed1cfadd0fcec6b4c1471a341f7d5c.zip |
feat: hovering sidebar skinnyfies chat views
-rw-r--r-- | assets/style.scss | 11 | ||||
-rw-r--r-- | src/components/sidebar.rs | 20 |
2 files changed, 31 insertions, 0 deletions
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! { <div class="sidebar-drawer behind-hovering"></div> } + .into_any() + } else { + view! {}.into_any() + } + }} <div class:sidebar-drawer=true class:sidebar-hovering-drawer=move || { @@ -180,6 +190,16 @@ pub fn Sidebar() -> impl IntoView { } SidebarOpen::Chats => { view! { + {move || { + if *open.read() == None + && *hovered.read() == Some(SidebarOpen::Chats) + { + view! { <div class="sidebar-drawer behind-hovering"></div> } + .into_any() + } else { + view! {}.into_any() + } + }} <div class:sidebar-drawer=true class:sidebar-hovering-drawer=move || { |