import { ListTree, X } from "lucide-react"; import React, { useEffect, useMemo, useState } from "react"; import { extractNoteHeadings, type NoteHeadingItem } from "../../domain/notes"; import { useI18n } from "../../application/i18n/I18nProvider"; export interface NoteOutlineProps { content: string; onSelectHeading?: (heading: NoteHeadingItem, index: number) => void; onClose?: () => void; className?: string; } export const NoteOutline: React.FC = ({ content, onSelectHeading, onClose, className = "", }) => { const { t } = useI18n(); const headings = useMemo(() => extractNoteHeadings(content), [content]); const [activeHeadingId, setActiveHeadingId] = useState(null); const minimumHeadingLevel = useMemo( () => headings.length > 0 ? Math.min(...headings.map((heading) => heading.level)) : 1, [headings], ); useEffect(() => { setActiveHeadingId(null); }, [content]); return ( ); };