assistant/renderer/components/WindowTitleBar.tsx

22 lines
783 B
TypeScript

import { useLayoutEffect } from 'react';
import '../api';
import '../window-titlebar.css';
/** Native controls stay above this rail; no simulated window buttons or IPC. */
export function WindowTitleBar() {
const chrome = typeof window === 'undefined' ? undefined : window.assistant?.desktopChrome;
const inset = chrome?.platform === 'darwin' && chrome.titleBar === 'mac-inset';
useLayoutEffect(() => {
if (!inset) return;
const element = document.documentElement;
element.dataset.desktopChrome = 'mac-inset';
return () => { delete element.dataset.desktopChrome; };
}, [inset]);
if (!inset) return null;
return <header className="window-titlebar" aria-label="应用标题栏" data-testid="window-titlebar">
<span>橘子拓客</span>
</header>;
}