from playwright.sync_api import sync_playwright, TimeoutError as PlaywrightTimeout

######################### AUTO RECRUITER #######################
# def run_scraper(username, password):

#     with sync_playwright() as p:

#         browser = p.chromium.launch(headless=False)
#         page = browser.new_page()

#         page.goto(
#             "https://auto-recruiter.itconnectus.com/authlogin",
#             wait_until="networkidle"
#         )

#         # Fill login form
#         page.fill("#email-login", username)
#         page.fill("#password-login", password)

#         page.get_by_role("button", name="Sign In").click()

#         try:
#             # Wait for element that appears after login
#             page.wait_for_selector("text=Dashboard", timeout=10000)

#             login_status = "Login Successful"

#         except PlaywrightTimeout:
#             login_status = "Login Failed"

#         browser.close()

#     return login_status


######################### LINKEDIN #######################
# def run_scraper(username, password):

#     with sync_playwright() as p:

#         browser = p.chromium.launch(headless=False)
#         page = browser.new_page()

#         page.goto(
#             "https://www.linkedin.com/login-cap",
#             wait_until="networkidle"
#         )

#         # Fill login form
#         page.fill("#username", username)
#         page.fill("#password", password)

#         page.get_by_role("button", name="Sign in").click()

#         try:
#             # Wait for element that appears after login
#             page.wait_for_selector("text=Dashboard", timeout=10000)

#             login_status = "Login Successful"

#         except PlaywrightTimeout:
#             login_status = "Login Failed"

#         browser.close()

#     return login_status

######################### FOUNDIT #######################
def run_scraper(username, password):

    with sync_playwright() as p:

        browser = p.chromium.launch(headless=False)
        page = browser.new_page()

        page.goto(
            "https://recruiter.foundit.sg/",
            wait_until="networkidle"
        )

        # Fill login form
        page.fill("#login_username", username)
        page.fill("#password", password)

        page.get_by_role("button", name="Login").click()

        try:
            # search_link = page.locator("a:has-text('Search')")
            # search_link.wait_for(timeout=10000)

            # # Click Search
            # search_link.click()

            page.wait_for_load_state("networkidle")

            # Click Search Candidates
            page.locator("text=Search Candidates").click()

            login_status = "Login Successful"

        except PlaywrightTimeout:
            login_status = "Login Failed"

        # browser.close()

    return login_status