renderInnerPage() {
        if (!this.renderArea) return this;
        const page = this.checkActivePage();
        const pageTitle = page.title;

        const feedbackName = page.completed ? `${page.title}_complete` : `${page.title}_feedback`;
        if (!this.parsedHTML[pageTitle]) return this;
        if (this.currentlyRenderedHTML == pageTitle && page.currentPage == this.currentlyRenderedPageNumber) return this;

        this.renderArea.innerHTML = "";
        if (
            this.renderArea.append(this.parsedHTML[pageTitle].querySelector(`.page${page.currentPage}`))
        ) console.log("append ran");
        this.parseHTML(page.title, this.warehouse.cache[page.title]);
        this.currentlyRenderedHTML = pageTitle;
        this.currentlyRenderedPageNumber = page.currentPage;

        this.feedbackArea.innerHTML = "";

        if (this.warehouse.cache[feedbackName]) {
            this.parseHTML(feedbackName, this.warehouse.cache[feedbackName]);
            console.log(this.parsedHTML[feedbackName].body);
            this.feedbackArea.append(this.parsedHTML[feedbackName].body);
        };
        for (let accordion of document.querySelectorAll(".accordion")) if (accordion.children.length > 1) {
            accordion.children[1].classList.add("hide-content");
            accordion.children[0].addEventListener("click", () => accordion.children[1].classList.toggle("hide-content"));
        }

        return this;
    }
/**
     * renderInnerPage  ::  Void  ->  store object
     * 
     * Method swaps out the page being displayed inside the lesson area, first it destroys the 
     *      contents of the lessons area then the this.parsedHTML object has a node of a dom 
     *      matching the new page pulled out and appended to the display area. it then re-renders
     *      a new DOM object using the parseHTML method to replace the node that was pulled out
     * 
     * Returns this to allow for method chainings
     */
renderInnerPage  ::  Void  ->  store object

Method swaps out the page being displayed inside the lesson area, first it destroys the
contents of the lessons area then the this.parsedHTML object has a node of a dom
matching the new page pulled out and appended to the display area. it then re-renders
a new DOM object using the parseHTML method to replace the node that was pulled out

Returns this to allow for method chainings
renderInnerPage :: Void - > store object Method swaps out the page being displayed inside the lesson area first it destroys the contents of the lessons area then the this . parsedHTML object has a node of a dom matching the new page pulled out and appended to the display area . it then re - renders a new DOM object using the parseHTML method to replace the node that was pulled out Returns this to allow for method chainings
renderInnerPage() {
        if (!this.renderArea) return this;
        const page = this.checkActivePage();
        const pageTitle = page.title;
        const feedbackName = page.completed ? `${page.title}_complete` : `${page.title}_feedback`;
        if (!this.parsedHTML[pageTitle]) return this;
        if (this.currentlyRenderedHTML == pageTitle && page.currentPage == this.currentlyRenderedPageNumber) return this;
        this.renderArea.innerHTML = "";
        if (
            this.renderArea.append(this.parsedHTML[pageTitle].querySelector(`.page${page.currentPage}`))
        ) console.log("append ran");
        this.parseHTML(page.title, this.warehouse.cache[page.title]);
        this.currentlyRenderedHTML = pageTitle;
        this.currentlyRenderedPageNumber = page.currentPage;
        this.feedbackArea.innerHTML = "";
        if (this.warehouse.cache[feedbackName]) {
            this.parseHTML(feedbackName, this.warehouse.cache[feedbackName]);
            console.log(this.parsedHTML[feedbackName].body);
            this.feedbackArea.append(this.parsedHTML[feedbackName].body);
        };
        for (let accordion of document.querySelectorAll(".accordion")) if (accordion.children.length > 1) {
            accordion.children[1].classList.add("hide-content");
            accordion.children[0].addEventListener("click", () => accordion.children[1].classList.toggle("hide-content"));
        }
        return this;
    }
renderInnerPage ( ) { if ( ! this . renderArea ) return this ; const page = this . checkActivePage ( ) ; const pageTitle = page . title ; const feedbackName = page . completed ? ` ${ page . title } ` : ` ${ page . title } ` ; if ( ! this . parsedHTML [ pageTitle ] ) return this ; if ( this . currentlyRenderedHTML == pageTitle && page . currentPage == this . currentlyRenderedPageNumber ) return this ; this . renderArea . innerHTML = "" ; if ( this . renderArea . append ( this . parsedHTML [ pageTitle ] . querySelector ( ` ${ page . currentPage } ` ) ) ) console . log ( "append ran" ) ; this . parseHTML ( page . title , this . warehouse . cache [ page . title ] ) ; this . currentlyRenderedHTML = pageTitle ; this . currentlyRenderedPageNumber = page . currentPage ; this . feedbackArea . innerHTML = "" ; if ( this . warehouse . cache [ feedbackName ] ) { this . parseHTML ( feedbackName , this . warehouse . cache [ feedbackName ] ) ; console . log ( this . parsedHTML [ feedbackName ] . body ) ; this . feedbackArea . append ( this . parsedHTML [ feedbackName ] . body ) ; } ; for ( let accordion of document . querySelectorAll ( ".accordion" ) ) if ( accordion . children . length > 1 ) { accordion . children [ 1 ] . classList . add ( "hide-content" ) ; accordion . children [ 0 ] . addEventListener ( "click" , ( ) => accordion . children [ 1 ] . classList . toggle ( "hide-content" ) ) ; } return this ; }
renderInnerPage  ::  Void  ->  store object
renderInnerPage :: Void - > store object