from playwright.sync_api import sync_playwright
import os

campaigns = [
    ("campaign-4", 5),
    ("campaign-5", 5),
]

base = os.path.expanduser("~/Documents/kaizen-campaign")

with sync_playwright() as p:
    browser = p.chromium.launch()
    for campaign, count in campaigns:
        for i in range(1, count + 1):
            html_path = os.path.join(base, campaign, f"slide{i}.html")
            png_path = os.path.join(base, campaign, f"slide{i}.png")
            page = browser.new_page(viewport={"width": 1080, "height": 1080})
            page.goto(f"file://{html_path}")
            page.wait_for_timeout(2000)  # Wait for fonts to load
            page.screenshot(path=png_path, type="png")
            page.close()
            print(f"✓ {campaign}/slide{i}.png")
    browser.close()
    print("All slides rendered!")
