summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/session
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-03-03 07:19:17 -0600
committerAdam <[email protected]>2026-03-03 07:19:24 -0600
commit10c325810b626f1699f4d12de509b6375b7fe78a (patch)
treeeaeb4f7feef9154164aefbf0de84f4ce00c681e9 /packages/app/src/components/session
parentfa45422bf9bfb79acfa5476e951af211d5f4283e (diff)
downloadopencode-10c325810b626f1699f4d12de509b6375b7fe78a.tar.gz
opencode-10c325810b626f1699f4d12de509b6375b7fe78a.zip
fix(app): tighten up header elements
Diffstat (limited to 'packages/app/src/components/session')
-rw-r--r--packages/app/src/components/session/session-header.tsx19
1 files changed, 10 insertions, 9 deletions
diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx
index 94edb8258..bb4d98125 100644
--- a/packages/app/src/components/session/session-header.tsx
+++ b/packages/app/src/components/session/session-header.tsx
@@ -138,12 +138,12 @@ function useSessionShare(args: {
globalSDK: ReturnType<typeof useGlobalSDK>
currentSession: () =>
| {
- id: string
share?: {
url?: string
}
}
| undefined
+ sessionID: () => string | undefined
projectDirectory: () => string
platform: ReturnType<typeof usePlatform>
}) {
@@ -167,11 +167,11 @@ function useSessionShare(args: {
})
const shareSession = () => {
- const session = args.currentSession()
- if (!session || state.share) return
+ const sessionID = args.sessionID()
+ if (!sessionID || state.share) return
setState("share", true)
args.globalSDK.client.session
- .share({ sessionID: session.id, directory: args.projectDirectory() })
+ .share({ sessionID, directory: args.projectDirectory() })
.catch((error) => {
console.error("Failed to share session", error)
})
@@ -181,11 +181,11 @@ function useSessionShare(args: {
}
const unshareSession = () => {
- const session = args.currentSession()
- if (!session || state.unshare) return
+ const sessionID = args.sessionID()
+ if (!sessionID || state.unshare) return
setState("unshare", true)
args.globalSDK.client.session
- .unshare({ sessionID: session.id, directory: args.projectDirectory() })
+ .unshare({ sessionID, directory: args.projectDirectory() })
.catch((error) => {
console.error("Failed to unshare session", error)
})
@@ -243,9 +243,9 @@ export function SessionHeader() {
})
const hotkey = createMemo(() => command.keybind("file.open"))
- const currentSession = createMemo(() => sync.data.session.find((s) => s.id === params.id))
+ const currentSession = createMemo(() => (params.id ? sync.session.get(params.id) : undefined))
const shareEnabled = createMemo(() => sync.data.config.share !== "disabled")
- const showShare = createMemo(() => shareEnabled() && !!currentSession())
+ const showShare = createMemo(() => shareEnabled() && !!params.id)
const sessionKey = createMemo(() => `${params.dir}${params.id ? "/" + params.id : ""}`)
const view = createMemo(() => layout.view(sessionKey))
const os = createMemo(() => detectOS(platform))
@@ -346,6 +346,7 @@ export function SessionHeader() {
const share = useSessionShare({
globalSDK,
currentSession,
+ sessionID: () => params.id,
projectDirectory,
platform,
})