From 10c325810b626f1699f4d12de509b6375b7fe78a Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 3 Mar 2026 07:19:17 -0600 Subject: [PATCH] fix(app): tighten up header elements --- .../src/components/session/session-header.tsx | 19 ++++++------- .../app/src/components/status-popover.tsx | 27 +++++++++---------- 2 files changed, 22 insertions(+), 24 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 currentSession: () => | { - id: string share?: { url?: string } } | undefined + sessionID: () => string | undefined projectDirectory: () => string platform: ReturnType }) { @@ -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, }) diff --git a/packages/app/src/components/status-popover.tsx b/packages/app/src/components/status-popover.tsx index b441d1c5e..c61b31958 100644 --- a/packages/app/src/components/status-popover.tsx +++ b/packages/app/src/components/status-popover.tsx @@ -202,29 +202,26 @@ export function StatusPopover() { triggerAs={Button} triggerProps={{ variant: "ghost", - class: - "rounded-md h-[24px] pr-3 pl-0.5 gap-2 border border-border-weak-base bg-surface-panel shadow-none data-[expanded]:bg-surface-base-active", + class: "titlebar-icon w-6 h-6 p-0 box-border", + "aria-label": language.t("status.popover.trigger"), style: { scale: 1 }, }} trigger={ -
-
-
-
- {language.t("status.popover.trigger")} +
+
} class="[&_[data-slot=popover-body]]:p-0 w-[360px] max-w-[calc(100vw-40px)] bg-transparent border-0 shadow-none rounded-xl" gutter={4} placement="bottom-end" - shift={-136} + shift={-168} >