sigit.io/src/components/PDFView/index.tsx

33 lines
934 B
TypeScript
Raw Normal View History

import { PdfFile } from '../../types/drawing.ts'
import { Box } from '@mui/material'
import PdfItem from './PdfItem.tsx'
import { Mark, MarkConfigDetails } from '../../types/mark.ts'
interface PdfViewProps {
files: { [filename: string]: PdfFile },
fileHashes: { [key: string]: string | null },
marks: Mark[],
handleMarkClick: (id: number) => void
}
const PdfView = ({ files, fileHashes, marks, handleMarkClick }: PdfViewProps) => {
const filterByFile = (marks: Mark[], fileHash: string): Mark[] => {
return marks.filter((mark) => mark.pdfFileHash === fileHash);
}
return (
<Box sx={{ width: '100%' }}>
{Object.entries(files)
.map(([name, file], i) => (
<PdfItem
pdfFile={file}
key={i}
marks={filterByFile(marks, fileHashes[name] ?? "")}
handleMarkClick={handleMarkClick}
/>
))}
</Box>
)
}
export default PdfView;