import { chromium } from 'playwright-core';
const exe = process.env.HOME + '/Library/Caches/ms-playwright/chromium-1223/chrome-mac-arm64/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing';
const browser = await chromium.launch({ executablePath: exe });
const page = await browser.newPage({ viewport: { width: 390, height: 760 }, deviceScaleFactor: 2 });
// keep the loader on screen long enough: throttle nothing, just capture during initial window
const resp = page.goto('http://localhost:3000/contact', { waitUntil: 'commit' }).catch(()=>{});
// poll quickly for the loader + logo box while visible
let measured = null;
for (let i=0;i<40;i++){
  try {
    const m = await page.evaluate(()=>{
      const loader=document.querySelector('.dm-loader'); const logo=document.querySelector('.dm-loader__logo');
      if(!loader||!logo) return null;
      const r=logo.getBoundingClientRect();
      return { vw:innerWidth, logoLeft:Math.round(r.left), logoRight:Math.round(r.right), logoW:Math.round(r.width), centerOffset:Math.round((r.left+r.width/2)-(innerWidth/2)) };
    });
    if(m){ measured=m; if(i===2){ await page.screenshot({path:'/tmp/loader.png'}); } }
  } catch(e){}
  await page.waitForTimeout(40);
}
console.log(JSON.stringify(measured));
await browser.close();
