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:
    edit_url = "https://studio.youtube.com/video/MtB7VLHfcDk/edit"
    manager.page.goto(edit_url, wait_until="domcontentloaded", timeout=45000)
    time.sleep(5)

    manager.page.mouse.move(500, 500)
    manager.page.mouse.wheel(0, 400)
    time.sleep(2)

    # 1. Click pencil icon on "Video có liên quan"
    related_btn = manager.page.locator("button:has-text('Video có liên quan'), #related-video-editor ytcp-icon-button, [aria-label*='liên quan']").first
    # Or find the pencil icon inside the related video container
    pencil = manager.page.locator("ytcp-icon-button[aria-label*='chỉnh sửa' i], ytcp-icon-button[aria-label*='edit' i], #edit-related-video-button").first
    print("Trying to find pencil icon for related video...")
    
    # Let's inspect all buttons around related video
    buttons = manager.page.evaluate("""
    () => {
        const elements = Array.from(document.querySelectorAll('ytcp-icon-button, button'));
        return elements.filter(el => {
            const label = el.getAttribute('aria-label') || '';
            const parent = el.closest('#related-video-editor, ytcp-video-metadata-editor-sidepanel, .sidepanel');
            return parent !== null;
        }).map(el => ({
            tag: el.tagName,
            id: el.id,
            ariaLabel: el.getAttribute('aria-label'),
            text: el.innerText
        }));
    }
    """)
    print("Sidepanel buttons:", buttons)

    # Click the pencil button in the sidepanel
    manager.page.evaluate("""
    () => {
        const container = Array.from(document.querySelectorAll('*')).find(el => (el.innerText || '').includes('Video có liên quan'));
        if (container) {
            const btn = container.parentElement ? container.parentElement.querySelector('ytcp-icon-button, button') : null;
            if (btn) btn.click();
        }
    }
    """)
    time.sleep(3)
    manager.capture_status("downloads/studio_short_related_clicked.png")

    # Let's check thumbnail "Xem đề xuất"
    suggest_btn = manager.page.locator("button:has-text('Xem đề xuất'), ytcp-button:has-text('Xem đề xuất')").first
    print("Suggest btn count:", suggest_btn.count())

finally:
    manager.close()
