import sys, time, json
from pathlib import Path
sys.path.insert(0, '/app')
from pinterest.client import PinterestClient

data_dir = Path('/app/data/pinterest')
with PinterestClient(data_dir) as client:
    client.is_authenticated()
    client.page.goto('https://www.pinterest.com/rmacsparran/_created/', timeout=30000)
    time.sleep(4)

    # Click Created tab
    action_bar = client.page.query_selector('[data-test-id="action-bar"]')
    if action_bar:
        for l in action_bar.query_selector_all('a, button, div[role="tab"]'):
            if 'Created' in (l.inner_text() or ''):
                l.click()
                break
    time.sleep(5)
    client.page.evaluate('window.scrollTo(0, 300)')
    time.sleep(2)

    # Try clicking the + button in header (top right of page)
    # It's the last button-like element in the header area
    print('Clicking + header button at (926, 83)...')
    client.page.mouse.click(926, 83)
    time.sleep(3)
    client.page.screenshot(path=str(data_dir / 'debug_plus_header.png'))

    # Check for dropdown/modal
    new_items = []
    seen = set()
    for e in client.page.query_selector_all('[data-test-id], [role="dialog"], [role="menu"]'):
        try:
            testid = e.get_attribute('data-test-id') or ''
            role = e.get_attribute('role') or ''
            txt = (e.inner_text() or '').strip()[:80]
            key = (testid or role) + '|' + txt[:20]
            if key not in seen and (testid or role):
                seen.add(key)
                new_items.append({'testid': testid, 'role': role, 'txt': txt})
        except:
            pass
    print('After + click:')
    for item in new_items:
        if item['testid'] not in ['hiddenSkipToContentContainer', 'header', 'header-PartnerHeader',
                                   'pro-partner-header', 'nags-container', 'dynamic-menu-controller']:
            print(f"  testid={item['testid']!r} role={item['role']!r} txt={item['txt'][:50]!r}")
