refactor: simplify view code

This commit is contained in:
electria 2026-10-31 18:25:24 -07:00
commit 1ed7ee6c1c
Signed by: electria
SSH key fingerprint: SHA256:8LlB3ucPbBHqozqkhsNbaV5oG3SlzzqUj8FZDL6IPQs

View file

@ -68,10 +68,8 @@ impl State {
let main = self.image_display.as_ref().map_or_else( let main = self.image_display.as_ref().map_or_else(
|| { || {
widget::container(widget::text(include_str!("usage.txt"))) widget::container(widget::text(include_str!("usage.txt")))
.height(Length::Fill) .center_x(Length::Fill)
.width(Length::Fill) .center_y(Length::Fill)
.align_x(Alignment::Center)
.align_y(Alignment::Center)
.boxed() .boxed()
}, },
|allocation| { |allocation| {
@ -85,20 +83,22 @@ impl State {
}, },
); );
let mut bar = Vec::new(); let error = self
if let Some(error) = self.error.as_ref() { .error
bar.push(widget::text(error).style(widget::text::danger).boxed()); .as_ref()
} .map(|error| widget::text(error).style(widget::text::danger));
if self.infobar_shown && self.info.is_some() {
bar.push( let info = if self.infobar_shown && self.info.is_some() {
Some(
widget::container(widget::text(self.title())) widget::container(widget::text(self.title()))
.align_x(Alignment::End) .align_x(Alignment::End)
.width(Length::Fill) .width(Length::Fill),
.boxed(), )
); } else {
} None
};
widget::column([main, widget::row(bar).boxed()]) widget::column![main, widget::row![error, info]]
} }
fn update(&mut self, message: Message) -> Task<Message> { fn update(&mut self, message: Message) -> Task<Message> {
match message { match message {