import os
import asyncio
from playwright.async_api import async_playwright

async def capture_screenshots():
    html_path = os.path.abspath('app/static/bim/index.html').replace('\\', '/')
    file_url = f'file:///{html_path}'
    work_dir = os.path.abspath('.agents/teamwork/teamwork_preview_worker_m1_1')
    async with async_playwright() as p:
        browser = await p.chromium.launch(channel="chrome", headless=True)
        page = await browser.new_page(viewport={"width": 1600, "height": 900})
        await page.goto(file_url, wait_until='load')
        await page.wait_for_timeout(1500)

        # 1. Top plan / default view
        img1 = os.path.join(work_dir, "view_top_plan_dimensions.png")
        await page.screenshot(path=img1)
        print(f"Captured: {img1}")

        # 2. Cross section preset view
        await page.click("#btnPresetCross")
        await page.wait_for_timeout(1000)
        img2 = os.path.join(work_dir, "view_cross_section_dimensions.png")
        await page.screenshot(path=img2)
        print(f"Captured: {img2}")

        # 3. 3D Isometric view
        await page.click("#btnPresetIso")
        await page.wait_for_timeout(1000)
        img3 = os.path.join(work_dir, "view_iso_3d_dimensions.png")
        await page.screenshot(path=img3)
        print(f"Captured: {img3}")

        await browser.close()

if __name__ == '__main__':
    asyncio.run(capture_screenshots())
