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:
    posts_url = "https://studio.youtube.com/channel/UClZnv08RDTD4vgLOw1jmOuA/content/posts"
    manager.page.goto(posts_url, wait_until="domcontentloaded", timeout=45000)
    time.sleep(5)

    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(5)

    # Click [Tạo bài đăng]
    create_btn = manager.page.locator('button:has-text("Tạo bài đăng"), ytcp-button:has-text("Tạo bài đăng"), a:has-text("Tạo bài đăng")').first
    print("Clicking 'Tạo bài đăng'...")
    
    # Catch popup or new page if opened
    with manager.context.expect_page(timeout=10000) as new_page_info:
        create_btn.click()
    new_page = new_page_info.value
    print("New page opened! URL:", new_page.url)
    new_page.wait_for_load_state("domcontentloaded")
    time.sleep(5)
    new_page.screenshot(path="downloads/community_new_page.png")
    print("Captured new page screenshot.")

except Exception as e:
    print(f"Exception (might be in same page): {e}")
    time.sleep(4)
    print("Current page URL:", manager.page.url)
    manager.capture_status("downloads/community_same_page.png")

finally:
    manager.close()
