import { useEffect, useRef, useState } from "react";
import { Circuit } from "../../../features/apps/logic-sim/core/circuit";
import styles from "./CircuitView.module.css";
import { DropdownAction } from "../../actions/actions/DropdownAction";
import { HeaderMenu } from "../_utils/header-menu/HeaderMenu";
import { ClickAction } from "../../actions/actions/ClickAction";
import { ChipsManager } from "../../../features/apps/logic-sim/chips/chipsManager";
import { App } from "../../../features/apps/app";
import { useAppFolder } from "../../../hooks/apps/appFolder";
import { openUrl } from "../../../features/_utils/browser.utils";
interface CircuitViewProps {
app?: App;
}
export function CircuitView({ app }: CircuitViewProps) {
const virtualFolder = useAppFolder(app);
const [circuit] = useState(new Circuit("Chip", "#000", 2, 1));
const canvasRef = useRef(null);
useEffect(() => {
if (canvasRef.current == null && circuit.canvas != null)
return;
circuit.init(canvasRef.current as unknown as HTMLCanvasElement);
return () => {
circuit.cleanup();
};
}, [canvasRef, circuit]);
return <>