JSFiddle - React, Tailwind, and code Playground
by Neal Shyam
HTML
<a href target="_blank" class="devpostButton" data-slug="artik" data-begin="2015-09-27 10:00 EST" data-deadline="2015-10-01 10:00 EST" data-defcss="true" >Submit your hack on Devpost</a>
JavaScript
var devpostButton = document.getElementsByClassName("devpostButton")[0];
var devpostButtonDeadline = Date.parse(devpostButton.dataset.deadline);
var devpostButtonStart = Date.parse(devpostButton.dataset.begin);
if (devpostButtonStart>=devpostButtonDeadline){
console.log("deadline / start date error");
alert('deadline / start date error');
}
if (Date.parse(new Date()) <= devpostButtonStart){
devpostButton.innerHTML = "Register on Devpost";
devpostButton.setAttribute('href', "http://" + devpostButton.dataset.slug + ".devpost.com/");
console.log('subs not open yet')
} else
if (devpostButtonDeadline > Date.parse(new Date())){
devpostButton.innerHTML = "Submit your hack on Devpost";
devpostButton.setAttribute('href', "http://" + devpostButton.dataset.slug + ".devpost.com/submissions/new");
console.log('subs open');
}
else if (devpostButtonDeadline <= Date.parse(new Date())){
devpostButton.innerHTML = "Submissions are now closed";
devpostButton.setAttribute('href', "http://" + devpostButton.dataset.slug + ".devpost.com/submissions");
console.log('subs closed');
}
/*HACK DEM STYLES THO!*/
if (devpostButton.dataset.defcss != "false"){
devpostButton.style.backgroundColor = "#2d9eb2";
devpostButton.style.borderColor = "#237a89";
devpostButton.style.color = "white";
devpostButton.style.boxShadow = "none";
devpostButton.style.borderRadius = "2px";
devpostButton.style.transition = "all 200ms ease-out";
devpostButton.style.display = "inline-block";
devpostButton.style.borderStyle = "solid";
devpostButton.style.borderWidth = "0 0 3px";
devpostButton.style.cursor = "pointer";
devpostButton.style.fontFamily = "'ClearSans', 'HelveticaNeue-Bold', 'Helvetica Neue Bold', sans-serif";
devpostButton.style.fontWeight = "bold";
devpostButton.style.lineHeight = "normal";
devpostButton.style.margin = "0 0 1.25em";
devpostButton.style.position = "relative";
devpostButton.style.textDecoration = "none";
...