import { useEffect, useState } from "react"; import { LaunchWindow } from "./components/launch/LaunchWindow"; import { SourceSelector } from "./components/launch/SourceSelector"; import { Toaster } from "./components/ui/sonner"; import { TooltipProvider } from "./components/ui/tooltip"; import { ShortcutsConfigDialog } from "./components/video-editor/ShortcutsConfigDialog"; import VideoEditor from "./components/video-editor/VideoEditor"; import { ShortcutsProvider } from "./contexts/ShortcutsContext"; import { loadAllCustomFonts } from "./lib/customFonts"; export default function App() { const [windowType, setWindowType] = useState(""); useEffect(() => { const params = new URLSearchParams(window.location.search); const type = params.get("windowType") || ""; setWindowType(type); if (type === "hud-overlay" || type === "source-selector") { document.body.style.background = "transparent"; document.documentElement.style.background = "transparent"; document.getElementById("root")?.style.setProperty("background", "transparent"); } // Load custom fonts on app initialization loadAllCustomFonts().catch((error) => { console.error("Failed to load custom fonts:", error); }); }, []); const content = (() => { switch (windowType) { case "hud-overlay": return ; case "source-selector": return ; case "editor": return ( ); default: return (

Openscreen

); } })(); return ( {content} ); }