import { useEffect } from "react"; import { useTranslation } from "react-i18n-lite"; import { useAnnotations } from "@/context/AnnotationsContext"; import type { MarkerEntry } from "@/types"; import { CollapsibleMarkerPassage, CollapsibleMarkerThought, } from "@/components/annotations/CollapsibleMarkerText"; import { MarkerPassageActions } from "@/components/annotations/MarkerPassageActions"; interface BookMarkersPanelProps { ebookId: number; isOpen: boolean; onClose: () => void; onGoToPassage: (marker: MarkerEntry) => void; emptyHintKey?: string; } export function BookMarkersPanel({ ebookId, isOpen, onClose, onGoToPassage, emptyHintKey = "annotations.selectTextHint", }: BookMarkersPanelProps) { const { t } = useTranslation(); const { markers, loadBookmarks, removeBookmark, state } = useAnnotations(); useEffect(() => { if (isOpen) void loadBookmarks(ebookId); }, [isOpen, ebookId, loadBookmarks]); if (!isOpen) return null; return ( <>
> ); }