diff --git a/src/ui/App.tsx b/src/ui/App.tsx index 5674583..41aa65c 100644 --- a/src/ui/App.tsx +++ b/src/ui/App.tsx @@ -13,7 +13,6 @@ import Details from "./components/details/Details"; import StatusBar from "./components/statusbar/StatusBar"; import WaitingForReady from "./components/misc/WaitingForReady"; import FiberTreeKeyboardNav from "./components/misc/FiberTreeKeyboardNav"; -import { Widget, navButtons } from "@discoveryjs/discovery/dist/discovery"; function App() { return ( @@ -33,30 +32,6 @@ function App() { ); } -declare let __DISCOVERY_CSS__: string; -const discovery = new Widget(null, null, { - styles: [__DISCOVERY_CSS__], - extensions: [{ ...navButtons, loadData: undefined }], -}); -function Discovery() { - const { allEvents, setPaused } = useEventsContext(); - const ref = React.useCallback(el => { - discovery.setPage("report"); - discovery.setContainer(el); - }, []); - - React.useEffect(() => { - setPaused(true); - discovery.setData(allEvents, { name: "React Render Tracker" }); - - return () => { - setPaused(false); - }; - }, []); - - return
; -} - function Layout() { const [groupByParent, setGroupByParent] = React.useState(false); const [showUnmounted, setShowUnmounted] = React.useState(true); @@ -65,6 +40,17 @@ function Layout() { const { selectedId } = useSelectedId(); const { pinnedId } = usePinnedId(); + const { allEvents, setPaused } = useEventsContext(); + + React.useEffect(() => { + setPaused(discoveryMode); + + const discoveryIFrame: HTMLIFrameElement | null = document.querySelector('iframe[name=discovery]'); + if (discoveryIFrame && discoveryIFrame.contentWindow) { + discoveryIFrame.contentWindow.postMessage({ allEvents, discoveryMode }, '*'); + } + }, [discoveryMode]); + return (