#!/usr/bin/env python3
from playwright.sync_api import sync_playwright
from pathlib import Path

OUTPUT_DIR = Path("/home/jay/workspace/output/banners/versions/v-round2/cell-9-snu-support")

banners = [
    {
        "html": OUTPUT_DIR / "meta-feed-1080x1080.html",
        "png": OUTPUT_DIR / "meta-feed-1080x1080.png",
        "w": 1080, "h": 1080,
    },
    {
        "html": OUTPUT_DIR / "google-resp-1200x628.html",
        "png": OUTPUT_DIR / "google-resp-1200x628.png",
        "w": 1200, "h": 628,
    },
]

with sync_playwright() as p:
    browser = p.chromium.launch()
    for b in banners:
        print(f"Rendering {b['html'].name} ({b['w']}x{b['h']})...")
        page = browser.new_page(viewport={"width": b["w"], "height": b["h"]})
        page.goto(f"file://{b['html']}", wait_until="networkidle")
        page.wait_for_timeout(2500)
        page.screenshot(
            path=str(b["png"]),
            type="png",
            clip={"x": 0, "y": 0, "width": b["w"], "height": b["h"]}
        )
        page.close()
        size = b["png"].stat().st_size if b["png"].exists() else 0
        print(f"  -> {b['png'].name} ({size:,} bytes) {'OK' if size > 0 else 'FAILED'}")
    browser.close()

print("\n[완료] 렌더링 종료")
