import { useAtom } from "jotai";
import { RESET } from "jotai/utils";
import NewColumnModal from "./NewColumnModal";
import NameChangeModal from "./NameChangeModal";
import TypeChangeModal from "./TypeChangeModal";
import ColumnConfigModal from "./ColumnConfigModal";
import SetColumnWidthModal from "./SetColumnWidthModal";
import {
tableScope,
tableSchemaAtom,
columnModalAtom,
} from "@src/atoms/tableScope";
import { ColumnConfig } from "@src/types/table";
export interface IColumnModalProps {
onClose: () => void;
column: ColumnConfig;
}
export default function ColumnModals() {
const [tableSchema] = useAtom(tableSchemaAtom, tableScope);
const [columnModal, setColumnModal] = useAtom(columnModalAtom, tableScope);
if (!columnModal) return null;
const onClose = () => setColumnModal(RESET);
if (columnModal.type === "new") return ;
const column = tableSchema.columns?.[columnModal.columnKey ?? ""];
if (!column) return null;
if (columnModal.type === "name")
return ;
if (columnModal.type === "type")
return ;
if (columnModal.type === "config")
return ;
if (columnModal.type === "setColumnWidth")
return ;
return null;
}