// Erzeugt das Abgabe-PDF aus docs/howto.html.
// Die Vorlage bringt ihre eigenen @page-Regeln mit, deshalb preferCSSPageSize.
import { chromium } from "@playwright/test";

const source = new URL("../docs/howto.html", import.meta.url);
const target = new URL("../public/kernel-panic-projektarbeit.pdf", import.meta.url);

const browser = await chromium.launch({ executablePath: "/usr/bin/chromium" });

try {
  const page = await browser.newPage();
  await page.goto(source.href, { waitUntil: "load" });
  // Bilder müssen fertig geladen sein, sonst bleiben Rahmen leer.
  await page.waitForFunction(() =>
    Array.from(document.images).every((image) => image.complete)
  );
  await page.pdf({
    path: new URL(target).pathname,
    printBackground: true,
    preferCSSPageSize: true
  });
} finally {
  await browser.close();
}

console.log(`PDF geschrieben: ${new URL(target).pathname}`);
