File size: 763 Bytes
fb38ec5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { env } from "@/env";
import { useEffect, useState } from "react";

export default function SessionDevTools() {
  const [pageId, setPageId] = useState<string | null>(null);

  useEffect(() => {
    const ws = new WebSocket(`${env.VITE_API_URL}/v1/sessions/pageId`);

    ws.onmessage = (event) => {
      setPageId(event.data.pageId);
    };

    return () => {
      ws.close();
    };
  }, []);

  useEffect(() => {
    if (!pageId) return;

    const iframe = document.querySelector("iframe");
    if (iframe) {
      iframe.src = iframe.src + "";
    }
  }, [pageId]);

  return (
    <iframe
      src={`${env.VITE_API_URL}/v1/devtools/inspector.html${
        pageId ? `?pageId=${pageId}` : ""
      }`}
      className="w-full h-full"
    />
  );
}