init
This commit is contained in:
81
static/js/music.js
Normal file
81
static/js/music.js
Normal file
@@ -0,0 +1,81 @@
|
||||
var enableMusic = true;
|
||||
|
||||
document.getElementById('music').addEventListener('mouseover', function() { musicHover(); });
|
||||
|
||||
function musicHover() {
|
||||
if (!enableMusic) {
|
||||
return;
|
||||
}
|
||||
let icon = document.getElementById('music-icon');
|
||||
icon.style.width = '8rem';
|
||||
icon.style.height = '8rem';
|
||||
icon.style.borderRadius = '500px 0 0 500px';
|
||||
let div = document.getElementById('music-expand');
|
||||
div.style.display = 'flex';
|
||||
div.style.width = '20rem';
|
||||
div.style.height = '8rem';
|
||||
let title = document.getElementById('music-title');
|
||||
title.style.display = 'block';
|
||||
let info = document.getElementById('music-info');
|
||||
info.style.display = 'block';
|
||||
let progress = document.getElementById('music-progress');
|
||||
progress.style.display = 'block';
|
||||
}
|
||||
|
||||
document.getElementById('music').addEventListener('mouseout', function() { musicOut(); });
|
||||
|
||||
function musicOut() {
|
||||
let icon = document.getElementById('music-icon');
|
||||
icon.style.width = '1.5rem';
|
||||
icon.style.height = '1.5rem';
|
||||
icon.style.borderRadius = '50%';
|
||||
let div = document.getElementById('music-expand');
|
||||
div.style = '';
|
||||
let title = document.getElementById('music-title');
|
||||
title.style.display = 'none';
|
||||
let info = document.getElementById('music-info');
|
||||
info.style.display = 'none';
|
||||
let progress = document.getElementById('music-progress');
|
||||
progress.style.display = 'none';
|
||||
}
|
||||
|
||||
function fetchData() {
|
||||
let data = fetch('https://alfieking.dev/api/v1/current_song')
|
||||
.then(response => response.json()).then(data => { return data; })
|
||||
.catch(error => { return null;});
|
||||
return data;
|
||||
}
|
||||
|
||||
function updateUi(data) {
|
||||
enableMusic = true;
|
||||
document.getElementById('music').style.display = 'flex';
|
||||
document.getElementById('music-icon').src = data.image;
|
||||
document.getElementById('music-title').innerText = data.title;
|
||||
document.getElementById('music-info').innerText = data.artist + ' - ' + data.album;
|
||||
let progress = data.progress / data.length * 100;
|
||||
document.getElementById('music-progress').style.width = progress + '%';
|
||||
}
|
||||
|
||||
function hideUi() {
|
||||
enableMusic = false;
|
||||
document.getElementById('music').style.display = 'none';
|
||||
}
|
||||
|
||||
function update() {
|
||||
fetchData().then(data => {
|
||||
console.log(data);
|
||||
if (data != null) {
|
||||
if (data.idle) {
|
||||
hideUi();
|
||||
} else {
|
||||
updateUi(data);
|
||||
}
|
||||
}
|
||||
else {
|
||||
hideUi();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
update();
|
||||
setInterval(update, 10000);
|
42
static/js/typing.js
Normal file
42
static/js/typing.js
Normal file
@@ -0,0 +1,42 @@
|
||||
const values = ["Web developer", "Pc games enjoyer", "Server backend survivor", "python programmer", "Javascript disliker"];
|
||||
var direction = 1;
|
||||
var text = "";
|
||||
var speed = 100;
|
||||
var selectedValue = 0;
|
||||
var currentValueIndex = 0;
|
||||
|
||||
function type() {
|
||||
if (direction == 1) {
|
||||
if (currentValueIndex < values[selectedValue].length) {
|
||||
text += values[selectedValue][currentValueIndex];
|
||||
currentValueIndex++;
|
||||
} else {
|
||||
direction = -1;
|
||||
speed = 1500;
|
||||
}
|
||||
} else {
|
||||
if (currentValueIndex > 0) {
|
||||
text = text.slice(0, -1);
|
||||
currentValueIndex--;
|
||||
} else {
|
||||
direction = 1;
|
||||
selectedValue++;
|
||||
if (selectedValue >= values.length) {
|
||||
selectedValue = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function typing() {
|
||||
type();
|
||||
document.getElementById("typing").innerHTML = "$ " + text;
|
||||
if (direction == 1) {
|
||||
speed = 80 + Math.random() * 100;
|
||||
} else {
|
||||
speed = 60 + (Math.random() * 100) / 2;
|
||||
}
|
||||
setTimeout(typing, speed);
|
||||
}
|
||||
|
||||
typing();
|
Reference in New Issue
Block a user