daedalOS/components/apps/PDF/index.tsx
Dustin Brett 24c17c0088
Some checks failed
Tests / tests (push) Has been cancelled
Add memo to everything
2025-07-01 09:10:22 -07:00

33 lines
1006 B
TypeScript

import { memo, useRef } from "react";
import Page from "components/apps/PDF/Page";
import Controls from "components/apps/PDF/Controls";
import StyledPDF from "components/apps/PDF/StyledPDF";
import usePDF from "components/apps/PDF/usePDF";
import { type ComponentProcessProps } from "components/system/Apps/RenderComponent";
import useFileDrop from "components/system/Files/FileManager/useFileDrop";
const PDF: FC<ComponentProcessProps> = ({ id }) => {
const containerRef = useRef<HTMLDivElement>(null);
return (
<>
<StyledPDF ref={containerRef} {...useFileDrop({ id })}>
<ol className="pages">
{usePDF(id, containerRef).map((canvas, index) => (
<Page
// eslint-disable-next-line react/no-array-index-key
key={index}
canvas={canvas}
id={id}
page={index + 1}
/>
))}
</ol>
</StyledPDF>
<Controls id={id} />
</>
);
};
export default memo(PDF);