export const isLivestream = () => {
    const timeDisplay = document.querySelector('.ytp-time-display');
    const chatApp = document.querySelector('yt-live-chat-app');
    const chatHeader = document.querySelector('.yt-live-chat-renderer-0');
    const timeDisplayCheck = timeDisplay && timeDisplay.classList.contains('ytp-live');
    const chatCheck = (document.body.contains(chatApp) || document.body.contains(chatHeader));

    return (timeDisplayCheck || chatCheck);
};

// isYoutubeGaming checks for the presence of ytg-app, the top level element for YT Gaming
export const isYoutubeGaming = () => {
    return !!document.querySelector('ytg-app');
};

// isYoutubeEmbed checks that this is an iframe, and it is being used on youtube.com
export const isYoutubeVanilla = () => {
    // window.frameElement is only available from youtube.com sites from within iframe per CORS
    return !!window.frameElement;
};

// isYoutubeEmbed checks that this is an iframe, and it is **not** loaded from youtube.com (main site uses embed too)
export const isYoutubeEmbed = () => {

    // If the frameElement is available, then CORS means that we must be on youtube.com.
    if (window.frameElement) {
        return false;
    }

    // If the window location isn't the parent location, then we are in an iframe.
    return (window.location != window.parent.location);
};

// isPopOut fix for popout page
export const isPopOut = () => {
    
    // If the frameElement is available, then CORS means that we must be on youtube.com.
    if (window.frameElement) {
        return false;
    }

    // Checks href for page 
    if(window.location.href.includes('is_popout=1')){
        return !!window.location.href.includes('popout=1');
    }

    return false;
};