FastComments VanillaJS Paginated

by winrid

HTML

<script src="https://fastcomments.com/js/embed.js"></script>
<meta name='viewport' content='width=device-width'>

<button onclick="prev()">Prev</button>
<button onclick="next()">Next</button>

<h2 id="page-number"></h2>
<div id="fastcomments-widget"></div>

JavaScript

let pageNumber = 0;
    function getUrlId() {
        return '#page-' + pageNumber;
    }
    function getUrl() {
        return 'https://example.com/#page-' + pageNumber;
    }

    function updatePageDisplay() {
        document.getElementById('page-number').innerHTML = 'Page: ' + (pageNumber + 1);
    }

    const config = {
        tenantId: 'nYrnfYEv',
        url: getUrl()
    };
    config.urlId = getUrlId();
    const widgetInstance = window.FastCommentsUI(document.getElementById('fastcomments-widget'), config);
    updatePageDisplay();

    function next() {
        pageNumber++;
        console.log('next', pageNumber);
        update();
    }

    function prev() {
        pageNumber--;
        console.log('prev', pageNumber);
        update();
    }

    function update() {
        updatePageDisplay();
        widgetInstance.update({
            ...config,
            urlId: getUrlId(),
            url: getUrl()
        });
    }