import type { useComponentActions, useComponentData } from "../../hooks/useComponent";
import Canvas from "./canvas";
import { useEffect, useRef, useState } from "react";
interface EditorProps {
componentData: useComponentData,
componentAcionts: useComponentActions,
}
export default function Editor({
componentData,
componentAcionts,
}: EditorProps) {
const editorRef = useRef<HTMLDivElement | null>(null);
const [width, setWidth] = useState<number>(600);
useEffect(() => {
if (!editorRef.current) return;
setWidth(editorRef.current.offsetWidth);
}, [editorRef])
return (
<div className="h-full bg-gray-100">
<Canvas
componentData={componentData}
canvasWidth={width}
moveComponent={componentAcionts.moveComponent}
selectComponent={componentAcionts.selectComponent}
resetSelectingComponent={componentAcionts.resetSelectingComponent}
/>
</div>
);
}