drawDB/src/pages/editor.jsx

43 lines
1.2 KiB
React
Raw Normal View History

2023-09-19 20:47:06 +08:00
import React, { useState } from "react";
2023-09-19 20:46:48 +08:00
import Header from "../components/header";
import Sidebar from "../components/sidebar";
import ControlPanel from "../components/control_panel";
2023-09-19 20:47:01 +08:00
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
2023-09-19 20:47:43 +08:00
import Canvas from "../components/canvas";
2023-09-19 20:47:01 +08:00
import EditorPanel from "../components/editor_panel";
2023-09-19 20:46:46 +08:00
export default function Editor(props) {
2023-09-19 20:46:56 +08:00
const [code, setCode] = useState("");
const [tables, setTables] = useState([]);
const [relationships, setRelationships] = useState([]);
2023-09-19 20:46:56 +08:00
2023-09-19 20:46:46 +08:00
return (
<>
<Header name={props.name} />
2023-09-19 20:46:50 +08:00
<ControlPanel />
2023-09-19 20:46:48 +08:00
<div className="flex h-full">
<DndProvider backend={HTML5Backend}>
2023-09-19 20:47:06 +08:00
<EditorPanel
tables={tables}
setTables={setTables}
2023-09-19 20:47:06 +08:00
code={code}
setCode={setCode}
relationships={relationships}
setRelationships={setRelationships}
2023-09-19 20:47:06 +08:00
/>
<Canvas
tables={tables}
setTables={setTables}
2023-09-19 20:47:06 +08:00
code={code}
setCode={setCode}
relationships={relationships}
setRelationships={setRelationships}
2023-09-19 20:47:06 +08:00
/>
</DndProvider>
2023-09-19 20:46:50 +08:00
<Sidebar />
2023-09-19 20:46:46 +08:00
</div>
</>
);
}