import sys
from playwright.sync_api import sync_playwright
from _pw import get_ffg_page
section=sys.argv[1]
def nav(page,name):
    for a in page.query_selector_all("a"):
        if a.is_visible() and (a.inner_text() or "").strip().split("\n")[0].strip()==name:
            a.click(); page.wait_for_load_state("networkidle", timeout=20000); return True
    return False
def labtext(page,eid):
    if not eid: return ""
    l=page.query_selector(f'label[for="{eid}"]')
    return (l.inner_text() or "").strip() if l else ""
with sync_playwright() as p:
    browser, page = get_ffg_page(p)
    nav(page,"Projektdaten"); page.wait_for_timeout(400)
    for a in page.query_selector_all("a"):
        if a.is_visible() and (a.inner_text() or "").strip().split("\n")[0].strip()==section:
            a.click(); page.wait_for_load_state("networkidle", timeout=20000); break
    page.wait_for_timeout(800)
    TEXT={"Vorname":"Nemanja","Nachname":"Klincov","E-Mail":"nemanja@breact.ai",
          "Strasse, Hausnummer":"Esslinggasse 5/Top1","PLZ":"1010","Ort":"Wien"}
    for el in page.query_selector_all("input[type=text]"):
        if not el.is_visible(): continue
        lab=labtext(page, el.get_attribute("id") or "")
        for k,v in TEXT.items():
            if lab.startswith(k):
                el.fill(v); print(f"  {k} = {v}"); break
    # selects: Geschlecht (Männlich), Staat (Österreich), Bundesland (Wien)
    for s in page.query_selector_all("select"):
        if not s.is_visible(): continue
        lab=labtext(page, s.get_attribute("id") or "")
        opts={ (o.inner_text() or "").strip():o.get_attribute("value") for o in s.query_selector_all("option")}
        if "Männlich" in opts and not lab:
            s.select_option(label="Männlich"); print("  Geschlecht = Männlich")
        elif lab.startswith("Staat") and "Österreich" in opts:
            s.select_option(label="Österreich"); print("  Staat = Österreich")
        elif lab.startswith("Bundesland") and "Wien" in opts:
            s.select_option(label="Wien"); print("  Bundesland = Wien")
    page.wait_for_timeout(400)
    btn=page.query_selector("input[value='Speichern']")
    if btn: btn.click(); page.wait_for_load_state("networkidle", timeout=20000); page.wait_for_timeout(900)
    for a in page.query_selector_all("a"):
        t=(a.inner_text() or "").strip()
        if t.startswith(section):
            print("STATUS", section, ":", "🔴" if "Prüfregeln" in t else "🟢"); break
