Unified · Split
| @@ -398,6 +398,9 @@ const createWindow = async (conn: SidecarConnection) => { · 397 unmodified lines | ||
| 398 | 398 | show: false, |
| 399 | 399 | backgroundColor: "#0a0a0a", |
| 400 | 400 | autoHideMenuBar: true, |
| 401 | + ...(process.platform === "darwin" | |
| 402 | + ? { titleBarStyle: "hidden" as const, trafficLightPosition: { x: 16, y: 17 } } | |
| 403 | + : {}), | |
| 401 | 404 | ...(linuxIcon ? { icon: linuxIcon } : {}), |
| 402 | 405 | webPreferences: { |
| 403 | 406 | preload: PRELOAD_PATH, |
| @@ -8,6 +8,10 @@ import "@executor-js/react/globals.css"; · 7 unmodified lines | ||
| 8 | 8 | |
| 9 | 9 | initDesktopCrashReporting(); |
| 10 | 10 | |
| 11 | +if ("executor" in window && navigator.platform.includes("Mac")) { | |
| 12 | + document.documentElement.classList.add("executor-desktop-macos"); | |
| 13 | +} | |
| 14 | + | |
| 11 | 15 | // Resolve the local bearer token (?_token → localStorage → dev global) and set |
| 12 | 16 | // the connection's auth BEFORE the router mounts, so the first API atom carries |
| 13 | 17 | // it. No-op on desktop (the main process injects the header). |
| @@ -349,14 +349,17 @@ function SidebarContent(props: { · 348 unmodified lines | ||
| 349 | 349 | return ( |
| 350 | 350 | <> |
| 351 | 351 | {props.showBrand !== false && ( |
| 352 | − <div className="flex h-12 shrink-0 items-center gap-2 border-b border-sidebar-border px-4"> | |
| 353 | − <Link to="/{-$orgSlug}" className="flex shrink-0 items-center gap-1.5"> | |
| 352 | + <div className="desktop-macos-sidebar-header flex h-12 shrink-0 items-center gap-2 border-b border-sidebar-border px-4"> | |
| 353 | + <Link | |
| 354 | + to="/{-$orgSlug}" | |
| 355 | + className="desktop-macos-no-drag flex shrink-0 items-center gap-1.5" | |
| 356 | + > | |
| 354 | 357 | <span className="font-display text-base tracking-tight text-foreground">executor</span> |
| 355 | 358 | <span className="rounded bg-primary/15 px-1.5 py-px text-[10px] font-semibold uppercase tracking-wider text-primary"> |
| 356 | 359 | Beta |
| 357 | 360 | </span> |
| 358 | 361 | </Link> |
| 359 | − <div className="ml-auto flex min-w-0 flex-1 justify-end"> | |
| 362 | + <div className="desktop-macos-no-drag ml-auto flex min-w-0 flex-1 justify-end pl-3"> | |
| 360 | 363 | <ServerConnectionMenu variant="header" /> |
| 361 | 364 | </div> |
| 362 | 365 | </div> |
| @@ -149,6 +149,15 @@ · 148 unmodified lines | ||
| 149 | 149 | } |
| 150 | 150 | } |
| 151 | 151 | |
| 152 | +.executor-desktop-macos .desktop-macos-sidebar-header { | |
| 153 | + -webkit-app-region: drag; | |
| 154 | + padding-left: 88px; | |
| 155 | +} | |
| 156 | + | |
| 157 | +.executor-desktop-macos .desktop-macos-no-drag { | |
| 158 | + -webkit-app-region: no-drag; | |
| 159 | +} | |
| 160 | + | |
| 152 | 161 | .dark { |
| 153 | 162 | --sidebar: hsl(240 5.9% 10%); |
| 154 | 163 | --sidebar-foreground: hsl(240 4.8% 95.9%); |