import sys, os, time
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from youtube_studio_manager import YouTubeStudioManager

manager = YouTubeStudioManager(mode='chrome_stealth')
manager.start(headless=False)

try:
    analytics_url = "https://studio.youtube.com/channel/UClZnv08RDTD4vgLOw1jmOuA/analytics"
    print(f"Navigating to Analytics: {analytics_url}")
    manager.page.goto(analytics_url, wait_until="domcontentloaded", timeout=45000)
    time.sleep(6)

    # Check for bypass button if any
    bypass = manager.page.locator('a:has-text("CHUYỂN THẲNG ĐẾN YOUTUBE STUDIO"), a:has-text("CONTINUE TO YOUTUBE STUDIO")').first
    if bypass.is_visible(timeout=3000):
        bypass.click()
        time.sleep(6)

    # Capture overview screenshot
    manager.capture_status("downloads/analytics_overview.png")

    # Extract text from overview cards
    overview_data = manager.page.evaluate("""
    () => {
        const cards = Array.from(document.querySelectorAll('ytcp-metric-card, ytcp-ve, .metric-card, .metric-value')).map(el => ({
            tag: el.tagName,
            id: el.id,
            text: (el.innerText || '').replace(/\\n+/g, ' | ').substring(0, 150)
        }));
        const realtime = document.querySelector('#realtime-summary-card, ytcp-realtime-card');
        const realtimeText = realtime ? realtime.innerText.replace(/\\n+/g, ' | ') : 'N/A';
        return { cards: cards.slice(0, 15), realtimeText };
    }
    """)
    print("Overview Data:", overview_data)

    # Navigate to Reach / Content tab (Nội dung / Phạm vi tiếp cận)
    reach_tab = manager.page.locator('tp-yt-paper-tab:has-text("Nội dung"), tp-yt-paper-tab:has-text("Content"), tp-yt-paper-tab:has-text("Phạm vi tiếp cận")').first
    if reach_tab.is_visible(timeout=5000):
        reach_tab.click()
        time.sleep(4)
        manager.capture_status("downloads/analytics_reach.png")
        print("Captured Reach tab.")

finally:
    manager.close()
