#!/usr/bin/env python3
"""Test render of 01-hook only."""
import os
from playwright.sync_api import sync_playwright

W, H, FPS = 1920, 1080, 30
BASE = '/tmp/raportis-promo'

# Minimal HTML — no GSAP
html_content = """<!DOCTYPE html><html><head>
<meta charset="utf-8"><meta name="viewport" content="width=1920, height=1080">
<style>
body{background:#0f172a;display:flex;align-items:center;justify-content:center}
.c{text-align:center;color:#fff;font-family:sans-serif}
.c h1{font-size:68px;font-weight:900}
.c h1 span{color:#3b82f6}
.c p{font-size:36px;color:#94a3b8;margin-top:24px}
</style>
</head><body><div class="c"><h1>Raportis</h1><p>La fin des rapports manuels.</p></div></body></html>"""

print("Starting...")
with sync_playwright() as p:
    print("Launching browser...")
    browser = p.chromium.launch(
        executable_path='/usr/bin/chromium',
        headless=True,
        args=['--no-sandbox','--disable-gpu','--disable-dev-shm-usage']
    )
    print("Browser started")
    page = browser.new_page()
    page.set_viewport_size({"width": W, "height": H})
    print("Page opened")
    tmp = f'{BASE}/_test.html'
    with open(tmp, 'w') as f:
        f.write(html_content)
    page.goto(f'file://{tmp}', wait_until='networkidle')
    print("Page loaded")
    page.wait_for_timeout(1000)
    print("Taking screenshots...")
    for frame in range(FPS * 3):
        page.screenshot(path=f'{BASE}/frames/01-hook/frame_{frame:05d}.png', clip={"x":0,"y":0,"width":W,"height":H})
        if frame % 10 == 0:
            print(f"  Frame {frame}")
    page.close()
    browser.close()
print("Done!")
