#!/usr/bin/env bash
#
# Regeneriert die gebrandeten PDFs in public/dokumente/.
#
# Voraussetzungen:
#   - Google Chrome installiert (/Applications/Google Chrome.app)
#   - Für satzung.pdf: Dev-Server läuft  ->  npm run dev   (http://localhost:4321)
#
# Quelle der PDFs:
#   - satzung.pdf          <- die Astro-Seite /satzung (Print-CSS == PDF)
#   - beitragsordnung.pdf  <- docs-src/beitragsordnung.html
#   - aufnahmeantrag.pdf   <- docs-src/aufnahmeantrag.html
#
# Aufruf:  bash docs-src/gen.sh
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
CHROME="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
OUT="$ROOT/public/dokumente"
mkdir -p "$OUT"

gen() { # $1 = url/file, $2 = output filename
  local prof; prof="$(mktemp -d)"
  # perl alarm = harte 45s-Schranke (macOS hat kein `timeout`; Chrome hängt gelegentlich)
  perl -e 'alarm 45; exec @ARGV' \
    "$CHROME" --headless=new --disable-gpu --no-first-run --no-default-browser-check \
    --user-data-dir="$prof" --hide-scrollbars --no-pdf-header-footer \
    --print-to-pdf="$OUT/$2" "$1" >/dev/null 2>&1 || true
  rm -rf "$prof"
  echo "  -> $2 ($(du -h "$OUT/$2" | cut -f1))"
}

echo "Generiere PDFs ..."
gen "http://localhost:4321/satzung" "satzung.pdf"
gen "file://$ROOT/docs-src/beitragsordnung.html" "beitragsordnung.pdf"
gen "file://$ROOT/docs-src/aufnahmeantrag.html" "aufnahmeantrag.pdf"
echo "Fertig."
