chore: generate
This commit is contained in:
@@ -244,79 +244,79 @@ export function SessionHeader() {
|
|||||||
}}
|
}}
|
||||||
aria-hidden={!showShare()}
|
aria-hidden={!showShare()}
|
||||||
>
|
>
|
||||||
<Popover
|
<Popover
|
||||||
title="Publish on web"
|
title="Publish on web"
|
||||||
description={
|
description={
|
||||||
shareUrl()
|
shareUrl()
|
||||||
? "This session is public on the web. It is accessible to anyone with the link."
|
? "This session is public on the web. It is accessible to anyone with the link."
|
||||||
: "Share session publicly on the web. It will be accessible to anyone with the link."
|
: "Share session publicly on the web. It will be accessible to anyone with the link."
|
||||||
}
|
}
|
||||||
trigger={
|
trigger={
|
||||||
<Tooltip class="shrink-0" value="Share session">
|
<Tooltip class="shrink-0" value="Share session">
|
||||||
<Button
|
<Button
|
||||||
variant="secondary"
|
|
||||||
classList={{ "rounded-r-none": shareUrl() !== undefined }}
|
|
||||||
style={{ scale: 1 }}
|
|
||||||
>
|
|
||||||
Share
|
|
||||||
</Button>
|
|
||||||
</Tooltip>
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<div class="flex flex-col gap-2">
|
|
||||||
<Show
|
|
||||||
when={shareUrl()}
|
|
||||||
fallback={
|
|
||||||
<div class="flex">
|
|
||||||
<Button
|
|
||||||
size="large"
|
|
||||||
variant="primary"
|
|
||||||
class="w-1/2"
|
|
||||||
onClick={shareSession}
|
|
||||||
disabled={state.share}
|
|
||||||
>
|
|
||||||
{state.share ? "Publishing..." : "Publish"}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<div class="flex flex-col gap-2 w-72">
|
|
||||||
<TextField value={shareUrl() ?? ""} readOnly copyable class="w-full" />
|
|
||||||
<div class="grid grid-cols-2 gap-2">
|
|
||||||
<Button
|
|
||||||
size="large"
|
|
||||||
variant="secondary"
|
|
||||||
class="w-full shadow-none border border-border-weak-base"
|
|
||||||
onClick={unshareSession}
|
|
||||||
disabled={state.unshare}
|
|
||||||
>
|
|
||||||
{state.unshare ? "Unpublishing..." : "Unpublish"}
|
|
||||||
</Button>
|
|
||||||
<Button
|
|
||||||
size="large"
|
|
||||||
variant="primary"
|
|
||||||
class="w-full"
|
|
||||||
onClick={viewShare}
|
|
||||||
disabled={state.unshare}
|
|
||||||
>
|
|
||||||
View
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Show>
|
|
||||||
</div>
|
|
||||||
</Popover>
|
|
||||||
<Show when={shareUrl()} fallback={<div class="size-6" aria-hidden="true" />}>
|
|
||||||
<Tooltip value={state.copied ? "Copied" : "Copy link"} placement="top" gutter={8}>
|
|
||||||
<IconButton
|
|
||||||
icon={state.copied ? "check" : "copy"}
|
|
||||||
variant="secondary"
|
variant="secondary"
|
||||||
class="rounded-l-none"
|
classList={{ "rounded-r-none": shareUrl() !== undefined }}
|
||||||
onClick={copyLink}
|
style={{ scale: 1 }}
|
||||||
disabled={state.unshare}
|
>
|
||||||
/>
|
Share
|
||||||
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Show>
|
}
|
||||||
|
>
|
||||||
|
<div class="flex flex-col gap-2">
|
||||||
|
<Show
|
||||||
|
when={shareUrl()}
|
||||||
|
fallback={
|
||||||
|
<div class="flex">
|
||||||
|
<Button
|
||||||
|
size="large"
|
||||||
|
variant="primary"
|
||||||
|
class="w-1/2"
|
||||||
|
onClick={shareSession}
|
||||||
|
disabled={state.share}
|
||||||
|
>
|
||||||
|
{state.share ? "Publishing..." : "Publish"}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div class="flex flex-col gap-2 w-72">
|
||||||
|
<TextField value={shareUrl() ?? ""} readOnly copyable class="w-full" />
|
||||||
|
<div class="grid grid-cols-2 gap-2">
|
||||||
|
<Button
|
||||||
|
size="large"
|
||||||
|
variant="secondary"
|
||||||
|
class="w-full shadow-none border border-border-weak-base"
|
||||||
|
onClick={unshareSession}
|
||||||
|
disabled={state.unshare}
|
||||||
|
>
|
||||||
|
{state.unshare ? "Unpublishing..." : "Unpublish"}
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
size="large"
|
||||||
|
variant="primary"
|
||||||
|
class="w-full"
|
||||||
|
onClick={viewShare}
|
||||||
|
disabled={state.unshare}
|
||||||
|
>
|
||||||
|
View
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Show>
|
||||||
|
</div>
|
||||||
|
</Popover>
|
||||||
|
<Show when={shareUrl()} fallback={<div class="size-6" aria-hidden="true" />}>
|
||||||
|
<Tooltip value={state.copied ? "Copied" : "Copy link"} placement="top" gutter={8}>
|
||||||
|
<IconButton
|
||||||
|
icon={state.copied ? "check" : "copy"}
|
||||||
|
variant="secondary"
|
||||||
|
class="rounded-l-none"
|
||||||
|
onClick={copyLink}
|
||||||
|
disabled={state.unshare}
|
||||||
|
/>
|
||||||
|
</Tooltip>
|
||||||
|
</Show>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Portal>
|
</Portal>
|
||||||
|
|||||||
@@ -242,40 +242,40 @@ function createGlobalSync() {
|
|||||||
const [store, setStore] = ensureChild(directory)
|
const [store, setStore] = ensureChild(directory)
|
||||||
const cache = vcsCache.get(directory)
|
const cache = vcsCache.get(directory)
|
||||||
if (!cache) return
|
if (!cache) return
|
||||||
const sdk = createOpencodeClient({
|
const sdk = createOpencodeClient({
|
||||||
baseUrl: globalSDK.url,
|
baseUrl: globalSDK.url,
|
||||||
fetch: platform.fetch,
|
fetch: platform.fetch,
|
||||||
directory,
|
directory,
|
||||||
throwOnError: true,
|
throwOnError: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
setStore("status", "loading")
|
setStore("status", "loading")
|
||||||
|
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
if (!cache.ready()) return
|
if (!cache.ready()) return
|
||||||
const cached = cache.store.value
|
const cached = cache.store.value
|
||||||
if (!cached?.branch) return
|
if (!cached?.branch) return
|
||||||
setStore("vcs", (value) => value ?? cached)
|
setStore("vcs", (value) => value ?? cached)
|
||||||
})
|
})
|
||||||
|
|
||||||
const blockingRequests = {
|
const blockingRequests = {
|
||||||
project: () => sdk.project.current().then((x) => setStore("project", x.data!.id)),
|
project: () => sdk.project.current().then((x) => setStore("project", x.data!.id)),
|
||||||
provider: () =>
|
provider: () =>
|
||||||
sdk.provider.list().then((x) => {
|
sdk.provider.list().then((x) => {
|
||||||
const data = x.data!
|
const data = x.data!
|
||||||
setStore("provider", {
|
setStore("provider", {
|
||||||
...data,
|
...data,
|
||||||
all: data.all.map((provider) => ({
|
all: data.all.map((provider) => ({
|
||||||
...provider,
|
...provider,
|
||||||
models: Object.fromEntries(
|
models: Object.fromEntries(
|
||||||
Object.entries(provider.models).filter(([, info]) => info.status !== "deprecated"),
|
Object.entries(provider.models).filter(([, info]) => info.status !== "deprecated"),
|
||||||
),
|
),
|
||||||
})),
|
})),
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
agent: () => sdk.app.agents().then((x) => setStore("agent", x.data ?? [])),
|
agent: () => sdk.app.agents().then((x) => setStore("agent", x.data ?? [])),
|
||||||
config: () => sdk.config.get().then((x) => setStore("config", x.data!)),
|
config: () => sdk.config.get().then((x) => setStore("config", x.data!)),
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await Promise.all(Object.values(blockingRequests).map((p) => retry(p)))
|
await Promise.all(Object.values(blockingRequests).map((p) => retry(p)))
|
||||||
|
|||||||
Reference in New Issue
Block a user