HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/kommabasic.nl/resources/js/components/cookieHandler.js
/* ==========================================================================
   Cookie handler
   - Primary usage for toggling the cookie message and/or switch
 ========================================================================== */

const CookieHandler = {

    cookieBar : null,
    cookieMessage : null,

    cookieFadeOutAnimationDuration : 400,
    acceptTracking : false,

    // Initialize cookie handler
    init : function()
    {
        // Bind cookie bar to cookieMessage
        CookieHandler.cookieMessage = document.querySelector('.js-cookie-bar');

        // Bind cookie bar to cookieBar
        CookieHandler.cookieBar = document.querySelector('.js-cookie-bar');

        // If isset init the functions for cookie bar
        if(isset(CookieHandler.cookieBar)){
            CookieHandler.initCookieBar();
        }

        // If either type of cookie has been found check if settings are defined
        if(isset(CookieHandler.cookieMessage)){
            CookieHandler.checkForCookieSettings();
        }

    },

    // Init the cookie bar actions
    initCookieBar: function(){
        const closeButton = CookieHandler.cookieBar.querySelector('.js-disable-cookie-bar');
        if(isset(closeButton)){
            closeButton.addEventListener('click', CookieHandler.closeCookieMessage);
        }
    },

    checkForCookieSettings: function(){
        if (Cookie.get('cookieMessage')) {
            CookieHandler.cookieMessage.classList.add('is-accepted');
            document.body.classList.add('is-cookies-accepted');
        }
        else {
            CookieHandler.cookieMessage.classList.remove('is-accepted');
            document.body.classList.remove('is-cookies-accepted');
        }
    },

    closeCookieMessage: function (){
        Cookie.set('cookieMessage', true, 90);
        CookieHandler.cookieMessage.classList.add('is-transitioning-out');
        document.body.classList.add('is-cookies-accepted');
    },

    setCookieSettings: function () {

        // Set tracking cookie or delete it if isset according to the desired settings
        if(CookieHandler.acceptTracking){
            Cookie.set('trackingCookieAccepted', 'true', 90);
        }
        else{
            if(Cookie.get('trackingCookieAccepted')){
                Cookie.erase('trackingCookieAccepted');
            }
        }

        CookieHandler.closeCookieMessage();

        // Reload after animation to automatically trigger the tracking after accepting it
        setTimeout(function(){
            location.reload()
        }, CookieHandler.cookieFadeOutAnimationDuration);
    },

};

CookieHandler.init();