sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
75 lines (74 loc) • 3.54 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { c } from "react-compiler-runtime";
import { memo, useState, useEffect, startTransition } from "react";
import { getPublishedId, usePerspective, useEditState } from "sanity";
function PostMessageRefreshMutations(props) {
const $ = c(9), {
comlink,
type,
previewKitConnection,
loadersConnection
} = props;
let t0, t1;
$[0] !== props.id ? (t1 = getPublishedId(props.id), $[0] = props.id, $[1] = t1) : t1 = $[1], t0 = t1;
const id = t0, {
selectedReleaseId
} = usePerspective(), {
draft,
published,
ready,
version
} = useEditState(id, type, "low", selectedReleaseId), livePreviewEnabled = previewKitConnection === "connected" || loadersConnection === "connected";
if (ready && draft || published) {
let t2;
return $[2] !== comlink || $[3] !== draft || $[4] !== id || $[5] !== livePreviewEnabled || $[6] !== published || $[7] !== version ? (t2 = /* @__PURE__ */ jsx(PostMessageRefreshMutationsInner, { comlink, draft, livePreviewEnabled, published, version }, id), $[2] = comlink, $[3] = draft, $[4] = id, $[5] = livePreviewEnabled, $[6] = published, $[7] = version, $[8] = t2) : t2 = $[8], t2;
}
return null;
}
function PostMessageRefreshMutationsInner(props) {
const $ = c(18), {
comlink,
draft,
published,
livePreviewEnabled,
version
} = props, [prevDraft, setPrevDraft] = useState(draft), [prevPublished, setPrevPublished] = useState(published), [prevVersion, setPrevVersion] = useState(version);
let t0;
$[0] !== comlink || $[1] !== draft || $[2] !== livePreviewEnabled || $[3] !== prevDraft?._rev || $[4] !== prevPublished?._rev || $[5] !== prevVersion?._rev || $[6] !== published || $[7] !== version ? (t0 = () => {
prevVersion?._rev !== version?._rev && (startTransition(() => setPrevVersion(version)), version && comlink?.post("presentation/refresh", {
source: "mutation",
livePreviewEnabled,
document: parseDocument(version)
})), prevDraft?._rev !== draft?._rev && (startTransition(() => setPrevDraft(draft)), draft && comlink?.post("presentation/refresh", {
source: "mutation",
livePreviewEnabled,
document: parseDocument(draft)
})), prevPublished?._rev !== published?._rev && (startTransition(() => setPrevPublished(published)), published && comlink?.post("presentation/refresh", {
source: "mutation",
livePreviewEnabled,
document: parseDocument(published)
}));
}, $[0] = comlink, $[1] = draft, $[2] = livePreviewEnabled, $[3] = prevDraft?._rev, $[4] = prevPublished?._rev, $[5] = prevVersion?._rev, $[6] = published, $[7] = version, $[8] = t0) : t0 = $[8];
const t1 = prevDraft?._rev, t2 = prevPublished?._rev, t3 = prevVersion?._rev;
let t4;
return $[9] !== comlink || $[10] !== draft || $[11] !== livePreviewEnabled || $[12] !== published || $[13] !== t1 || $[14] !== t2 || $[15] !== t3 || $[16] !== version ? (t4 = [comlink, draft, livePreviewEnabled, t1, t2, published, t3, version], $[9] = comlink, $[10] = draft, $[11] = livePreviewEnabled, $[12] = published, $[13] = t1, $[14] = t2, $[15] = t3, $[16] = version, $[17] = t4) : t4 = $[17], useEffect(t0, t4), null;
}
function parseDocument(document) {
const {
_id,
_type,
_rev,
slug
} = document;
return {
_id,
_type,
_rev,
slug
};
}
var PostMessageRefreshMutations$1 = memo(PostMessageRefreshMutations);
export {
PostMessageRefreshMutations$1 as default
};
//# sourceMappingURL=PostMessageRefreshMutations.mjs.map