Remove push_maybe from stack widget

This commit is contained in:
Héctor Ramón Jiménez 2025-09-23 02:23:12 +02:00
parent 8a1462b54c
commit 145534c92e
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
2 changed files with 16 additions and 27 deletions

View file

@ -344,11 +344,10 @@ where
.background(Color::BLACK.scale_alpha(0.8))
});
Some(setup)
Some(themer(theme(), Element::from(setup).map(Event::Message)))
} else {
None
}
.map(|setup| themer(theme(), Element::from(setup).map(Event::Message)));
};
let notification = self
.show_notification
@ -359,12 +358,8 @@ where
"Types have changed. Restart to re-enable hotpatching.",
)
})
});
stack![view]
.height(Fill)
.push_maybe(setup.map(opaque))
.push_maybe(notification.map(|notification| {
})
.map(|notification| {
themer(
theme(),
bottom_right(opaque(
@ -373,7 +368,11 @@ where
.style(container::dark),
)),
)
}))
});
stack![view, setup, notification]
.width(Fill)
.height(Fill)
.into()
}

View file

@ -84,30 +84,20 @@ where
child: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Self {
let child = child.into();
let child_size = child.as_widget().size_hint();
if self.children.is_empty() {
let child_size = child.as_widget().size_hint();
if !child_size.is_void() {
if self.children.is_empty() {
self.width = self.width.enclose(child_size.width);
self.height = self.height.enclose(child_size.height);
}
self.width = self.width.enclose(child_size.width);
self.height = self.height.enclose(child_size.height);
self.children.push(child);
}
self.children.push(child);
self
}
/// Adds an element to the [`Stack`], if `Some`.
pub fn push_maybe(
self,
child: Option<impl Into<Element<'a, Message, Theme, Renderer>>>,
) -> Self {
if let Some(child) = child {
self.push(child)
} else {
self
}
}
/// Extends the [`Stack`] with the given children.
pub fn extend(
self,