import { Title, Meta } from "@solidjs/meta"; import { createSignal, onMount, Show, For } from "solid-js"; import { isServer } from "solid-js/web"; import { TerminalSplash } from "~/components/TerminalSplash"; export default function Resume() { const [pages, setPages] = createSignal([]); const [loading, setLoading] = createSignal(true); const [error, setError] = createSignal(false); let containerRef: HTMLDivElement | undefined; onMount(async () => { try { // Dynamically import PDF.js only on client const pdfjsLib = await import("pdfjs-dist"); // Set worker source to local file pdfjsLib.GlobalWorkerOptions.workerSrc = "/pdf.worker.min.mjs"; // Load the PDF const loadingTask = pdfjsLib.getDocument("/resume.pdf"); const pdf = await loadingTask.promise; const canvases: HTMLCanvasElement[] = []; // Render each page for (let pageNum = 1; pageNum <= pdf.numPages; pageNum++) { const page = await pdf.getPage(pageNum); const viewport = page.getViewport({ scale: 1.5 }); // Create canvas const canvas = document.createElement("canvas"); const context = canvas.getContext("2d"); if (!context) continue; canvas.height = viewport.height; canvas.width = viewport.width; canvas.className = "shadow-lg mb-4 mx-auto max-w-full"; // Render page await page.render({ canvasContext: context, viewport: viewport }).promise; canvases.push(canvas); } setPages(canvases); setLoading(false); } catch (err) { console.error("Error loading PDF:", err); setError(true); setLoading(false); } }); return ( <> Resume | Michael Freno
}>

View Resume

Unable to load PDF viewer.

} >
{(canvas) => { let divRef: HTMLDivElement | undefined; onMount(() => { if (divRef) { divRef.appendChild(canvas); } }); return
; }}
); }