You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.9 KiB
119 lines
3.9 KiB
<html lang="en">
|
|
<head>
|
|
<title>Starting Soon</title>
|
|
<style>
|
|
@font-face {
|
|
font-family: 'Escape Velocity';
|
|
src: url('./fonts/escapevelocity.ttf');
|
|
}
|
|
@font-face {
|
|
font-family: 'Retrolight';
|
|
src: url('./fonts/retrolight.ttf');
|
|
}
|
|
@font-face {
|
|
font-family: 'Platinum Sign';
|
|
src: url('./fonts/platinum-sign-over.ttf');
|
|
}
|
|
@font-face {
|
|
font-family: 'Digital Desolation Plus';
|
|
src: url('./fonts/digital-desolation-plus.otf');
|
|
}
|
|
|
|
html, body {
|
|
margin: 0;
|
|
padding: 0;
|
|
color: #e8e8e8;
|
|
}
|
|
|
|
.interface {
|
|
display: flex;
|
|
justify-content: center;
|
|
position: fixed;
|
|
bottom: 80px;
|
|
width: 100%;
|
|
}
|
|
.container {
|
|
display: block;
|
|
position: relative;
|
|
margin: 0 auto;
|
|
-webkit-text-stroke-width: 1px;
|
|
-webkit-text-stroke-color: #000000;
|
|
}
|
|
.container .metadata {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
font-family: "Escape Velocity";
|
|
font-size: 36px;
|
|
font-weight: bold;
|
|
line-height: 1;
|
|
text-align: center;
|
|
}
|
|
.container .prompt {
|
|
font-family: "Digital Desolation Plus";
|
|
font-size: 100px;
|
|
line-height: 1;
|
|
}
|
|
.container .time-line {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
.container .time-display {
|
|
font-family: 'Courier New', Courier, monospace;
|
|
font-size: 48px;
|
|
line-height: 1;
|
|
}
|
|
.container .countdown-display {
|
|
font-family: 'Courier New', Courier, monospace;
|
|
font-size: 48px;
|
|
line-height: 1;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="interface">
|
|
<div class="container">
|
|
<div class="metadata">
|
|
<div>Just Joe Radio</div>
|
|
<div>justjoeradio.com</div>
|
|
</div>
|
|
<div class="prompt">STARTING SOON</div>
|
|
<div class="time-line">
|
|
<div id="countdown-display" class="countdown-display">00:00:00</div>
|
|
<div id="time-display" class="time-display">00:00:00</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="./node_modules/moment/min/moment.min.js"></script>
|
|
<script src="./node_modules/numeral/min/numeral.min.js"></script>
|
|
|
|
<script>
|
|
window.dtp = window.dtp || { };
|
|
|
|
dtp.timeDisplay = document.getElementById('time-display');
|
|
dtp.countdown = document.getElementById('countdown-display');
|
|
|
|
const params = new URLSearchParams(window.location.search);
|
|
|
|
const year = params.get('year');
|
|
const month = params.get('month');
|
|
const day = params.get('day');
|
|
const hours = params.get('hour');
|
|
const minutes = params.get('minute');
|
|
dtp.start = new Date(year, month, day, hours, minutes, 0, 0);
|
|
|
|
function update ( ) {
|
|
const NOW = new Date();
|
|
const remaining = Math.ceil((dtp.start.valueOf() - NOW.valueOf()) / 1000.0);
|
|
|
|
dtp.timeDisplay.textContent = moment(NOW).format('hh:mm A');
|
|
dtp.countdown.textContent = numeral(remaining).format('hh:mm:ss');
|
|
|
|
requestAnimationFrame(update);
|
|
}
|
|
|
|
requestAnimationFrame(update);
|
|
</script>
|
|
</body>
|
|
</html>
|