feat: frameless title bar for Windows/Linux with native overlay controls
Use titleBarStyle: 'hidden' + titleBarOverlay on Win/Linux to remove the ugly native title bar and menu bar while keeping OS-rendered min/max/close buttons. Hidden Edit menu preserves keyboard shortcuts (Ctrl+C/V/X/Z/A). Title bar drag region and separator line rendered via web frontend, with colors matching the Aether Drift design system. Also adds electron-builder metadata (description, author, homepage, artifactName) and multi-size icons for cross-platform builds.
This commit is contained in:
@@ -7,7 +7,7 @@ import { JoinPage } from './components/JoinPage';
|
||||
import { SwAutoUpdate } from './components/ui/SwUpdatePrompt';
|
||||
import { ScreenSharePicker } from './components/voice/ScreenSharePicker';
|
||||
import { useAuthStore } from './stores/authStore';
|
||||
import { isElectronMac } from './platform/platform';
|
||||
import { isElectron } from './platform/platform';
|
||||
|
||||
function ProtectedRoute({ children }: { children: React.ReactNode }) {
|
||||
const token = useAuthStore((s) => s.token);
|
||||
@@ -29,13 +29,14 @@ function AuthRedirect({ children }: { children: React.ReactNode }) {
|
||||
}
|
||||
|
||||
export function App() {
|
||||
const showTitleBar = isElectronMac();
|
||||
const showTitleBar = isElectron();
|
||||
|
||||
return (
|
||||
<div className={`flex flex-col ${showTitleBar ? 'h-screen' : 'contents'}`}>
|
||||
{showTitleBar && (
|
||||
{showTitleBar && <>
|
||||
<div className="h-8 flex-shrink-0 bg-surface-base titlebar-drag" />
|
||||
)}
|
||||
<div className="h-px flex-shrink-0 bg-border-hard" />
|
||||
</>}
|
||||
<div className={showTitleBar ? 'flex-1 min-h-0' : 'contents'}>
|
||||
<SwAutoUpdate />
|
||||
<ScreenSharePicker />
|
||||
|
||||
Reference in New Issue
Block a user