import { chromium } from "playwright";

async function main() {
  const browser = await chromium.launch({ headless: true });
  const page = await browser.newPage();
  await page.goto(
    "https://www.priority1.com/instant-freight-quotes/#New%20Step%201",
    { waitUntil: "domcontentloaded" },
  );
  await page.locator("#container-mh").waitFor();
  await page.waitForTimeout(2000);

  const info = await page.evaluate(() => {
    const ltl = document.querySelector("#cb_st_ltl") as HTMLInputElement | null;
    return {
      exists: !!ltl,
      checked: ltl?.checked,
      display: ltl ? getComputedStyle(ltl).display : null,
      visibility: ltl ? getComputedStyle(ltl).visibility : null,
      opacity: ltl ? getComputedStyle(ltl).opacity : null,
      inMh: !!ltl?.closest("#container-mh"),
    };
  });
  console.log("ltl:", info);

  await page
    .locator("#container-mh")
    .getByText(/Less Than Truckload/i)
    .first()
    .click({ noWaitAfter: true });
  await page.waitForTimeout(800);

  const after = await page.evaluate(() => {
    const ltl = document.querySelector("#cb_st_ltl") as HTMLInputElement | null;
    const all = [...document.querySelectorAll("#cb_st_ltl")].map((el) => ({
      checked: (el as HTMLInputElement).checked,
      inMh: !!el.closest("#container-mh"),
    }));
    const zipVisible = !!document.querySelector("#container-mh #origin-zip");
    const zipDisabled = (
      document.querySelector("#container-mh #origin-zip") as HTMLInputElement | null
    )?.disabled;
    return { checked: ltl?.checked, all, zipVisible, zipDisabled };
  });
  console.log("after card click:", after);

  await browser.close();
}

main().catch(console.error);
