Add push_maybe to Column and Row

This commit is contained in:
Héctor Ramón Jiménez 2024-02-15 02:38:07 +01:00
parent e57668d677
commit feab96f323
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
9 changed files with 144 additions and 95 deletions

View file

@ -56,22 +56,18 @@ impl Sandbox for Tour {
fn view(&self) -> Element<Message> {
let Tour { steps, .. } = self;
let mut controls = row![];
if steps.has_previous() {
controls = controls.push(
let controls = row![]
.push_maybe(steps.has_previous().then(|| {
button("Back")
.on_press(Message::BackPressed)
.style(theme::Button::Secondary),
.style(theme::Button::Secondary)
}))
.push(horizontal_space())
.push_maybe(
steps
.can_continue()
.then(|| button("Next").on_press(Message::NextPressed)),
);
}
controls = controls.push(horizontal_space());
if steps.can_continue() {
controls =
controls.push(button("Next").on_press(Message::NextPressed));
}
let content: Element<_> = column![
steps.view(self.debug).map(Message::StepMessage),