summaryrefslogtreecommitdiffstats
path: root/gui/src/app/message.rs
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/app/message.rs')
-rw-r--r--gui/src/app/message.rs72
1 files changed, 72 insertions, 0 deletions
diff --git a/gui/src/app/message.rs b/gui/src/app/message.rs
new file mode 100644
index 0000000..60d9433
--- /dev/null
+++ b/gui/src/app/message.rs
@@ -0,0 +1,72 @@
+use std::sync::Arc;
+
+use cid::Cid;
+use tokio::sync::RwLock;
+
+use distrox_lib::gossip::GossipMessage;
+use distrox_lib::profile::Profile;
+use distrox_lib::types::Payload;
+
+use crate::gossip::GossipRecipe;
+
+#[derive(Clone, Debug)]
+pub enum Message {
+ Loaded(Arc<RwLock<Profile>>),
+ FailedToLoad(String),
+ ProfileStateSaved,
+ ProfileStateSavingFailed(String),
+
+ ToggleLog,
+
+ GossipMessage(ipfs::PeerId, GossipMessage),
+ GossipSubscriptionFailed(String),
+ GossipHandled(GossipMessage),
+
+ PublishGossipAboutMe,
+ OwnStateGossipped,
+ GossippingFailed(String),
+
+ InputChanged(String),
+ CreatePost,
+
+ PostCreated(Cid),
+ PostCreationFailed(String),
+
+ PostLoaded((Payload, String)),
+ PostLoadingFailed,
+
+ TimelineScrolled(f32),
+}
+
+impl Message {
+ pub fn description(&self) -> &'static str {
+ match self {
+ Message::Loaded(_) => "Loaded",
+ Message::FailedToLoad(_) => "FailedToLoad",
+ Message::ProfileStateSaved => "ProfileStateSaved",
+ Message::ProfileStateSavingFailed(_) => "ProfileStateSavingFailed",
+
+ Message::ToggleLog => "ToggleLog",
+
+ Message::GossipMessage(_, _) => "GossipMessage",
+ Message::GossipSubscriptionFailed(_) => "GossipSubscriptionFailed",
+ Message::GossipHandled(_) => "GossipHandled",
+
+ Message::PublishGossipAboutMe => "PublishGossipAboutMe",
+ Message::OwnStateGossipped => "OwnStateGossipped",
+ Message::GossippingFailed(_) => "GossippingFailed",
+
+ Message::InputChanged(_) => "InputChanged",
+ Message::CreatePost => "CreatePost",
+
+ Message::PostCreated(_) => "PostCreated",
+ Message::PostCreationFailed(_) => "PostCreationFailed",
+
+ Message::PostLoaded(_) => "PostLoaded",
+ Message::PostLoadingFailed => "PostLoadingFailed",
+
+ Message::TimelineScrolled(_) => "TimelineScrolled",
+ }
+ }
+}
+