use crate::ui::{Model, theme};
fn notice_ink(notice: &crate::ui::Notice) -> egui::Color32 {
match notice {
crate::ui::Notice::Said(_) => theme::accent(theme::State::Annotation),
_ => theme::accent(theme::State::Error),
}
}
pub(super) fn render(ctx: &egui::Context, model: &mut Model) {
let Some(notice) = model.notice.clone() else {
return;
};
egui::TopBottomPanel::top("notice").show(ctx, |ui| {
ui.horizontal_top(|ui| {
if ui.button(DISMISS).clicked() {
model.dismiss();
}
ui.add(
egui::Label::new(egui::RichText::new(notice.line()).color(notice_ink(¬ice)))
.wrap(),
);
});
});
}
pub const DISMISS: &str = "×";