diff --git a/apps/portal/package.json b/apps/portal/package.json index f135cab3..d57cdf43 100644 --- a/apps/portal/package.json +++ b/apps/portal/package.json @@ -27,6 +27,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "^7.36.1", + "react-pdf": "^5.7.2", "react-query": "^3.39.2", "superjson": "^1.10.0", "zod": "^3.18.0" @@ -37,6 +38,7 @@ "@types/node": "^18.0.0", "@types/react": "^18.0.21", "@types/react-dom": "^18.0.6", + "@types/react-pdf": "^5.7.2", "autoprefixer": "^10.4.12", "postcss": "^8.4.16", "prettier-plugin-tailwindcss": "^0.1.13", diff --git a/apps/portal/public/test_resume.pdf b/apps/portal/public/test_resume.pdf new file mode 100644 index 00000000..279b6a25 Binary files /dev/null and b/apps/portal/public/test_resume.pdf differ diff --git a/apps/portal/src/components/resumes/ResumePdf.tsx b/apps/portal/src/components/resumes/ResumePdf.tsx new file mode 100644 index 00000000..9e723924 --- /dev/null +++ b/apps/portal/src/components/resumes/ResumePdf.tsx @@ -0,0 +1,47 @@ +import { useState } from 'react'; +import { Document, Page, pdfjs } from 'react-pdf'; +import type { PDFDocumentProxy } from 'react-pdf/node_modules/pdfjs-dist'; +import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/20/solid'; +import { Button, Spinner } from '@tih/ui'; + +pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`; + +export default function ResumePdf() { + const [numPages, setNumPages] = useState(0); + const [pageNumber] = useState(1); + + const onPdfLoadSuccess = (pdf: PDFDocumentProxy) => { + setNumPages(pdf.numPages); + }; + + return ( +
+ } + onLoadSuccess={onPdfLoadSuccess}> + + + +
+
+
+ ); +} diff --git a/apps/portal/src/pages/resumes/review.tsx b/apps/portal/src/pages/resumes/review.tsx index 0afbe9ba..e15d43c2 100644 --- a/apps/portal/src/pages/resumes/review.tsx +++ b/apps/portal/src/pages/resumes/review.tsx @@ -8,16 +8,17 @@ import { } from '@heroicons/react/20/solid'; import CommentsSection from '~/components/resumes/CommentsSection'; +import ResumePdf from '~/components/resumes/ResumePdf'; export default function ResumeReviewPage() { return ( -
+

Please help moi, applying for medtech startups in Singapore