import { CheckIcon, XMarkIcon } from "@heroicons/react/24/outline"; import { DiffEditor } from "@monaco-editor/react"; import React, { useEffect } from "react"; import { v4 } from "uuid"; import { vscInputBackground } from "../components"; import HeaderButtonWithText from "../components/HeaderButtonWithText"; import { postToIde } from "../util/ide"; interface EditorFrameProps { filename: string; } function EditorFrame(props: EditorFrameProps) { const [contents, setContents] = React.useState( "function sum(a, b) {return a + b;}" ); useEffect(() => { const messageId = v4(); const eventListener = (event: any) => { if ( event.data.messageId === messageId && event.data.type === "readRangeInFile" ) { setContents(event.data.contents); } }; window.addEventListener("message", eventListener); postToIde("readFile", { filepath: props.filename }); return () => window.removeEventListener("message", eventListener); }, []); return (
{
postToIde("showFile", {
filepath: props.filename,
});
}}
>
{props.filename.split("/").pop()}