"use client"; import { useRef } from "react"; import { CreditDisplay } from "@/components/canvas/credit-display"; import { ExportButton } from "@/components/canvas/export-button"; import { useCanvasPlacement } from "@/components/canvas/canvas-placement-context"; import { CANVAS_NODE_TEMPLATES, type CanvasNodeTemplate, } from "@/lib/canvas-node-templates"; interface CanvasToolbarProps { canvasName?: string; } export default function CanvasToolbar({ canvasName, }: CanvasToolbarProps) { const { createNodeWithIntersection } = useCanvasPlacement(); const nodeCountRef = useRef(0); const handleAddNode = async ( type: CanvasNodeTemplate["type"], data: CanvasNodeTemplate["defaultData"], width: number, height: number, ) => { const offset = (nodeCountRef.current % 8) * 24; nodeCountRef.current += 1; await createNodeWithIntersection({ type, position: { x: 100 + offset, y: 100 + offset }, width, height, data, }); }; return (
{CANVAS_NODE_TEMPLATES.map((template) => ( ))}
); }