@openpalm/ui 0.11.0-rc.13 → 0.11.0-rc.14
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/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/0.CV_hiSDb.css +1 -0
- package/build/client/_app/immutable/assets/0.CV_hiSDb.css.br +0 -0
- package/build/client/_app/immutable/assets/0.CV_hiSDb.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.Cztzqv5R.css +1 -0
- package/build/client/_app/immutable/assets/4.Cztzqv5R.css.br +0 -0
- package/build/client/_app/immutable/assets/4.Cztzqv5R.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.DH6oAODR.css +1 -0
- package/build/client/_app/immutable/assets/6.DH6oAODR.css.br +0 -0
- package/build/client/_app/immutable/assets/6.DH6oAODR.css.gz +0 -0
- package/build/client/_app/immutable/assets/{7.CzC8JVIO.css → 7.CgArpKqX.css} +1 -1
- package/build/client/_app/immutable/assets/7.CgArpKqX.css.br +0 -0
- package/build/client/_app/immutable/assets/{7.CzC8JVIO.css.gz → 7.CgArpKqX.css.gz} +0 -0
- package/build/client/_app/immutable/assets/{AuthGate._tqG1OIX.css → AuthGate.CvHfx1js.css} +1 -1
- package/build/client/_app/immutable/assets/AuthGate.CvHfx1js.css.br +0 -0
- package/build/client/_app/immutable/assets/{AuthGate._tqG1OIX.css.gz → AuthGate.CvHfx1js.css.gz} +0 -0
- package/build/client/_app/immutable/chunks/{B1uQvvlv.js → B6eDnfZN.js} +2 -2
- package/build/client/_app/immutable/chunks/B6eDnfZN.js.br +0 -0
- package/build/client/_app/immutable/chunks/B6eDnfZN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BPh8tqAg.js → CHbj1pWz.js} +1 -1
- package/build/client/_app/immutable/chunks/CHbj1pWz.js.br +0 -0
- package/build/client/_app/immutable/chunks/CHbj1pWz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CrcMJfbz.js → WyJr2dGG.js} +1 -1
- package/build/client/_app/immutable/chunks/WyJr2dGG.js.br +0 -0
- package/build/client/_app/immutable/chunks/WyJr2dGG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{E7W0MQkU.js → kWSYYB4z.js} +1 -1
- package/build/client/_app/immutable/chunks/kWSYYB4z.js.br +0 -0
- package/build/client/_app/immutable/chunks/kWSYYB4z.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.9wfmQKXa.js → app.BBkXQZES.js} +2 -2
- package/build/client/_app/immutable/entry/app.BBkXQZES.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BBkXQZES.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Bs5o_i7k.js +1 -0
- package/build/client/_app/immutable/entry/start.Bs5o_i7k.js.br +1 -0
- package/build/client/_app/immutable/entry/start.Bs5o_i7k.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.B-z3blIe.js → 1.lFu-Nkuh.js} +1 -1
- package/build/client/_app/immutable/nodes/1.lFu-Nkuh.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.lFu-Nkuh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.D7DiVFrp.js +19 -0
- package/build/client/_app/immutable/nodes/4.D7DiVFrp.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D7DiVFrp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BrAtimvQ.js → 5.B4UTvqdS.js} +1 -1
- package/build/client/_app/immutable/nodes/5.B4UTvqdS.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.B4UTvqdS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.CDpI1TrW.js → 6.Dypiry5c.js} +1 -1
- package/build/client/_app/immutable/nodes/6.Dypiry5c.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Dypiry5c.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.B5KYnWwU.js → 7.03_5HWHH.js} +1 -1
- package/build/client/_app/immutable/nodes/7.03_5HWHH.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.03_5HWHH.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-CP9GcQBP.js → 0-BVoCeMeS.js} +4 -4
- package/build/server/chunks/{0-CP9GcQBP.js.map → 0-BVoCeMeS.js.map} +1 -1
- package/build/server/chunks/1-43kXv-lj.js +9 -0
- package/build/server/chunks/{1-BDxTrwG3.js.map → 1-43kXv-lj.js.map} +1 -1
- package/build/server/chunks/4-DyfubyL8.js +9 -0
- package/build/server/chunks/{4-CBgm4iSo.js.map → 4-DyfubyL8.js.map} +1 -1
- package/build/server/chunks/5-BugYLg1g.js +9 -0
- package/build/server/chunks/{5-CD1fuYOe.js.map → 5-BugYLg1g.js.map} +1 -1
- package/build/server/chunks/6-DxMMp_Ab.js +9 -0
- package/build/server/chunks/{6-B6tmbcQ8.js.map → 6-DxMMp_Ab.js.map} +1 -1
- package/build/server/chunks/7-1z1l4Gj9.js +9 -0
- package/build/server/chunks/{7-m4KLf_Gx.js.map → 7-1z1l4Gj9.js.map} +1 -1
- package/build/server/chunks/{AuthGate-BcB49fE5.js → AuthGate-UzM0ufsa.js} +9 -6
- package/build/server/chunks/{AuthGate-BcB49fE5.js.map → AuthGate-UzM0ufsa.js.map} +1 -1
- package/build/server/chunks/{ModeSwitch-D26evPMy.js → ModeSwitch-Kf6VtzMp.js} +2 -2
- package/build/server/chunks/{ModeSwitch-D26evPMy.js.map → ModeSwitch-Kf6VtzMp.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-C8ggVfth.js → _layout.svelte-BnCuSUPN.js} +2 -2
- package/build/server/chunks/{_layout.svelte-C8ggVfth.js.map → _layout.svelte-BnCuSUPN.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CEjRvc8B.js → _page.svelte-BXcDqPDM.js} +123 -29
- package/build/server/chunks/_page.svelte-BXcDqPDM.js.map +1 -0
- package/build/server/chunks/{_page.svelte-WWZsjJuR.js → _page.svelte-CLU3j0og.js} +6 -6
- package/build/server/chunks/{_page.svelte-WWZsjJuR.js.map → _page.svelte-CLU3j0og.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Cy4kcLwu.js → _page.svelte-D2G-zIql.js} +5 -5
- package/build/server/chunks/{_page.svelte-Cy4kcLwu.js.map → _page.svelte-D2G-zIql.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DrWHHwCU.js → _page.svelte-Ds-M9Dyp.js} +6 -6
- package/build/server/chunks/{_page.svelte-DrWHHwCU.js.map → _page.svelte-Ds-M9Dyp.js.map} +1 -1
- package/build/server/chunks/environment-qSeYk7Wm.js +36 -0
- package/build/server/chunks/environment-qSeYk7Wm.js.map +1 -0
- package/build/server/chunks/{error.svelte-CcHm-30A.js → error.svelte-DSc-Dp_M.js} +3 -3
- package/build/server/chunks/{error.svelte-CcHm-30A.js.map → error.svelte-DSc-Dp_M.js.map} +1 -1
- package/build/server/chunks/{internal-B08Y9iTe.js → internal-COESfFAd.js} +2 -2
- package/build/server/chunks/{internal-B08Y9iTe.js.map → internal-COESfFAd.js.map} +1 -1
- package/build/server/chunks/{state-CFHLgqLs.js → state-B_UDC_bs.js} +2 -2
- package/build/server/chunks/{state-CFHLgqLs.js.map → state-B_UDC_bs.js.map} +1 -1
- package/build/server/chunks/{theme-state.svelte-y-mfJax7.js → theme-state.svelte-CWo8vi7P.js} +11 -2
- package/build/server/chunks/{theme-state.svelte-y-mfJax7.js.map → theme-state.svelte-CWo8vi7P.js.map} +1 -1
- package/build/server/index.js +2 -32
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +7 -7
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/build/client/_app/immutable/assets/0.nenI9xO9.css +0 -1
- package/build/client/_app/immutable/assets/0.nenI9xO9.css.br +0 -0
- package/build/client/_app/immutable/assets/0.nenI9xO9.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.j3F-W7h_.css +0 -1
- package/build/client/_app/immutable/assets/4.j3F-W7h_.css.br +0 -0
- package/build/client/_app/immutable/assets/4.j3F-W7h_.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.B0Z8tVIH.css +0 -1
- package/build/client/_app/immutable/assets/6.B0Z8tVIH.css.br +0 -1
- package/build/client/_app/immutable/assets/6.B0Z8tVIH.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CzC8JVIO.css.br +0 -0
- package/build/client/_app/immutable/assets/AuthGate._tqG1OIX.css.br +0 -0
- package/build/client/_app/immutable/chunks/B1uQvvlv.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1uQvvlv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BPh8tqAg.js.br +0 -2
- package/build/client/_app/immutable/chunks/BPh8tqAg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrcMJfbz.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrcMJfbz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/E7W0MQkU.js.br +0 -0
- package/build/client/_app/immutable/chunks/E7W0MQkU.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.9wfmQKXa.js.br +0 -0
- package/build/client/_app/immutable/entry/app.9wfmQKXa.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BzWuQgSn.js +0 -1
- package/build/client/_app/immutable/entry/start.BzWuQgSn.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BzWuQgSn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.B-z3blIe.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.B-z3blIe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DOO_QIq1.js +0 -18
- package/build/client/_app/immutable/nodes/4.DOO_QIq1.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DOO_QIq1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BrAtimvQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BrAtimvQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CDpI1TrW.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CDpI1TrW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.B5KYnWwU.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.B5KYnWwU.js.gz +0 -0
- package/build/server/chunks/1-BDxTrwG3.js +0 -9
- package/build/server/chunks/4-CBgm4iSo.js +0 -9
- package/build/server/chunks/5-CD1fuYOe.js +0 -9
- package/build/server/chunks/6-B6tmbcQ8.js +0 -9
- package/build/server/chunks/7-m4KLf_Gx.js +0 -9
- package/build/server/chunks/_page.svelte-CEjRvc8B.js.map +0 -1
- /package/build/client/_app/immutable/nodes/{0.DxAGOZgx.js → 0.DqHhUquH.js} +0 -0
- /package/build/client/_app/immutable/nodes/{0.DxAGOZgx.js.br → 0.DqHhUquH.js.br} +0 -0
- /package/build/client/_app/immutable/nodes/{0.DxAGOZgx.js.gz → 0.DqHhUquH.js.gz} +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { v as version } from './environment-qSeYk7Wm.js';
|
|
1
2
|
import { E as head, p as ensure_array_like, e as attr_class, d as attr, r as escape_html, a8 as stringify, F as html, o as derived, g as bind_props } from './dev-B6xUe35c.js';
|
|
2
|
-
import { o as onDestroy } from './state-
|
|
3
|
-
import {
|
|
4
|
-
import { A as AuthGate, N as Navbar } from './AuthGate-
|
|
3
|
+
import { o as onDestroy } from './state-B_UDC_bs.js';
|
|
4
|
+
import { h as fetchHealth, e as fetchContainers, f as fetchAutomations, l as fetchVersions, i as fetchReleases, k as fetchUiVersions, w as voiceState, b as buildHeaders, j as fetchServiceLogs, a as downloadUiVersion, q as setStackVersion, v as upgradeStack } from './theme-state.svelte-CWo8vi7P.js';
|
|
5
|
+
import { A as AuthGate, N as Navbar } from './AuthGate-UzM0ufsa.js';
|
|
5
6
|
import { S as Spinner } from './Spinner-Bk6e83RX.js';
|
|
6
7
|
import { V as VoiceEngineSelector, a as VoiceProfileSelector } from './VoiceProfileSelector-CbOV_v5A.js';
|
|
7
|
-
import './internal-
|
|
8
|
+
import './internal-COESfFAd.js';
|
|
8
9
|
import './utils-BSRjJDrZ.js';
|
|
9
10
|
import 'node:module';
|
|
10
11
|
import './chunk-CLZ62Ad-.js';
|
|
@@ -159,7 +160,11 @@ function StatusHero($$renderer, $$props) {
|
|
|
159
160
|
//#endregion
|
|
160
161
|
//#region src/lib/components/admin/overview/OperationOutput.svelte
|
|
161
162
|
function OperationOutput($$renderer, $$props) {
|
|
162
|
-
$$
|
|
163
|
+
let { operationResult, operationResultType} = $$props;
|
|
164
|
+
if (operationResult) {
|
|
165
|
+
$$renderer.push("<!--[0-->");
|
|
166
|
+
$$renderer.push(`<section${attr_class(`output-section output-section--${stringify(operationResultType)}`, "svelte-10sij3c")}><div class="output-header svelte-10sij3c"><h3 class="svelte-10sij3c">Operation output</h3> <button class="btn-ghost" aria-label="Dismiss"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div> <pre class="output-code svelte-10sij3c">${escape_html(operationResult)}</pre></section>`);
|
|
167
|
+
} else $$renderer.push("<!--[-1-->");
|
|
163
168
|
$$renderer.push(`<!--]-->`);
|
|
164
169
|
}
|
|
165
170
|
//#endregion
|
|
@@ -219,7 +224,7 @@ function ConfigureShortcuts($$renderer, $$props) {
|
|
|
219
224
|
//#region src/lib/components/admin/overview/OverviewTab.svelte
|
|
220
225
|
function OverviewTab($$renderer, $$props) {
|
|
221
226
|
$$renderer.component(($$renderer) => {
|
|
222
|
-
let { healthLoading, anyDangerousLoading, mergedServices, onNavigate } = $$props;
|
|
227
|
+
let { operationResult, operationResultType, healthLoading, anyDangerousLoading, mergedServices, onNavigate } = $$props;
|
|
223
228
|
let akmBadge = derived(() => {
|
|
224
229
|
return {
|
|
225
230
|
label: "Unavailable",
|
|
@@ -268,7 +273,9 @@ function OverviewTab($$renderer, $$props) {
|
|
|
268
273
|
anyDangerousLoading});
|
|
269
274
|
} else $$renderer.push("<!--[-1-->");
|
|
270
275
|
$$renderer.push(`<!--]--> `);
|
|
271
|
-
OperationOutput($$renderer
|
|
276
|
+
OperationOutput($$renderer, {
|
|
277
|
+
operationResult,
|
|
278
|
+
operationResultType});
|
|
272
279
|
$$renderer.push(`<!----> <div class="tile-grid svelte-xz862u">`);
|
|
273
280
|
MetricTile($$renderer, {
|
|
274
281
|
label: "Services running",
|
|
@@ -310,21 +317,44 @@ function OverviewTab($$renderer, $$props) {
|
|
|
310
317
|
//#region src/lib/components/admin/updates/UpdatesTab.svelte
|
|
311
318
|
function UpdatesTab($$renderer, $$props) {
|
|
312
319
|
$$renderer.component(($$renderer) => {
|
|
313
|
-
|
|
320
|
+
/** Running @openpalm/ui version (the build currently serving this page). */
|
|
321
|
+
let { currentImageTag, selectedImageTag, tagChangeLoading, anyDangerousLoading, tokenStored, upgradeLoading, inElectron, uiVersion, uiVersions, uiVersionsLoading, selectedUiTag, uiDownloadLoading, uiDownloadReady, releases, releasesLoading, onSetImageTag, onSelectedImageTagChange, onUpgradeStack, onSelectedUiTagChange, onDownloadUiVersion, onRestartApp, onRefreshReleases } = $$props;
|
|
314
322
|
function uiVersionLabel(v) {
|
|
315
323
|
const tags = [];
|
|
316
324
|
if (v.distTag) tags.push(v.distTag);
|
|
317
325
|
else if (v.prerelease) tags.push("pre-release");
|
|
318
326
|
return tags.length ? `${v.version} (${tags.join(", ")})` : v.version;
|
|
319
327
|
}
|
|
320
|
-
|
|
328
|
+
const statusText = derived(() => upgradeLoading ? "Updating OpenPalm to the latest version…" : tagChangeLoading ? "Installing the selected version and restarting…" : uiDownloadLoading ? "Downloading the admin interface…" : releasesLoading || uiVersionsLoading ? "Checking for updates…" : "");
|
|
329
|
+
$$renderer.push(`<div class="panel svelte-7mkeya" role="tabpanel"><div class="panel-header svelte-7mkeya"><div class="svelte-7mkeya"><h2 class="svelte-7mkeya">Check-up</h2> <p class="panel-subtitle svelte-7mkeya">Keep OpenPalm up to date. An update backs up your settings first, then briefly restarts your assistant.</p></div> <button class="btn btn-sm btn-secondary refresh-releases svelte-7mkeya"${attr("disabled", releasesLoading || uiVersionsLoading, true)}${attr("aria-busy", releasesLoading || uiVersionsLoading)} title="Check GitHub for newer versions">`);
|
|
330
|
+
if (releasesLoading || uiVersionsLoading) {
|
|
331
|
+
$$renderer.push("<!--[0-->");
|
|
332
|
+
Spinner($$renderer, {});
|
|
333
|
+
$$renderer.push(`<!----> Checking…`);
|
|
334
|
+
} else {
|
|
335
|
+
$$renderer.push("<!--[-1-->");
|
|
336
|
+
$$renderer.push(`<svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-7mkeya"><path d="M23 4v6h-6" class="svelte-7mkeya"></path><path d="M1 20v-6h6" class="svelte-7mkeya"></path><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" class="svelte-7mkeya"></path></svg> Check for updates`);
|
|
337
|
+
}
|
|
338
|
+
$$renderer.push(`<!--]--></button></div> <p class="status-live svelte-7mkeya" role="status" aria-live="polite">${escape_html(statusText())}</p> <div class="panel-body svelte-7mkeya"><section class="update-card svelte-7mkeya" aria-labelledby="update-primary-title"><div class="update-card-text svelte-7mkeya"><h3 id="update-primary-title" class="update-title svelte-7mkeya">Update to the latest version</h3> <p class="update-desc svelte-7mkeya">Downloads and installs the newest OpenPalm release. Your settings are backed up first,
|
|
339
|
+
then your assistant restarts — it will be offline for about a minute. Your data is kept.</p></div> <button class="btn btn-primary update-go svelte-7mkeya"${attr("disabled", anyDangerousLoading || !tokenStored, true)}${attr("aria-busy", upgradeLoading)}>`);
|
|
340
|
+
if (upgradeLoading) {
|
|
341
|
+
$$renderer.push("<!--[0-->");
|
|
342
|
+
Spinner($$renderer, {});
|
|
343
|
+
$$renderer.push(`<!----> Updating…`);
|
|
344
|
+
} else {
|
|
345
|
+
$$renderer.push("<!--[-1-->");
|
|
346
|
+
$$renderer.push(`Update now`);
|
|
347
|
+
}
|
|
348
|
+
$$renderer.push(`<!--]--></button></section> <dl class="versions svelte-7mkeya"><div class="versions-row svelte-7mkeya"><dt class="svelte-7mkeya">OpenPalm</dt> <dd class="svelte-7mkeya"><code class="version-value svelte-7mkeya">${escape_html(currentImageTag || "—")}</code></dd></div> <div class="versions-row svelte-7mkeya"><dt class="svelte-7mkeya">Admin interface</dt> <dd class="svelte-7mkeya"><code class="version-value svelte-7mkeya">${escape_html(uiVersion || "—")}</code></dd></div></dl> <details class="advanced svelte-7mkeya"><summary class="svelte-7mkeya">Advanced options</summary> <div class="advanced-body svelte-7mkeya"><div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="stack-version-select">Install a specific version</label> <div class="version-input-row svelte-7mkeya">`);
|
|
321
349
|
if (releasesLoading) {
|
|
322
350
|
$$renderer.push("<!--[0-->");
|
|
323
351
|
$$renderer.push(`<div class="version-select-skeleton svelte-7mkeya"></div>`);
|
|
324
352
|
} else if (releases.length > 0) {
|
|
325
353
|
$$renderer.push("<!--[1-->");
|
|
326
354
|
$$renderer.select({
|
|
355
|
+
id: "stack-version-select",
|
|
327
356
|
class: "version-select",
|
|
357
|
+
"aria-label": "OpenPalm version to install",
|
|
328
358
|
value: selectedImageTag,
|
|
329
359
|
onchange: (e) => onSelectedImageTagChange(e.currentTarget.value),
|
|
330
360
|
disabled: tagChangeLoading || anyDangerousLoading
|
|
@@ -350,33 +380,30 @@ function UpdatesTab($$renderer, $$props) {
|
|
|
350
380
|
}, "svelte-7mkeya");
|
|
351
381
|
} else {
|
|
352
382
|
$$renderer.push("<!--[-1-->");
|
|
353
|
-
$$renderer.push(`<input class="version-input svelte-7mkeya" type="text" placeholder="e.g. 0.11.0 or latest"${attr("value", selectedImageTag)}${attr("disabled", tagChangeLoading || anyDangerousLoading, true)}/>`);
|
|
383
|
+
$$renderer.push(`<input id="stack-version-select" class="version-input svelte-7mkeya" type="text" aria-label="OpenPalm version to install" placeholder="e.g. 0.11.0 or latest"${attr("value", selectedImageTag)}${attr("disabled", tagChangeLoading || anyDangerousLoading, true)}/>`);
|
|
354
384
|
}
|
|
355
|
-
$$renderer.push(`<!--]--> <button class="btn btn-sm btn-
|
|
385
|
+
$$renderer.push(`<!--]--> <button class="btn btn-sm btn-secondary svelte-7mkeya"${attr("disabled", !selectedImageTag.trim() || tagChangeLoading || anyDangerousLoading, true)}${attr("aria-busy", tagChangeLoading)}>`);
|
|
356
386
|
if (tagChangeLoading) {
|
|
357
387
|
$$renderer.push("<!--[0-->");
|
|
358
388
|
Spinner($$renderer, {});
|
|
359
|
-
$$renderer.push(`<!---->
|
|
389
|
+
$$renderer.push(`<!----> Installing…`);
|
|
360
390
|
} else {
|
|
361
391
|
$$renderer.push("<!--[-1-->");
|
|
362
|
-
$$renderer.push(`
|
|
392
|
+
$$renderer.push(`Install & restart`);
|
|
363
393
|
}
|
|
364
|
-
$$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-7mkeya">
|
|
365
|
-
{
|
|
366
|
-
$$renderer.push("<!--[-1-->");
|
|
367
|
-
$$renderer.push(`Upgrade to Latest`);
|
|
368
|
-
}
|
|
369
|
-
$$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-7mkeya">Downloads the latest assets, pulls images, and restarts services. Backs up current config first.</p></div> `);
|
|
394
|
+
$$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-7mkeya">For rollback or troubleshooting. Installs the chosen version and restarts services (about a minute offline).</p></div> `);
|
|
370
395
|
if (inElectron) {
|
|
371
396
|
$$renderer.push("<!--[0-->");
|
|
372
|
-
$$renderer.push(`<div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><
|
|
397
|
+
$$renderer.push(`<div class="version-divider svelte-7mkeya"></div> <div class="version-section svelte-7mkeya"><label class="version-label svelte-7mkeya" for="ui-version-select">Admin interface version</label> <div class="version-input-row svelte-7mkeya">`);
|
|
373
398
|
if (uiVersionsLoading) {
|
|
374
399
|
$$renderer.push("<!--[0-->");
|
|
375
400
|
$$renderer.push(`<div class="version-select-skeleton svelte-7mkeya"></div>`);
|
|
376
401
|
} else if (uiVersions.length > 0) {
|
|
377
402
|
$$renderer.push("<!--[1-->");
|
|
378
403
|
$$renderer.select({
|
|
404
|
+
id: "ui-version-select",
|
|
379
405
|
class: "version-select",
|
|
406
|
+
"aria-label": "Admin interface version to download",
|
|
380
407
|
value: selectedUiTag,
|
|
381
408
|
onchange: (e) => onSelectedUiTagChange(e.currentTarget.value),
|
|
382
409
|
disabled: uiDownloadLoading
|
|
@@ -396,9 +423,9 @@ function UpdatesTab($$renderer, $$props) {
|
|
|
396
423
|
}, "svelte-7mkeya");
|
|
397
424
|
} else {
|
|
398
425
|
$$renderer.push("<!--[-1-->");
|
|
399
|
-
$$renderer.push(`<input class="version-input svelte-7mkeya" type="text" placeholder="e.g. 0.11.0-beta.7"${attr("value", selectedUiTag)}${attr("disabled", uiDownloadLoading, true)}/>`);
|
|
426
|
+
$$renderer.push(`<input id="ui-version-select" class="version-input svelte-7mkeya" type="text" aria-label="Admin interface version to download" placeholder="e.g. 0.11.0-beta.7"${attr("value", selectedUiTag)}${attr("disabled", uiDownloadLoading, true)}/>`);
|
|
400
427
|
}
|
|
401
|
-
$$renderer.push(`<!--]--> <button class="btn btn-sm svelte-7mkeya"${attr("disabled", !selectedUiTag.trim() || uiDownloadLoading, true)}>`);
|
|
428
|
+
$$renderer.push(`<!--]--> <button class="btn btn-sm btn-secondary svelte-7mkeya"${attr("disabled", !selectedUiTag.trim() || uiDownloadLoading, true)}${attr("aria-busy", uiDownloadLoading)}>`);
|
|
402
429
|
if (uiDownloadLoading) {
|
|
403
430
|
$$renderer.push("<!--[0-->");
|
|
404
431
|
Spinner($$renderer, {});
|
|
@@ -408,13 +435,16 @@ function UpdatesTab($$renderer, $$props) {
|
|
|
408
435
|
$$renderer.push(`Download`);
|
|
409
436
|
}
|
|
410
437
|
$$renderer.push(`<!--]--></button></div> `);
|
|
411
|
-
{
|
|
438
|
+
if (uiDownloadReady) {
|
|
439
|
+
$$renderer.push("<!--[0-->");
|
|
440
|
+
$$renderer.push(`<div class="version-restart-prompt svelte-7mkeya">Admin interface updated. <button class="btn btn-sm btn-primary svelte-7mkeya">Restart app</button></div>`);
|
|
441
|
+
} else {
|
|
412
442
|
$$renderer.push("<!--[-1-->");
|
|
413
|
-
$$renderer.push(`<p class="version-hint svelte-7mkeya">Downloads and replaces the
|
|
443
|
+
$$renderer.push(`<p class="version-hint svelte-7mkeya">Downloads and replaces the admin interface. Takes effect after restart.</p>`);
|
|
414
444
|
}
|
|
415
445
|
$$renderer.push(`<!--]--></div>`);
|
|
416
446
|
} else $$renderer.push("<!--[-1-->");
|
|
417
|
-
$$renderer.push(`<!--]--></div></div>`);
|
|
447
|
+
$$renderer.push(`<!--]--></div></details></div></div>`);
|
|
418
448
|
});
|
|
419
449
|
}
|
|
420
450
|
//#endregion
|
|
@@ -2291,6 +2321,8 @@ function _page($$renderer, $$props) {
|
|
|
2291
2321
|
let upgradeLoading = false;
|
|
2292
2322
|
let containersLoading = false;
|
|
2293
2323
|
let automationsLoading = false;
|
|
2324
|
+
let operationResult = "";
|
|
2325
|
+
let operationResultType = "info";
|
|
2294
2326
|
let containerData = null;
|
|
2295
2327
|
let containerError = "";
|
|
2296
2328
|
let containersLastUpdated = null;
|
|
@@ -2302,6 +2334,7 @@ function _page($$renderer, $$props) {
|
|
|
2302
2334
|
let inElectron = false;
|
|
2303
2335
|
let tagChangeLoading = false;
|
|
2304
2336
|
let uiDownloadLoading = false;
|
|
2337
|
+
let uiDownloadReady = false;
|
|
2305
2338
|
let selectedImageTag = "latest";
|
|
2306
2339
|
let selectedUiTag = "";
|
|
2307
2340
|
let releases = [];
|
|
@@ -2466,6 +2499,55 @@ function _page($$renderer, $$props) {
|
|
|
2466
2499
|
releasesLoading = false;
|
|
2467
2500
|
uiVersionsLoading = false;
|
|
2468
2501
|
}
|
|
2502
|
+
async function handleUpgradeStack() {
|
|
2503
|
+
if (anyDangerousLoading()) return;
|
|
2504
|
+
upgradeLoading = true;
|
|
2505
|
+
try {
|
|
2506
|
+
const result = await upgradeStack();
|
|
2507
|
+
operationResult = `Upgrade complete (image: ${result.imageTag}). ${result.assetsUpdated.length} asset(s) updated, ${result.restarted.length} service(s) restarted.`;
|
|
2508
|
+
operationResultType = "success";
|
|
2509
|
+
} catch (e) {
|
|
2510
|
+
const err = e;
|
|
2511
|
+
if (err.status === 401) applyInvalidTokenState();
|
|
2512
|
+
else {
|
|
2513
|
+
operationResult = `Error upgrading stack: ${err.message ?? e}`;
|
|
2514
|
+
operationResultType = "error";
|
|
2515
|
+
}
|
|
2516
|
+
}
|
|
2517
|
+
upgradeLoading = false;
|
|
2518
|
+
}
|
|
2519
|
+
async function handleSetImageTag(tag) {
|
|
2520
|
+
if (tagChangeLoading) return;
|
|
2521
|
+
tagChangeLoading = true;
|
|
2522
|
+
try {
|
|
2523
|
+
const result = await setStackVersion(tag);
|
|
2524
|
+
currentImageTag = result.imageTag;
|
|
2525
|
+
selectedImageTag = result.imageTag;
|
|
2526
|
+
operationResult = `Image tag set to ${result.imageTag}. Restarted: ${result.restarted.join(", ") || "none"}.`;
|
|
2527
|
+
operationResultType = "success";
|
|
2528
|
+
} catch (e) {
|
|
2529
|
+
operationResult = `Failed to apply image tag: ${e.message ?? e}`;
|
|
2530
|
+
operationResultType = "error";
|
|
2531
|
+
}
|
|
2532
|
+
tagChangeLoading = false;
|
|
2533
|
+
}
|
|
2534
|
+
async function handleDownloadUiVersion(tag) {
|
|
2535
|
+
if (uiDownloadLoading) return;
|
|
2536
|
+
uiDownloadLoading = true;
|
|
2537
|
+
uiDownloadReady = false;
|
|
2538
|
+
try {
|
|
2539
|
+
await downloadUiVersion(tag);
|
|
2540
|
+
selectedUiTag = tag;
|
|
2541
|
+
uiDownloadReady = true;
|
|
2542
|
+
} catch (e) {
|
|
2543
|
+
operationResult = `Failed to download UI version: ${e.message ?? e}`;
|
|
2544
|
+
operationResultType = "error";
|
|
2545
|
+
}
|
|
2546
|
+
uiDownloadLoading = false;
|
|
2547
|
+
}
|
|
2548
|
+
function handleRestartApp() {
|
|
2549
|
+
window.openpalm?.restart?.();
|
|
2550
|
+
}
|
|
2469
2551
|
/** Derive service names from container data for the logs tab */
|
|
2470
2552
|
let serviceNames = derived(() => {
|
|
2471
2553
|
if (!containerData) return [];
|
|
@@ -2496,13 +2578,15 @@ function _page($$renderer, $$props) {
|
|
|
2496
2578
|
} else {
|
|
2497
2579
|
$$renderer.push("<!--[-1-->");
|
|
2498
2580
|
Navbar($$renderer);
|
|
2499
|
-
$$renderer.push(`<!---->
|
|
2581
|
+
$$renderer.push(`<!----> `);
|
|
2500
2582
|
TabBar($$renderer, {
|
|
2501
2583
|
active: activeTab});
|
|
2502
|
-
$$renderer.push(`<!---->
|
|
2584
|
+
$$renderer.push(`<!----> <main class="svelte-1jef3w8">`);
|
|
2503
2585
|
if (activeTab === "overview") {
|
|
2504
2586
|
$$renderer.push("<!--[0-->");
|
|
2505
2587
|
OverviewTab($$renderer, {
|
|
2588
|
+
operationResult,
|
|
2589
|
+
operationResultType,
|
|
2506
2590
|
healthLoading,
|
|
2507
2591
|
anyDangerousLoading: anyDangerousLoading(),
|
|
2508
2592
|
mergedServices: mergedServices(),
|
|
@@ -2515,19 +2599,29 @@ function _page($$renderer, $$props) {
|
|
|
2515
2599
|
selectedImageTag,
|
|
2516
2600
|
tagChangeLoading,
|
|
2517
2601
|
anyDangerousLoading: anyDangerousLoading(),
|
|
2602
|
+
tokenStored: true,
|
|
2603
|
+
upgradeLoading,
|
|
2518
2604
|
inElectron,
|
|
2605
|
+
uiVersion: version,
|
|
2519
2606
|
uiVersions,
|
|
2520
2607
|
uiVersionsLoading,
|
|
2521
2608
|
selectedUiTag,
|
|
2522
2609
|
uiDownloadLoading,
|
|
2610
|
+
uiDownloadReady,
|
|
2523
2611
|
releases,
|
|
2524
2612
|
releasesLoading,
|
|
2613
|
+
onSetImageTag: handleSetImageTag,
|
|
2525
2614
|
onSelectedImageTagChange: (t) => {
|
|
2526
2615
|
selectedImageTag = t;
|
|
2527
2616
|
},
|
|
2617
|
+
onUpgradeStack: handleUpgradeStack,
|
|
2528
2618
|
onSelectedUiTagChange: (t) => {
|
|
2529
2619
|
selectedUiTag = t;
|
|
2530
|
-
}
|
|
2620
|
+
},
|
|
2621
|
+
onDownloadUiVersion: handleDownloadUiVersion,
|
|
2622
|
+
onRestartApp: handleRestartApp,
|
|
2623
|
+
onRefreshReleases: loadReleases
|
|
2624
|
+
});
|
|
2531
2625
|
} else if (activeTab === "addons") {
|
|
2532
2626
|
$$renderer.push("<!--[2-->");
|
|
2533
2627
|
AddonsTab($$renderer);
|
|
@@ -2576,4 +2670,4 @@ function _page($$renderer, $$props) {
|
|
|
2576
2670
|
}
|
|
2577
2671
|
|
|
2578
2672
|
export { _page as default };
|
|
2579
|
-
//# sourceMappingURL=_page.svelte-
|
|
2673
|
+
//# sourceMappingURL=_page.svelte-BXcDqPDM.js.map
|