@realiizlabs/admin 0.15.6 → 0.15.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Sidebar-Bo6ANnEY.d.cts → Sidebar-Cx9bvOYi.d.cts} +3 -1
- package/dist/{Sidebar-Bo6ANnEY.d.ts → Sidebar-Cx9bvOYi.d.ts} +3 -1
- package/dist/shell/index.cjs +11 -5
- package/dist/shell/index.cjs.map +1 -1
- package/dist/shell/index.d.cts +5 -4
- package/dist/shell/index.d.ts +5 -4
- package/dist/shell/index.js +11 -5
- package/dist/shell/index.js.map +1 -1
- package/dist/studio/index.cjs +14 -2
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.d.cts +16 -1
- package/dist/studio/index.d.ts +16 -1
- package/dist/studio/index.js +14 -2
- package/dist/studio/index.js.map +1 -1
- package/dist/studio-ui/index.cjs +95 -28
- package/dist/studio-ui/index.cjs.map +1 -1
- package/dist/studio-ui/index.d.cts +14 -4
- package/dist/studio-ui/index.d.ts +14 -4
- package/dist/studio-ui/index.js +95 -28
- package/dist/studio-ui/index.js.map +1 -1
- package/package.json +2 -2
package/dist/studio-ui/index.cjs
CHANGED
|
@@ -250,7 +250,7 @@ var OutIcon = () => /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...ico, children: [
|
|
|
250
250
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 17l5-5-5-5" }),
|
|
251
251
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 12H9" })
|
|
252
252
|
] });
|
|
253
|
-
function AccountMenu({ user, role, theme, onTheme, signOutPath, accountHref, helpHref, siteUrl }) {
|
|
253
|
+
function AccountMenu({ user, role, theme, onTheme, signOutPath, accountHref, helpHref, siteUrl, version }) {
|
|
254
254
|
const [open, setOpen] = react.useState(false);
|
|
255
255
|
const wrap = react.useRef(null);
|
|
256
256
|
react.useEffect(() => {
|
|
@@ -303,11 +303,15 @@ function AccountMenu({ user, role, theme, onTheme, signOutPath, accountHref, hel
|
|
|
303
303
|
/* @__PURE__ */ jsxRuntime.jsx("form", { method: "post", action: signOutPath, className: "rz-menu__signout", children: /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "submit", role: "menuitem", className: "rz-menu__item", children: [
|
|
304
304
|
/* @__PURE__ */ jsxRuntime.jsx(OutIcon, {}),
|
|
305
305
|
"Sign out"
|
|
306
|
-
] }) })
|
|
306
|
+
] }) }),
|
|
307
|
+
version && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rz-menu__version", children: [
|
|
308
|
+
"Studio ",
|
|
309
|
+
version
|
|
310
|
+
] })
|
|
307
311
|
] })
|
|
308
312
|
] });
|
|
309
313
|
}
|
|
310
|
-
function TopBar({ siteName, productName, logoUrl, homeHref, siteUrl, user, role, theme, onTheme, signOutPath, accountHref, helpHref }) {
|
|
314
|
+
function TopBar({ siteName, productName, logoUrl, homeHref, siteUrl, user, role, theme, onTheme, signOutPath, accountHref, helpHref, version }) {
|
|
311
315
|
return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "rz-topbar", children: [
|
|
312
316
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
313
317
|
"a",
|
|
@@ -328,7 +332,7 @@ function TopBar({ siteName, productName, logoUrl, homeHref, siteUrl, user, role,
|
|
|
328
332
|
"Welcome back, ",
|
|
329
333
|
firstNameOf(user)
|
|
330
334
|
] }),
|
|
331
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccountMenu, { user, role, theme, onTheme, signOutPath, accountHref, helpHref, siteUrl })
|
|
335
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccountMenu, { user, role, theme, onTheme, signOutPath, accountHref, helpHref, siteUrl, version })
|
|
332
336
|
] })
|
|
333
337
|
] });
|
|
334
338
|
}
|
|
@@ -409,6 +413,7 @@ var SHELL_CSS = `
|
|
|
409
413
|
.rz-sidebar__collapse:hover { color: var(--text-primary); }
|
|
410
414
|
.rz-sidebar__collapse svg { flex-shrink: 0; }
|
|
411
415
|
.rz-sidebar--collapsed .rz-sidebar__collapse { justify-content: center; padding: .6rem 0; }
|
|
416
|
+
.rz-menu__version { padding: .45rem 1rem .55rem; border-top: 1px solid var(--separator); font-family: var(--rz-font-mono); font-size: .6875rem; letter-spacing: .04em; color: var(--text-muted); }
|
|
412
417
|
.rz-sidebar__version { display: block; padding: 0 1rem .75rem; font-family: var(--rz-font-mono); font-size: .6875rem; letter-spacing: .04em; color: var(--text-muted); opacity: .8; white-space: nowrap; }
|
|
413
418
|
.rz-sidebar--collapsed .rz-sidebar__version { padding: 0 0 .75rem; text-align: center; }
|
|
414
419
|
.rz-main { flex: 1; min-width: 0; }
|
|
@@ -640,7 +645,8 @@ function AdminShell({
|
|
|
640
645
|
onTheme: setTheme,
|
|
641
646
|
signOutPath: signOutPath ?? `${basePath}/auth/signout`,
|
|
642
647
|
accountHref: accountHref === null ? void 0 : accountHref ?? `${basePath}/account`,
|
|
643
|
-
helpHref: helpHref === null ? void 0 : helpHref ?? `${basePath}/help
|
|
648
|
+
helpHref: helpHref === null ? void 0 : helpHref ?? `${basePath}/help`,
|
|
649
|
+
version
|
|
644
650
|
}
|
|
645
651
|
),
|
|
646
652
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rz-body", children: [
|
|
@@ -733,7 +739,7 @@ function Tabs({ options, value, onChange, label = "Sections" }) {
|
|
|
733
739
|
}
|
|
734
740
|
|
|
735
741
|
// src/version.ts
|
|
736
|
-
var ADMIN_VERSION = "0.15.
|
|
742
|
+
var ADMIN_VERSION = "0.15.8" ;
|
|
737
743
|
|
|
738
744
|
// src/studio-ui/css.ts
|
|
739
745
|
var STUDIO_CSS = `
|
|
@@ -900,12 +906,20 @@ var STUDIO_CSS = `
|
|
|
900
906
|
.rz-admin .rz-help__search svg { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--text-muted); pointer-events: none; }
|
|
901
907
|
.rz-admin .rz-help__search input { width: 100%; padding-left: 2.6rem; font-size: 1rem; }
|
|
902
908
|
.rz-admin .rz-help__body { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 2rem; align-items: start; }
|
|
903
|
-
@media (max-width: 760px) { .rz-admin .rz-help__body { grid-template-columns: 1fr; gap: 1rem; } .rz-admin .rz-help__nav { display: flex; flex-wrap: wrap; gap: .25rem; } }
|
|
904
909
|
.rz-admin .rz-help__nav { position: sticky; top: calc(var(--rz-topbar) + 1rem); display: flex; flex-direction: column; gap: .1rem; }
|
|
905
|
-
.rz-admin .rz-help__navitem { padding: .45rem .75rem; border-radius: 6px; color: var(--text-secondary); text-decoration: none; font-size: .875rem; }
|
|
910
|
+
.rz-admin .rz-help__navitem { padding: .45rem .75rem; border-radius: 6px; color: var(--text-secondary); text-decoration: none; font-size: .875rem; white-space: nowrap; }
|
|
906
911
|
.rz-admin .rz-help__navitem:hover { background: var(--surface-2); color: var(--text-primary); }
|
|
907
912
|
.rz-admin .rz-help__navitem--active { background: var(--surface-2); color: var(--signal); font-weight: 500; }
|
|
908
913
|
.rz-admin .rz-help__main { max-width: 44rem; min-width: 0; }
|
|
914
|
+
/* Phones: sections become one row of chips that scrolls sideways above the content (must come
|
|
915
|
+
after the desktop rules above \u2014 same specificity, last one wins). */
|
|
916
|
+
@media (max-width: 760px) {
|
|
917
|
+
.rz-admin .rz-help__body { grid-template-columns: 1fr; gap: 1rem; }
|
|
918
|
+
.rz-admin .rz-help__nav { position: static; flex-direction: row; gap: .35rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0 -14px; padding: .1rem 14px .4rem; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2.5rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 2.5rem), transparent); }
|
|
919
|
+
.rz-admin .rz-help__nav::-webkit-scrollbar { display: none; }
|
|
920
|
+
.rz-admin .rz-help__navitem { flex: 0 0 auto; border: 1px solid var(--border); border-radius: 999px; padding: .4rem .8rem; background: var(--surface-1); }
|
|
921
|
+
.rz-admin .rz-help__navitem--active { border-color: var(--signal); }
|
|
922
|
+
}
|
|
909
923
|
.rz-admin .rz-help__h { font-family: var(--rz-font-display); font-size: 1.5rem; font-weight: 600; letter-spacing: -.01em; margin: 0 0 .35rem; }
|
|
910
924
|
.rz-admin .rz-help__blurb { color: var(--text-secondary); margin: 0 0 1.25rem; }
|
|
911
925
|
.rz-admin .rz-help__count { color: var(--text-muted); font-size: .85rem; margin: 0 0 .75rem; }
|
|
@@ -943,6 +957,10 @@ var STUDIO_CSS = `
|
|
|
943
957
|
.rz-admin .rz-update--strip { margin: 0 0 1.5rem; }
|
|
944
958
|
.rz-admin .rz-update__row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.1rem; }
|
|
945
959
|
.rz-admin .rz-update__title { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; color: var(--text-primary); }
|
|
960
|
+
.rz-admin .rz-update--line { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; padding: .55rem 1.1rem; font-size: .875rem; }
|
|
961
|
+
.rz-admin .rz-update--line .rz-update__later { margin-left: auto; }
|
|
962
|
+
.rz-admin .rz-update__row .rz-update__done { flex: 1; margin-top: .5rem; }
|
|
963
|
+
.rz-admin .rz-update__row .rz-update__later { align-self: flex-end; margin-top: .5rem; }
|
|
946
964
|
.rz-admin .rz-update__title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--signal) 18%, transparent); }
|
|
947
965
|
.rz-admin .rz-update__link { display: inline-flex; align-items: center; gap: .3rem; background: none; border: 0; padding: 0; font: inherit; font-size: .875rem; color: var(--signal); cursor: pointer; text-decoration: none; }
|
|
948
966
|
.rz-admin .rz-update__link:hover { color: var(--text-primary); }
|
|
@@ -954,14 +972,16 @@ var STUDIO_CSS = `
|
|
|
954
972
|
`;
|
|
955
973
|
var POLL_MS = 8e3;
|
|
956
974
|
var LOCAL_FALLBACK_MS = 15e4;
|
|
975
|
+
var SLOW_MS = 4 * 6e4;
|
|
957
976
|
var GIVE_UP_MS = 15 * 6e4;
|
|
958
|
-
function useDeployed(active, mergedSha) {
|
|
977
|
+
function useDeployed(active, mergedSha, attempt = 0) {
|
|
959
978
|
const [state, setState] = react.useState("waiting");
|
|
960
979
|
react.useEffect(() => {
|
|
961
980
|
if (!active) return;
|
|
962
981
|
let stop = false;
|
|
963
982
|
let baseline;
|
|
964
983
|
const started = Date.now();
|
|
984
|
+
setState("waiting");
|
|
965
985
|
const read2 = async () => {
|
|
966
986
|
try {
|
|
967
987
|
const r = await fetch("/api/version", { cache: "no-store" });
|
|
@@ -985,22 +1005,24 @@ function useDeployed(active, mergedSha) {
|
|
|
985
1005
|
return;
|
|
986
1006
|
}
|
|
987
1007
|
if (elapsed >= GIVE_UP_MS) {
|
|
988
|
-
setState("
|
|
1008
|
+
setState("stalled");
|
|
989
1009
|
return;
|
|
990
1010
|
}
|
|
1011
|
+
if (elapsed >= SLOW_MS) setState("slow");
|
|
991
1012
|
setTimeout(tick, POLL_MS);
|
|
992
1013
|
};
|
|
993
1014
|
void tick();
|
|
994
1015
|
return () => {
|
|
995
1016
|
stop = true;
|
|
996
1017
|
};
|
|
997
|
-
}, [active, mergedSha]);
|
|
1018
|
+
}, [active, mergedSha, attempt]);
|
|
998
1019
|
return state;
|
|
999
1020
|
}
|
|
1000
1021
|
var KEY = "rz-update-installing";
|
|
1022
|
+
var MIN_KEY = "rz-update-minimized";
|
|
1001
1023
|
function readInstalling() {
|
|
1002
1024
|
try {
|
|
1003
|
-
const raw =
|
|
1025
|
+
const raw = localStorage.getItem(KEY);
|
|
1004
1026
|
if (!raw) return null;
|
|
1005
1027
|
const v = JSON.parse(raw);
|
|
1006
1028
|
return typeof v.version === "string" ? v : null;
|
|
@@ -1010,8 +1032,11 @@ function readInstalling() {
|
|
|
1010
1032
|
}
|
|
1011
1033
|
function writeInstalling(i) {
|
|
1012
1034
|
try {
|
|
1013
|
-
if (i)
|
|
1014
|
-
else
|
|
1035
|
+
if (i) localStorage.setItem(KEY, JSON.stringify(i));
|
|
1036
|
+
else {
|
|
1037
|
+
localStorage.removeItem(KEY);
|
|
1038
|
+
localStorage.removeItem(MIN_KEY);
|
|
1039
|
+
}
|
|
1015
1040
|
} catch {
|
|
1016
1041
|
}
|
|
1017
1042
|
}
|
|
@@ -1032,21 +1057,56 @@ function useInstalling() {
|
|
|
1032
1057
|
return [installing, update];
|
|
1033
1058
|
}
|
|
1034
1059
|
function InstallTracker({ installing, compact = false }) {
|
|
1035
|
-
const
|
|
1060
|
+
const { actions, supportName } = useStudio();
|
|
1061
|
+
const [attempt, setAttempt] = react.useState(0);
|
|
1062
|
+
const [nudge, setNudge] = react.useState(null);
|
|
1063
|
+
const deploy = useDeployed(true, installing.sha, attempt);
|
|
1036
1064
|
const live = deploy === "live";
|
|
1065
|
+
const late = deploy === "slow" || deploy === "stalled";
|
|
1066
|
+
const doNudge = async () => {
|
|
1067
|
+
if (!actions.nudgeBuild) return;
|
|
1068
|
+
setNudge("busy");
|
|
1069
|
+
const out = await actions.nudgeBuild();
|
|
1070
|
+
setNudge(out);
|
|
1071
|
+
if (out.state === "sent") setAttempt((n) => n + 1);
|
|
1072
|
+
};
|
|
1073
|
+
const [minimized, setMinimized] = react.useState(false);
|
|
1074
|
+
react.useEffect(() => {
|
|
1075
|
+
try {
|
|
1076
|
+
setMinimized(localStorage.getItem(MIN_KEY) === "1");
|
|
1077
|
+
} catch {
|
|
1078
|
+
}
|
|
1079
|
+
}, []);
|
|
1080
|
+
const minimize = (on) => {
|
|
1081
|
+
try {
|
|
1082
|
+
if (on) localStorage.setItem(MIN_KEY, "1");
|
|
1083
|
+
else localStorage.removeItem(MIN_KEY);
|
|
1084
|
+
} catch {
|
|
1085
|
+
}
|
|
1086
|
+
setMinimized(on);
|
|
1087
|
+
};
|
|
1088
|
+
const reload = /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "rz-update__link", onClick: () => window.location.reload(), children: "Reload Studio" });
|
|
1089
|
+
if (live || minimized && compact) {
|
|
1090
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rz-update rz-update--line${compact ? " rz-update--strip" : ""}`, role: "status", children: [
|
|
1091
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rz-update__title", children: live ? `Studio ${installing.version} is live` : `Installing Studio ${installing.version}` }),
|
|
1092
|
+
live ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1093
|
+
reload,
|
|
1094
|
+
" to start using it."
|
|
1095
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rz-muted", children: "The website is rebuilding \u2014 keep working." }),
|
|
1096
|
+
!live && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "rz-update__later", onClick: () => minimize(false), children: "Show progress" })
|
|
1097
|
+
] });
|
|
1098
|
+
}
|
|
1037
1099
|
const steps = [
|
|
1038
1100
|
{ label: "Updated", state: "done", note: `Studio ${installing.version}` },
|
|
1039
|
-
{ label: "Live", state:
|
|
1101
|
+
{ label: "Live", state: "active", note: late ? "Taking longer than usual" : "Rebuilding the website" }
|
|
1040
1102
|
];
|
|
1041
1103
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rz-update${compact ? " rz-update--strip" : ""}`, role: "status", children: [
|
|
1042
1104
|
/* @__PURE__ */ jsxRuntime.jsx(Steps, { steps }),
|
|
1043
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1044
|
-
"Studio ",
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
" to start using it \u2014 the version at the foot of the sidebar will change."
|
|
1049
|
-
] }) : "Update accepted. Nothing to do meanwhile \u2014 keep working. The website is rebuilding with the new Studio; this turns green when it's done, in about two minutes." })
|
|
1105
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rz-update__row", children: [
|
|
1106
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rz-update__done", children: !late ? "Update accepted. Nothing to do meanwhile \u2014 keep working. The website is rebuilding with the new Studio; usually a few minutes, sometimes longer. This turns green when it's done." : nudge === "busy" ? "Asking the hosting service to build again\u2026" : nudge?.state === "sent" ? "Asked. The rebuild should start within a minute; this turns green when it's done." : nudge?.state === "error" ? `That didn't work (${nudge.message}). Tell ${supportName} \u2014 it's a one-click fix on their side.` : nudge?.state === "unavailable" || !actions.nudgeBuild ? `This is taking longer than usual. Occasionally the hosting service misses a rebuild \u2014 tell ${supportName}; it's a one-click fix on their side, and nothing on your website has changed.` : "This is taking longer than usual. Occasionally the hosting service misses a rebuild. You can ask it again \u2014 it's safe to press, nothing on your website changes." }),
|
|
1107
|
+
late && actions.nudgeBuild && nudge !== "busy" && nudge?.state !== "sent" && nudge?.state !== "unavailable" && /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: doNudge, children: "Nudge the build" }),
|
|
1108
|
+
compact && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "rz-update__later", onClick: () => minimize(true), children: "Minimize" })
|
|
1109
|
+
] })
|
|
1050
1110
|
] });
|
|
1051
1111
|
}
|
|
1052
1112
|
var HIDE_KEY = "rz-update-later";
|
|
@@ -3179,7 +3239,7 @@ function PublishPanel({ number, htmlUrl, merged, closed = false, branch, removal
|
|
|
3179
3239
|
{
|
|
3180
3240
|
label: removal ? "Removed" : "Live",
|
|
3181
3241
|
state: onSite ? "done" : live ? "active" : "todo",
|
|
3182
|
-
note: onSite ? removal ? "Off the site" : "On the site" : live ? deploy === "
|
|
3242
|
+
note: onSite ? removal ? "Off the site" : "On the site" : live ? deploy === "waiting" ? "Rebuilding the website" : "Taking longer than usual" : "Automatic"
|
|
3183
3243
|
}
|
|
3184
3244
|
];
|
|
3185
3245
|
if (discarded) {
|
|
@@ -3201,7 +3261,7 @@ function PublishPanel({ number, htmlUrl, merged, closed = false, branch, removal
|
|
|
3201
3261
|
}
|
|
3202
3262
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3203
3263
|
/* @__PURE__ */ jsxRuntime.jsx(Steps, { steps }),
|
|
3204
|
-
live ? onSite ? /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: removal ? `Done \u2014 the ${noun} is off the website.` : "Done \u2014 your change is on the website now." }) : deploy === "slow" ? /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: "The site is taking longer than usual to rebuild. It will get there; check back in a few minutes." }) : /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: "Published. The website is rebuilding with your change \u2014
|
|
3264
|
+
live ? onSite ? /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: removal ? `Done \u2014 the ${noun} is off the website.` : "Done \u2014 your change is on the website now." }) : deploy === "stalled" ? /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: "The website still hasn't rebuilt. Your change is saved and published; the rebuild just hasn't happened. Tell your web team \u2014 it's a one-click fix on their side." }) : deploy === "slow" ? /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: "The site is taking longer than usual to rebuild. It will get there; check back in a few minutes." }) : /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: "Published. The website is rebuilding with your change \u2014 usually a few minutes. Stay here and this page will tell you the moment it's live; if you look at the site before then you'll still see the old version." }) : stale ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rz-alert admin__alert", children: [
|
|
3205
3265
|
"Someone else changed this file first. ",
|
|
3206
3266
|
/* @__PURE__ */ jsxRuntime.jsx(Link3__default.default, { href: "/admin", children: "Open it again" }),
|
|
3207
3267
|
", make your change on the latest version, and publish."
|
|
@@ -3221,7 +3281,7 @@ function PublishPanel({ number, htmlUrl, merged, closed = false, branch, removal
|
|
|
3221
3281
|
noun
|
|
3222
3282
|
] })),
|
|
3223
3283
|
/* @__PURE__ */ jsxRuntime.jsx(LinkButton, { variant: removal || !liveUrl ? "primary" : "secondary", href: listUrl, children: backLabel }),
|
|
3224
|
-
live && !onSite && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rz-actions__hint", children: deploy === "
|
|
3284
|
+
live && !onSite && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rz-actions__hint", children: deploy === "waiting" ? "Waiting for the site to rebuild\u2026" : "Still rebuilding." })
|
|
3225
3285
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3226
3286
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", disabled: pending || !ready, onClick: publish, children: pending ? "Publishing\u2026" : "Publish" }),
|
|
3227
3287
|
previewUrl && ready && /* @__PURE__ */ jsxRuntime.jsx(LinkButton, { external: true, href: previewUrl, children: "Preview the change" }),
|
|
@@ -5225,7 +5285,7 @@ The new version didn't build cleanly against your website. Nothing was installed
|
|
|
5225
5285
|
|
|
5226
5286
|
## The tracker is stuck on "Live"
|
|
5227
5287
|
|
|
5228
|
-
The rebuild usually takes
|
|
5288
|
+
The rebuild usually takes a few minutes. After a while the tracker says *taking longer than usual* and, on most sites, offers **Nudge the build**. Press it \u2014 it asks the hosting service to build the website again. It's safe: the update is already accepted, nothing on your website changes, and pressing it twice does no harm. If the button isn't there, or it doesn't help within ten minutes, tell {supportName}; it's a one-click fix on their side. Either way you can leave the page and come back \u2014 the tracker remembers.
|
|
5229
5289
|
|
|
5230
5290
|
## I'm not seeing updates at all
|
|
5231
5291
|
|
|
@@ -5552,6 +5612,12 @@ function StudioHelp() {
|
|
|
5552
5612
|
};
|
|
5553
5613
|
const hits = q.trim().length > 1 ? searchHelp(q) : null;
|
|
5554
5614
|
const activeSection = view.kind === "section" ? view.id : view.article.section;
|
|
5615
|
+
const nav = react.useRef(null);
|
|
5616
|
+
react.useEffect(() => {
|
|
5617
|
+
const el = nav.current;
|
|
5618
|
+
if (!el || el.scrollWidth <= el.clientWidth) return;
|
|
5619
|
+
el.querySelector(".rz-help__navitem--active")?.scrollIntoView?.({ inline: "center", block: "nearest" });
|
|
5620
|
+
}, [activeSection, hits]);
|
|
5555
5621
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: top, className: "rz-help", children: [
|
|
5556
5622
|
/* @__PURE__ */ jsxRuntime.jsx(PageHeader, { eyebrow: "Help", title: "Help center", subtitle: "Everything about running your website from Studio, in plain English. Search, or browse by section." }),
|
|
5557
5623
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rz-help__search", children: [
|
|
@@ -5575,7 +5641,7 @@ function StudioHelp() {
|
|
|
5575
5641
|
)
|
|
5576
5642
|
] }),
|
|
5577
5643
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rz-help__body", children: [
|
|
5578
|
-
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: "rz-help__nav", "aria-label": "Help sections", children: HELP_SECTIONS.map((s) => /* @__PURE__ */ jsxRuntime.jsx("a", { href: `#s-${s.id}`, className: `rz-help__navitem${!hits && activeSection === s.id ? " rz-help__navitem--active" : ""}`, onClick: (e) => {
|
|
5644
|
+
/* @__PURE__ */ jsxRuntime.jsx("nav", { ref: nav, className: "rz-help__nav", "aria-label": "Help sections", children: HELP_SECTIONS.map((s) => /* @__PURE__ */ jsxRuntime.jsx("a", { href: `#s-${s.id}`, className: `rz-help__navitem${!hits && activeSection === s.id ? " rz-help__navitem--active" : ""}`, onClick: (e) => {
|
|
5579
5645
|
e.preventDefault();
|
|
5580
5646
|
go(`s-${s.id}`);
|
|
5581
5647
|
}, children: s.title }, s.id)) }),
|
|
@@ -5671,6 +5737,7 @@ function BackArrow() {
|
|
|
5671
5737
|
// src/studio-ui/types.ts
|
|
5672
5738
|
var ACTION_NAMES = [
|
|
5673
5739
|
"updateStudio",
|
|
5740
|
+
"nudgeBuild",
|
|
5674
5741
|
"publishContent",
|
|
5675
5742
|
"removeContent",
|
|
5676
5743
|
"mergeContentPr",
|