25 lines
587 B
TypeScript
25 lines
587 B
TypeScript
import useEditor, { Phase, Tool } from "@/store/use-editor";
|
|
import { WallTool } from "./wall/wall-tool";
|
|
|
|
const tools: Record<Phase, Partial<Record<Tool, React.FC>>> = {
|
|
site: {
|
|
},
|
|
structure: {
|
|
wall: WallTool,
|
|
},
|
|
furnish: {
|
|
},
|
|
};
|
|
|
|
export const ToolManager: React.FC = () => {
|
|
const phase = useEditor((state) => state.phase);
|
|
const mode = useEditor((state) => state.mode);
|
|
const tool = useEditor((state) => state.tool);
|
|
|
|
if (mode !== "build" || tool === null) return null;
|
|
|
|
|
|
const Component = tools[phase]?.[tool];
|
|
|
|
return Component ? <Component /> : null;
|
|
}; |