videosphere
    Preparing search index...
    interface LivestreamMetadataModalProps {
        mode: "edit" | "create";
        value: LivestreamEditorValues;
        initialConnectionSnapshots: LivestreamConnectionSnapshot[];
        initialConnectionsResolved: boolean;
        isSaving: boolean;
        onScheduled?: () => void | Promise<void>;
        onClose: () => void;
        onSave: (
            options?: {
                closeAfterSave?: boolean;
                suppressErrorToast?: boolean;
                values?: LivestreamEditorValues;
            },
        ) => Promise<{ saved: boolean; livestreamId?: string; message?: string }>;
        onChange: (value: LivestreamEditorValues) => void;
        armedLivestreamsForKeySlot?: Pick<
            Livestream,
            "id"
            | "status"
            | "title"
            | "keySlot",
        >[];
        scheduledFacebookLivestreams?: Pick<Livestream, "id" | "status" | "title">[];
        onKeySlotChanged?: () => void | Promise<void>;
        onFacebookChanged?: () => void | Promise<void>;
    }
    Index

    Properties

    mode: "edit" | "create"

    Create vs edit label copy; save uses POST when id is empty.

    Current editor values, or null when closed.

    initialConnectionSnapshots: LivestreamConnectionSnapshot[]

    Connection snapshots from the list page (seed until refreshed).

    initialConnectionsResolved: boolean

    True once the connections request on the list page has settled.

    isSaving: boolean

    True while a save request is in flight.

    onScheduled?: () => void | Promise<void>

    Called after a livestream is successfully scheduled on YouTube.

    onClose: () => void

    Called when the user dismisses the modal.

    onSave: (
        options?: {
            closeAfterSave?: boolean;
            suppressErrorToast?: boolean;
            values?: LivestreamEditorValues;
        },
    ) => Promise<{ saved: boolean; livestreamId?: string; message?: string }>

    Persists editor values via POST or PATCH.

    Type Declaration

      • (
            options?: {
                closeAfterSave?: boolean;
                suppressErrorToast?: boolean;
                values?: LivestreamEditorValues;
            },
        ): Promise<{ saved: boolean; livestreamId?: string; message?: string }>
      • Parameters

        • Optionaloptions: {
              closeAfterSave?: boolean;
              suppressErrorToast?: boolean;
              values?: LivestreamEditorValues;
          }

          Optional save behavior.

          • OptionalcloseAfterSave?: boolean
          • OptionalsuppressErrorToast?: boolean
          • Optionalvalues?: LivestreamEditorValues

            Snapshot to persist; defaults to the current editor state when omitted.

        Returns Promise<{ saved: boolean; livestreamId?: string; message?: string }>

        Whether save succeeded and an optional toast message.

    onChange: (value: LivestreamEditorValues) => void

    Called whenever a field changes in the modal.

    armedLivestreamsForKeySlot?: Pick<
        Livestream,
        "id"
        | "status"
        | "title"
        | "keySlot",
    >[]

    Armed livestreams for stream-key conflict warnings when changing key slots.

    scheduledFacebookLivestreams?: Pick<Livestream, "id" | "status" | "title">[]

    Scheduled or live Facebook livestreams used to detect queued Facebook preparation.

    onKeySlotChanged?: () => void | Promise<void>

    Called after the stream key slot changes successfully.

    onFacebookChanged?: () => void | Promise<void>

    Called after Facebook arm/end succeeds so the list can refresh.