```"use client"; import "react-pdf/dist/Page/AnnotationLayer.css"; import "react-pdf/dist/Page/TextLayer.css"; import { Document, Page, pdfjs } from "react-pdf"; import { useEffect, useState } from "react"; import { Button } from "./ui/button"; import { Loader2Icon, RotateCw, ZoomInIcon, ZoomOutIcon } from "lucide-react"; // We need to configure CORS // gsutil cors set cors.json gs://.appspot.com // gsutil cors set cors.json gs://chat-with-pdf-challenge.appspot.com // go here >>> https://console.cloud.google.com/ // create new file in editor calls cors.json // run >>> // gsutil cors set cors.json gs://chat-with-pdf-challenge.appspot.com // https://firebase.google.com/docs/storage/web/download-files#cors_configuration pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`; function PdfView({ url }: { url: string }) { const [numPages, setNumPages] = useState(); const [pageNumber, setPageNumber] = useState(1); const [file, setFile] = useState(null); const [rotation, setRotation] = useState(0); const [scale, setScale] = useState(1); useEffect(() => { const fetchFile = async () => { const response = await fetch(url); const file = await response.blob(); setFile(file); }; fetchFile(); }, [url]); const onDocumentLoadSuccess = ({ numPages }: { numPages: number }): void => { setNumPages(numPages); }; return (

{pageNumber} of {numPages}

{!file ? ( ) : ( )}
); } export default PdfView; ```