fix modal (dialog)
This commit is contained in:
+31
-24
@@ -401,34 +401,41 @@ impl RenderOnce for Modal {
|
|||||||
.flex()
|
.flex()
|
||||||
.items_center()
|
.items_center()
|
||||||
.justify_center()
|
.justify_center()
|
||||||
|
.relative()
|
||||||
.when_some(self.title, |this, title| {
|
.when_some(self.title, |this, title| {
|
||||||
this.h_10().font_semibold().text_center().child(title)
|
this.h_10().font_semibold().text_center().child(title)
|
||||||
|
})
|
||||||
|
.when(self.show_close, |this| {
|
||||||
|
let on_cancel = on_cancel.clone();
|
||||||
|
let on_close = on_close.clone();
|
||||||
|
|
||||||
|
this.child(
|
||||||
|
div()
|
||||||
|
.absolute()
|
||||||
|
.top_0()
|
||||||
|
.bottom_0()
|
||||||
|
.right_2()
|
||||||
|
.flex()
|
||||||
|
.items_center()
|
||||||
|
.child(
|
||||||
|
Button::new("close")
|
||||||
|
.icon(IconName::CloseCircleFill)
|
||||||
|
.custom(
|
||||||
|
ButtonCustomVariant::new(window, cx)
|
||||||
|
.foreground(cx.theme().icon_muted)
|
||||||
|
.color(cx.theme().ghost_element_background)
|
||||||
|
.hover(cx.theme().ghost_element_background)
|
||||||
|
.active(cx.theme().ghost_element_background),
|
||||||
|
)
|
||||||
|
.on_click(move |_, window, cx| {
|
||||||
|
on_cancel(&ClickEvent::default(), window, cx);
|
||||||
|
on_close(&ClickEvent::default(), window, cx);
|
||||||
|
window.close_modal(cx);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
)
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.when(self.show_close, |this| {
|
|
||||||
let on_cancel = on_cancel.clone();
|
|
||||||
let on_close = on_close.clone();
|
|
||||||
|
|
||||||
this.child(
|
|
||||||
Button::new("close")
|
|
||||||
.icon(IconName::CloseCircleFill)
|
|
||||||
.absolute()
|
|
||||||
.top_1p5()
|
|
||||||
.right_2()
|
|
||||||
.custom(
|
|
||||||
ButtonCustomVariant::new(window, cx)
|
|
||||||
.foreground(cx.theme().icon_muted)
|
|
||||||
.color(cx.theme().ghost_element_background)
|
|
||||||
.hover(cx.theme().ghost_element_background)
|
|
||||||
.active(cx.theme().ghost_element_background),
|
|
||||||
)
|
|
||||||
.on_click(move |_, window, cx| {
|
|
||||||
on_cancel(&ClickEvent::default(), window, cx);
|
|
||||||
on_close(&ClickEvent::default(), window, cx);
|
|
||||||
window.close_modal(cx);
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
})
|
|
||||||
.child(
|
.child(
|
||||||
div()
|
div()
|
||||||
.pt_px()
|
.pt_px()
|
||||||
|
|||||||
Reference in New Issue
Block a user