/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/app/src/pages/session/session-layout.ts
30 строк
1 KB
Brendan Allan
feat(app): add server-keyed session routes (#32570)
23 июн 2026, 09:19
Не верифицирован
23 июн 2026, 09:19
0c4f508
Код
Авторство
О чём код?
import { useParams } from "@solidjs/router" import { createMemo } from "solid-js" import { useLayout } from "@/context/layout" import { SessionRouteKey, SessionStateKey } from "@/utils/server-scope" import { useSDK } from "@/context/sdk" import { useServerSDK } from "@/context/server-sdk" import { base64Encode } from "@opencode-ai/core/util/encode" export const useSessionKey = () => { const params = useParams() const sdk = useSDK() const serverSDK = useServerSDK() const scope = createMemo(() => serverSDK().scope) const directory = createMemo(() => base64Encode(sdk().directory)) const workspaceKey = createMemo(() => SessionStateKey.from(scope(), SessionRouteKey.fromRoute(directory()))) const sessionKey = createMemo(() => SessionStateKey.from(scope(), SessionRouteKey.fromRoute(directory(), params.id))) return { params, sessionKey, workspaceKey } } export const useSessionLayout = () => { const layout = useLayout() const { params, sessionKey, workspaceKey } = useSessionKey() return { params, sessionKey, workspaceKey, tabs: createMemo(() => layout.tabs(sessionKey)), view: createMemo(() => layout.view(sessionKey)), } }