# apps/aroflo_connector_app/ui_automation_zones/zones/timesheets/selectors.py
from __future__ import annotations

from playwright.sync_api import Page, Locator


def manage_menu(page: Page) -> Locator:
    # AroFlo suele tener "Manage" en top nav
    return page.locator('a:has-text("Manage"), button:has-text("Manage")')


def timesheets_link(page: Page) -> Locator:
    return page.locator('a:has-text("Timesheets"), a[href*="Timesheet"]')


def timesheet_ready_text(page: Page) -> Locator:
    # Pantalla del daily timesheet
    return page.locator('text="Daily Timesheet", text="Timesheet for"')


def ensure_on_ims(page: Page) -> None:
    if "/ims/" not in (page.url or ""):
        raise RuntimeError(f"Not in /ims/: url={page.url}")
