Skip to content
Snippets Groups Projects
parent.ts 1.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • RMidhunSuresh's avatar
    RMidhunSuresh committed
    import { resizeIframe, toggleIframe, removeIframe } from "./iframe";
    
    import { loadStartButton } from "./load";
    
    Midhun Suresh's avatar
    Midhun Suresh committed
    import "./parent-style.css";
    
    (window as any).isIframeLoaded = false;
    
    Midhun Suresh's avatar
    Midhun Suresh committed
    
    
    RMidhunSuresh's avatar
    RMidhunSuresh committed
    function setUnreadCount(count) {
        const notification = document.querySelector(".notification-badge") as HTMLSpanElement;
        if (count === 0) {
            notification.classList.add("hidden");
        }
        else {
            notification.innerText = count;
            notification.classList.remove("hidden");
        }
    }
    
    
    Midhun Suresh's avatar
    Midhun Suresh committed
    window.addEventListener("message", event => {
        const { action } = event.data;
        switch (action) {
            case "resize-iframe":
    
    RMidhunSuresh's avatar
    RMidhunSuresh committed
                if (event.data.view === "timeline") {
                    // Chatterbox has made it to the timeline!
                    // Store this is info in localStorage so that we know to load chatterbox in background
                    // in subsequent visits.
                    window.localStorage.setItem("chatterbox-should-load-in-background", "true");
                }
    
                resizeIframe(event.data);
    
    Midhun Suresh's avatar
    Midhun Suresh committed
                break;
            case "minimize":
    
                toggleIframe();
    
    Midhun Suresh's avatar
    Midhun Suresh committed
                break;
    
    RMidhunSuresh's avatar
    RMidhunSuresh committed
            case "unread-message":
                setUnreadCount(event.data.count);
                break;
    
    RMidhunSuresh's avatar
    RMidhunSuresh committed
            case "error":
                removeIframe();
                break;
    
    Midhun Suresh's avatar
    Midhun Suresh committed
        }
    });
    
    
    loadStartButton();