From 60400a78d1d5e7489350081176fdd5c8f53af2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Sat, 9 May 2026 18:43:03 -0400 Subject: [PATCH] Normalize hover/active feedback across chrome surfaces Brings hover/active opacity feedback to a consistent 0.92/0.82 baseline across the omnibar content, the home search pill, and the workspace picker tile + add button. The home search pill and the omnibar styled URL display previously had no hover state at all, so the click target felt invisible. The motion design framework wants every interactive element to acknowledge hover and click; this change closes the gap without introducing new keyframe animations (GPUI 0.2.2 has no transition layer to drive them). --- crates/ely_app/src/shell/chrome/home/hero.rs | 2 ++ crates/ely_app/src/shell/chrome/sidebar_header.rs | 6 +++--- crates/ely_app/src/shell/chrome/topbar.rs | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/ely_app/src/shell/chrome/home/hero.rs b/crates/ely_app/src/shell/chrome/home/hero.rs index f4cea0f..1e6cafe 100644 --- a/crates/ely_app/src/shell/chrome/home/hero.rs +++ b/crates/ely_app/src/shell/chrome/home/hero.rs @@ -62,6 +62,8 @@ fn render_search_bar(cx: &mut Context) -> AnyElement { .items_center() .gap(px(12.0)) .cursor_pointer() + .hover(|style| style.opacity(0.94)) + .active(|style| style.opacity(0.85)) .on_click(cx.listener(|shell, _, window, cx| { shell.focus_address_bar(window, cx); })) diff --git a/crates/ely_app/src/shell/chrome/sidebar_header.rs b/crates/ely_app/src/shell/chrome/sidebar_header.rs index a5c74a7..0310c7f 100644 --- a/crates/ely_app/src/shell/chrome/sidebar_header.rs +++ b/crates/ely_app/src/shell/chrome/sidebar_header.rs @@ -86,8 +86,8 @@ fn render_workspaces_tile(cx: &mut Context) -> AnyElement { .justify_center() .text_color(rgb(colors::ACCENT)) .cursor_pointer() - .hover(|style| style.opacity(0.85)) - .active(|style| style.opacity(0.7)) + .hover(|style| style.opacity(0.92)) + .active(|style| style.opacity(0.82)) .on_click(cx.listener(|shell, _, window, cx| { shell.open_internal_tab("ely://settings/spaces", window, cx); })) @@ -171,7 +171,7 @@ fn render_add_workspace_button(cx: &mut Context) -> AnyElement { .text_color(rgb(colors::INK_3)) .cursor_pointer() .hover(|style| style.bg(rgba(PICKER_BG)).text_color(rgb(colors::INK))) - .active(|style| style.opacity(0.7)) + .active(|style| style.opacity(0.82)) .on_click(cx.listener(|shell, _, window, cx| { shell.open_internal_tab("ely://settings/spaces", window, cx); })) diff --git a/crates/ely_app/src/shell/chrome/topbar.rs b/crates/ely_app/src/shell/chrome/topbar.rs index 8834ba5..6e5ccb5 100644 --- a/crates/ely_app/src/shell/chrome/topbar.rs +++ b/crates/ely_app/src/shell/chrome/topbar.rs @@ -96,6 +96,7 @@ fn render_omnibar( .flex_1() .min_w_0() .cursor_pointer() + .hover(|style| style.opacity(0.92)) .on_click(cx.listener(|shell, _, window, cx| { shell.focus_address_bar(window, cx); }))