feat(server): auto-update UI via remote manifest

This commit is contained in:
Shantur Rathore
2026-01-22 15:12:32 +00:00
parent db3c13c463
commit a014ce555a
9 changed files with 1441 additions and 56 deletions

View File

@@ -0,0 +1,38 @@
import { Show, createEffect, createSignal } from "solid-js"
import type { ServerMeta } from "../../../server/src/api-types"
import { getServerMeta } from "../lib/server-meta"
export default function VersionPill() {
const [meta, setMeta] = createSignal<ServerMeta | null>(null)
createEffect(() => {
void getServerMeta()
.then((result) => setMeta(result))
.catch(() => setMeta(null))
})
const serverVersion = () => meta()?.serverVersion
const uiVersion = () => meta()?.ui?.version
const uiSource = () => meta()?.ui?.source
return (
<Show when={serverVersion() || uiVersion()}>
<div class="text-[11px] text-muted whitespace-nowrap">
<Show when={serverVersion()}>
{(v) => <span>App {v()}</span>}
</Show>
<Show when={uiVersion()}>
{(v) => (
<>
<span class="mx-2">·</span>
<span>
UI {v()}
<Show when={uiSource()}>{(s) => <span class="opacity-70"> ({s()})</span>}</Show>
</span>
</>
)}
</Show>
</div>
</Show>
)
}