diff --git a/src/ui/note/post.rs b/src/ui/note/post.rs index 1308c17..3cfbc4c 100644 --- a/src/ui/note/post.rs +++ b/src/ui/note/post.rs @@ -209,7 +209,10 @@ impl<'a> PostView<'a> { ui.with_layout(egui::Layout::right_to_left(egui::Align::BOTTOM), |ui| { if ui - .add_sized([91.0, 32.0], egui::Button::new("Post now")) + .add_sized( + [91.0, 32.0], + post_button(!self.draft.buffer.is_empty()), + ) .clicked() { let new_post = NewPost::new( @@ -236,6 +239,23 @@ impl<'a> PostView<'a> { } } +fn post_button(interactive: bool) -> impl egui::Widget { + move |ui: &mut egui::Ui| { + let button = egui::Button::new("Post now"); + if interactive { + ui.add(button) + } else { + ui.add( + button + .sense(egui::Sense::hover()) + .fill(ui.visuals().widgets.noninteractive.bg_fill) + .stroke(ui.visuals().widgets.noninteractive.bg_stroke), + ) + .on_hover_cursor(egui::CursorIcon::NotAllowed) + } + } +} + mod preview { use super::*;