//! Publish lifecycle phase for the single-page publish flow. //! //! The durable composition lives in [`DraftThingInput`](super::draft); this //! type is the *ephemeral* publish-action lifecycle, surfaced as the persistent //! status indicator. /// Lifecycle of the publish action, surfaced as the persistent status indicator. #[derive(Clone, PartialEq, Debug)] pub enum PublishPhase { /// Drafting; nothing is public. Editing, /// A publish request is in flight. Publishing, /// Published; the thing is reachable at this repo/rkey. Published { repo: String, rkey: String }, /// The publish attempt failed; the draft is preserved. Failed(String), }