JSFiddle - React, Tailwind, and code Playground

by Tgwizman

JavaScript

cookie = {
    set : function (key, value, days, domain, path, secure) {
        var expires = '',
            cookie = '',
            date;
        path = typeof(path)==='string' ? path : '';
        if (days) {
            date = new Date();
            date.setTime(date.getTime() + days*24*60*60*1000);
            expires = "; expires="+date.toGMTString();
        }
        cookie = key + "=" + encodeURIComponent(value) + expires + "; path=/"+path.replace(/^\//,'');
        if (typeof(domain)==='string' && domain.length>0) {
            cookie += '; domain=' + domain.replace(/[\;\,]/,'');
        }
        if (secure===true) {
            cookie += '; secure';
        }
        document.cookie = cookie;
    },
    get : function (key) {
        var c, i, ca = document.cookie.split(';');
        for (i=0; i<ca.length; i++) {
            c = ca[i].replace(/^\s+/gim,'');
            if (c.indexOf(key+"=")===0) {
                return decodeURIComponent(c.substring(key.length+1,c.length));
            }
        }
        return null;
    },
    remove	: function (key) {
        this.set(key, "", -1);
    }
};

username = cookie.get('username');
if (username) {
    console.log('Logged in as ' + cookie.get('username'));
} else {
    cookie.set('username',prompt('Username?'));
}