use theme border color for dialog cards

This commit is contained in:
2026-10-09 21:29:49 +07:00
parent c0cfdb8996
commit b61ac643db
2 changed files with 14 additions and 20 deletions
+13 -19
View File
@@ -6,7 +6,7 @@ use gpui::{
Pixels, RenderOnce, SharedString, StyleRefinement, Styled, Window, div, px, transparent_black, Pixels, RenderOnce, SharedString, StyleRefinement, Styled, Window, div, px, transparent_black,
}; };
use gpui_base::{DialogBackdrop, DialogPopup, DialogTitle}; use gpui_base::{DialogBackdrop, DialogPopup, DialogTitle};
use theme::{ActiveTheme, SCRIM_ALPHA_DARK, hairline, scrim, surface_radius, surface_shadows}; use theme::{ActiveTheme, SCRIM_ALPHA_DARK, scrim, surface_radius, surface_shadows};
use crate::button::{Button, ButtonCustomVariant, ButtonVariant, ButtonVariants as _}; use crate::button::{Button, ButtonCustomVariant, ButtonVariant, ButtonVariants as _};
use crate::motion::DIALOG_IN; use crate::motion::DIALOG_IN;
@@ -276,18 +276,16 @@ impl RenderOnce for Dialog {
.when(self.overlay_visible, |this| { .when(self.overlay_visible, |this| {
this.bg(scrim(SCRIM_ALPHA_DARK)) this.bg(scrim(SCRIM_ALPHA_DARK))
}) })
.with_animation( .with_animation("fade-in", DIALOG_IN.animation(), move |this, delta| {
"fade-in", this.opacity(delta)
DIALOG_IN.animation(), });
move |this, delta| this.opacity(delta),
);
let card = DialogPopup::new() let card = DialogPopup::new()
.flex() .flex()
.flex_col() .flex_col()
.bg(cx.theme().surface_dialog) .bg(cx.theme().surface_dialog)
.border_1() .border_1()
.border_color(hairline(0.4)) .border_color(cx.theme().border)
.rounded(px(surface_radius())) .rounded(px(surface_radius()))
.when(cx.theme().shadow, |this| this.shadow(surface_shadows())) .when(cx.theme().shadow, |this| this.shadow(surface_shadows()))
.min_h_24() .min_h_24()
@@ -370,18 +368,14 @@ impl RenderOnce for Dialog {
.children(footer(render_ok, render_cancel, window, cx)), .children(footer(render_ok, render_cancel, window, cx)),
) )
}) })
.with_animation( .with_animation("slide-down", DIALOG_IN.animation(), move |this, delta| {
"slide-down", let y_offset = px(2.) * (delta - 1.);
DIALOG_IN.animation(), let mut shadow = surface_shadows();
move |this, delta| { for shadow in &mut shadow {
let y_offset = px(2.) * (delta - 1.); shadow.color.a *= delta;
let mut shadow = surface_shadows(); }
for shadow in &mut shadow { this.top(y_offset).shadow(shadow)
shadow.color.a *= delta; });
}
this.top(y_offset).shadow(shadow)
},
);
gpui_base::Dialog::new(cx) gpui_base::Dialog::new(cx)
.layer(layer_ix, is_topmost) .layer(layer_ix, is_topmost)
+1 -1
View File
@@ -109,7 +109,7 @@ impl RenderOnce for Nav {
cx.theme().text_muted cx.theme().text_muted
}; };
v_flex().h_10().w_full().items_center().child( v_flex().h_10().w_full().justify_center().child(
h_flex() h_flex()
.id(self.id) .id(self.id)
.h_9() .h_9()