import { motion, useReducedMotion } from "motion/react"; import type { CSSProperties, ReactNode } from "react"; import { aceternityMotion } from "@/lib/aceternity-motion"; import { canvasThemes } from "@/lib/canvas-theme"; import { cn } from "@/lib/utils"; import { useActiveTheme } from "@/stores/canvas/use-canvas-theme-store"; export type CanvasCreateCommand = { id: string; label: string; icon: ReactNode; badge?: string; section: "node" | "workflow" | "project" | "resource"; onClick: () => void; }; export function CanvasCreateMenu({ commands }: { commands: CanvasCreateCommand[] }) { const theme = canvasThemes[useActiveTheme()]; const projectCommands = commands.filter((command) => command.section === "project"); const nodeCommands = commands.filter((command) => command.section === "node"); const workflowCommands = commands.filter((command) => command.section === "workflow"); const resourceCommands = commands.filter((command) => command.section === "resource"); return (