"use client"; import { useEffect, useRef, useState } from "react"; import { createPortal } from "react-dom"; import { ChevronDown, Folder, MessageSquare, Search, Table2, X, } from "lucide-react"; import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; import type { MikeDocument, MikeWorkflow } from "../shared/types"; import { createTabularReview } from "@/app/lib/mikeApi"; import { useRouter } from "next/navigation"; import { formatIcon, formatLabel } from "../tabular/columnFormat"; import { useDirectoryData } from "../shared/useDirectoryData"; import { FileDirectory } from "../shared/FileDirectory"; import type { MikeProject } from "../shared/types"; import { useChatHistoryContext } from "@/app/contexts/ChatHistoryContext"; interface Props { workflows: MikeWorkflow[]; workflow: MikeWorkflow | null; onClose: () => void; } // --------------------------------------------------------------------------- // Toggle switch // --------------------------------------------------------------------------- function Toggle({ on, onToggle }: { on: boolean; onToggle: () => void }) { return ( ); } // --------------------------------------------------------------------------- // Simple project picker (input + dropdown) // --------------------------------------------------------------------------- function SimpleProjectPicker({ projects, selectedId, onSelect, }: { projects: MikeProject[]; selectedId: string | null; onSelect: (id: string | null) => void; }) { const [search, setSearch] = useState(""); const [open, setOpen] = useState(false); const selected = projects.find((p) => p.id === selectedId); const filtered = search ? projects.filter((p) => p.name.toLowerCase().includes(search.toLowerCase()), ) : projects; return (
No projects found
) : ( filtered.map((p) => ( )) )}{children}
), ul: ({ children }) => (Workflow Prompt
Columns
No columns defined
) : ( columns.map((col) => { const isExpanded = expandedIndex === col.index; const FormatIcon = formatIcon(col.format ?? "text"); return (Tags
Prompt
Message (optional)
Select project
Select documents
Select Project
Select Documents