import { ChevronUpIcon, ListTodoIcon } from "lucide-react"; import { useState } from "react"; import type { Todo } from "@/core/todos"; import { cn } from "@/lib/utils"; import { QueueItem, QueueItemContent, QueueItemIndicator, QueueList, } from "../ai-elements/queue"; export function TodoList({ className, todos, collapsed: controlledCollapsed, hidden = false, onToggle, }: { className?: string; todos: Todo[]; collapsed?: boolean; hidden?: boolean; onToggle?: () => void; }) { const [internalCollapsed, setInternalCollapsed] = useState(true); const isControlled = controlledCollapsed !== undefined; const collapsed = isControlled ? controlledCollapsed : internalCollapsed; const handleToggle = () => { if (isControlled) { onToggle?.(); } else { setInternalCollapsed((prev) => !prev); } }; return (