40 lines · 1.1 KB · TypeScript
RawDownload
const WCO_CLASS_NAME = "wco"; interface WindowControlsOverlayLike {  readonly visible: boolean;  addEventListener(type: "geometrychange", listener: EventListener): void;  removeEventListener(type: "geometrychange", listener: EventListener): void;} interface NavigatorWithWindowControlsOverlay extends Navigator {  readonly windowControlsOverlay?: WindowControlsOverlayLike;} function getWindowControlsOverlay(): WindowControlsOverlayLike | null {  if (typeof navigator === "undefined") {    return null;  }   return (navigator as NavigatorWithWindowControlsOverlay).windowControlsOverlay ?? null;} export function syncDocumentWindowControlsOverlayClass(): () => void {  if (typeof document === "undefined") {    return () => {};  }   const overlay = getWindowControlsOverlay();  const update = () => {    document.documentElement.classList.toggle(WCO_CLASS_NAME, overlay !== null && overlay.visible);  };   update();  if (!overlay) {    return () => {};  }   overlay.addEventListener("geometrychange", update);  return () => {    overlay.removeEventListener("geometrychange", update);  };}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t