Match split-pane header to design (accent dot + tab title)

The design's split.jsx Pane header leads with an 8 px brand-accent dot,
the lock indicator, host name in INK, then the tab title in INK_4.
The previous header rendered a 24 px brand glyph plus the URL path —
visually heavier and less informative once both panes share most of
their URL prefix.

* brand_glyph: `brand_accent_color(brand)` and `accent_color_for_host`
  collapse each Brand to one design-matching dot color (Figma 7c6cf7,
  Linear 5e6ad2, etc.).
* split_pane: 32 → 30 px header, glyph → 8 px dot, URL path → tab
  title in INK_4. `pane_path_label` deleted; nothing else used it.

cargo test --workspace: 440 passed, 0 failed.
This commit is contained in:
2026-05-09 20:34:06 -04:00
parent a92f478e21
commit cbcc45bd7b
4 changed files with 51 additions and 28 deletions
+3 -9
View File
@@ -11,7 +11,7 @@ use gpui_component::{
};
use super::chrome::{
pane_host_label, pane_path_label, pane_url_is_secure, render_compact_split_canvas,
pane_host_label, pane_url_is_secure, render_compact_split_canvas,
render_split_pane_header,
};
use super::{ElyShell, ShellState};
@@ -190,14 +190,8 @@ impl ElyShell {
let close_tab_id = tab.id().clone();
let border = if active { colors::ACCENT } else { colors::HAIRLINE_STRONG };
let host = pane_host_label(tab);
let path = pane_path_label(tab);
let title = tab.title().to_string();
let secure = pane_url_is_secure(tab);
let glyph_initial = tab
.title()
.chars()
.next()
.unwrap_or('?')
.to_string();
div()
.id(SharedString::from(format!("split-pane-{}", tab.id().as_str())))
@@ -217,7 +211,7 @@ impl ElyShell {
.on_click(cx.listener(move |shell, _, window, cx| {
shell.select_tab(&tab_id, window, cx);
}))
.child(render_split_pane_header(host, path, secure, glyph_initial, close_tab_id, cx))
.child(render_split_pane_header(host, title, secure, close_tab_id, cx))
.child(div().flex_1().min_h_0().overflow_hidden().child(if compact_canvas {
render_compact_split_canvas(tab)
} else {