import styles from '../DrawPDFFields/style.module.scss' import { PdfPage } from '../../types/drawing.ts' import { CurrentUserMark } from '../../types/mark.ts' import PdfMarkItem from './PdfMarkItem.tsx' import { useEffect, useRef } from 'react' interface PdfPageProps { page: PdfPage currentUserMarks: CurrentUserMark[] handleMarkClick: (id: number) => void selectedMarkValue: string selectedMark: CurrentUserMark | null } /** * Responsible for rendering a single Pdf Page and its Marks */ const PdfPageItem = ({ page, currentUserMarks, handleMarkClick, selectedMarkValue, selectedMark }: PdfPageProps) => { useEffect(() => { if (selectedMark !== null && !!markRefs.current[selectedMark.id]) { markRefs.current[selectedMark.id]?.scrollIntoView({ behavior: 'smooth', block: 'end' }) } }, [selectedMark]) const markRefs = useRef<(HTMLDivElement | null)[]>([]) return (
{currentUserMarks.map((m, i) => (
(markRefs.current[m.id] = el)}>
))}
) } export default PdfPageItem