81 lines
2.6 KiB
JavaScript
81 lines
2.6 KiB
JavaScript
import document from "document";
|
|
import clock from "clock";
|
|
import { preferences } from "user-settings";
|
|
|
|
let currminutes = 99;
|
|
|
|
let dots = document.getElementById('dots');
|
|
|
|
let digits = {};
|
|
let colors = document.getElementById('colors');
|
|
digits.digit1 = document.getElementById('d1');
|
|
digits.digit2 = document.getElementById('d2');
|
|
digits.digit3 = document.getElementById('d3');
|
|
digits.digit4 = document.getElementById('d4');
|
|
|
|
|
|
function startAnimation() {
|
|
setTimeout(() => { colors.animate('enable'); }, 5000);
|
|
}
|
|
|
|
function updateClock(force) {
|
|
let currDate = new Date();
|
|
let seconds = currDate.getSeconds();
|
|
let minutes = currDate.getMinutes();
|
|
if (seconds%2) {
|
|
dots.animate('disable');
|
|
} else {
|
|
dots.animate('enable');
|
|
}
|
|
|
|
if (force || currminutes != minutes) {
|
|
currminutes = minutes;
|
|
digits.digit1.animate('disable');
|
|
setTimeout(() => { digits.digit2.animate('disable'); }, 250);
|
|
setTimeout(() => { digits.digit3.animate('disable'); }, 500);
|
|
setTimeout(() => { digits.digit4.animate('disable'); }, 750);
|
|
setTimeout(() => { newDigits(); }, 1000);
|
|
setTimeout(() => { digits.digit1.animate('enable'); }, 1250);
|
|
setTimeout(() => { digits.digit2.animate('enable'); }, 1500);
|
|
setTimeout(() => { digits.digit3.animate('enable'); }, 1750);
|
|
setTimeout(() => { digits.digit4.animate('enable'); }, 2000);
|
|
|
|
setTimeout(() => { digits.digit1.animate('disable'); }, 2000);
|
|
setTimeout(() => { digits.digit2.animate('disable'); }, 2250);
|
|
setTimeout(() => { digits.digit3.animate('disable'); }, 2500);
|
|
setTimeout(() => { digits.digit4.animate('disable'); }, 2750);
|
|
setTimeout(() => { digits.digit1.animate('enable'); }, 3250);
|
|
setTimeout(() => { digits.digit2.animate('enable'); }, 3500);
|
|
setTimeout(() => { digits.digit3.animate('enable'); }, 3750);
|
|
setTimeout(() => { digits.digit4.animate('enable'); }, 3000);
|
|
}
|
|
}
|
|
|
|
function newDigits() {
|
|
let currDate = new Date();
|
|
let hours = currDate.getHours();
|
|
let displayHours = hours;
|
|
if (preferences.clockDisplay === '12h') {
|
|
displayHours = displayHours % 12;
|
|
displayHours = displayHours ? displayHours : 12;
|
|
}
|
|
let minutes = currDate.getMinutes();
|
|
|
|
let newDigits = [
|
|
Math.floor(displayHours/10),
|
|
displayHours%10,
|
|
Math.floor(minutes/10),
|
|
minutes%10
|
|
];
|
|
|
|
digits.digit1.href = (newDigits[0] == 0) ? '' : 'img/1-'+newDigits[0]+'.png';
|
|
digits.digit2.href = 'img/2-'+newDigits[1]+'.png';
|
|
digits.digit3.href = 'img/3-'+newDigits[2]+'.png';
|
|
digits.digit4.href = 'img/4-'+newDigits[3]+'.png';
|
|
}
|
|
|
|
clock.granularity = "seconds";
|
|
clock.ontick = () => updateClock();
|
|
setTimeout(() => { updateClock(true); }, 250);
|
|
|
|
startAnimation(); |