Fixes for nav_button macro

This commit is contained in:
Jeremy Soller 2022-12-19 15:43:05 -07:00 committed by Michael Murphy
parent e8291584c4
commit a716e0837d

View file

@ -7,15 +7,43 @@ pub mod nav_bar {
#[macro_export] #[macro_export]
macro_rules! nav_button { macro_rules! nav_button {
($icon: expr, $title:expr, $condensed:expr) => {{ ($icon: expr, $title:expr, $condensed:expr, $active:expr) => {{
if $condensed { if $condensed {
$crate::iced::widget::Button::new($crate::widget::icon($icon, 22)).padding(8) $crate::iced::widget::Button::new(
} else { $crate::widget::icon($icon, 22)
$crate::widget::button!( .style(if $active {
$crate::widget::icon($icon, 22), $crate::theme::Svg::SymbolicPrimary
$crate::iced::widget::Text::new($title), } else {
$crate::iced::widget::horizontal_space($crate::iced::Length::Fill), $crate::theme::Svg::Symbolic
})
) )
.padding(8)
.style(if $active {
$crate::theme::Button::Primary
} else {
$crate::theme::Button::Text
})
} else {
$crate::iced::widget::Button::new(
$crate::iced::widget::row!(
$crate::widget::icon($icon, 16)
.style(if $active {
$crate::theme::Svg::SymbolicPrimary
} else {
$crate::theme::Svg::Symbolic
}),
$crate::iced::widget::Text::new($title)
.vertical_alignment($crate::iced::alignment::Vertical::Center),
$crate::iced::widget::horizontal_space($crate::iced::Length::Fill),
)
.padding([0, 16])
.spacing(8)
)
.style(if $active {
$crate::theme::Button::Primary
} else {
$crate::theme::Button::Text
})
} }
}}; }};
} }