"use client"; import { Paperclip, Plus } from "lucide-react"; import { uploadMenuItems } from "./constants"; import type { SourceDraftMode, UploadMenuAction } from "./types"; function nextDraftModeForAction(action: UploadMenuAction): SourceDraftMode { if (action === "link") return "link"; if (action === "syllabus") return "syllabus"; if (action === "text") return "text"; return null; } export function ComposerPlusMenu({ plusOpen, onPlusOpenChange, onOpenMaterialPicker, onOpenPaperPicker, onSourceDraftModeChange, }: { plusOpen: boolean; onPlusOpenChange: (open: boolean) => void; onOpenMaterialPicker: () => void; onOpenPaperPicker: () => void; onSourceDraftModeChange: (mode: SourceDraftMode) => void; }) { function handleMenuAction(action: UploadMenuAction, enabled: boolean) { if (!enabled) return; if (action === "material") { onPlusOpenChange(false); onOpenMaterialPicker(); return; } if (action === "paper") { onPlusOpenChange(false); onOpenPaperPicker(); return; } const draftMode = nextDraftModeForAction(action); if (draftMode) { onSourceDraftModeChange(draftMode); onPlusOpenChange(false); } } return (