document.getElementById('app-window').innerHTML = '
Загрузка произведений...';
function toggleShow (authorId) {
document.getElementById(`playlist-author-${authorId}`).hidden = !document.getElementById(`playlist-author-${authorId}`).hidden;
}
function showAudio (settingsAuthors, settingsAudio) {
const step2 = (muzic) => {
//console.log(muzic.items);
const showedAuthors = [...(new Set(muzic.items.map(i => `author-${i.author_id}`)))];
[...document.getElementsByClassName('author-element')].forEach(el => {
el.hidden = !showedAuthors.includes(el.id);
});
muzic.items.forEach(muzic => {
document.getElementById(`loader-muzic-${muzic.author_id}`).hidden = true;
if (muzic.is_data_exists) document.getElementById(`playlist-author-${muzic.author_id}`).innerHTML += `
${muzic.name}
`;
else document.getElementById(`playlist-author-${muzic.author_id}`).innerHTML += `
${muzic.name}
`;
});
}
api.getAuthors(settingsAuthors, (authors) => {
document.getElementById('app-window').innerHTML = '';
authors.items.forEach((author) => {
document.getElementById('app-window').innerHTML += ``;
const addMuzicButtonFunct = () => setTimeout( () =>
document.getElementById(`add-muzic-button-${author.id}`).onclick = async () => {
// console.log('>>', author.id);
document.getElementById(`add-muzic-${author.id}`).innerHTML = `
`;
setTimeout(
() => {
document.getElementById(`cancel-add-muzic-${author.id}`).onclick = function () {
document.getElementById(`add-muzic-${author.id}`).innerHTML = ``;
addMuzicButtonFunct();
};
document.getElementById(`add-muzic-${author.id}`).onclick = function () {
if (document.getElementById(`muzic-name-input-${author.id}`).value.length >= 2) {
api.createMuzic(
author.id,
document.getElementById(`muzic-name-input-${author.id}`).value,
document.getElementById(`attach-file-${author.id}`).filedata,
() => {
showAudio(settingsAuthors, settingsAudio);
}
);
document.getElementById(`add-muzic-${author.id}`).innerHTML = 'Добавление файла...';
}
};
document.getElementById(`attach-file-${author.id}`).onclick = function () {
const input = document.createElement('input');
input.type = 'file';
input.accept = 'audio/mpeg';
input.click();
input.onchange = function (e) {
function arrayBufferToBase64( buffer ) {
let binary = '';
let bytes = new Uint8Array( buffer );
let len = bytes.byteLength;
for (let i = 0; i < len; i++) {
binary += String.fromCharCode( bytes[ i ] );
}
return window.btoa( binary );
}
const file = e.target.files[0];
// console.log(file);
const reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function() {
// console.log('reader.result', reader.result);
if (file.type === 'audio/mpeg') {
document.getElementById(`attach-file-${author.id}`).filedata = arrayBufferToBase64(reader.result);
document.getElementById(`attach-file-${author.id}`).innerText = "Загружен файл: " + file.name;
}
// console.log(arrayBufferToBase64(reader.result));
};
};
};
}, 0
);
}, 0);
addMuzicButtonFunct();
});
api.getMuzic(settingsAudio, step2);
document.getElementById('app-window').innerHTML += ''
});
}
setTimeout(() => showAudio({}, {}), 0);
document.getElementById('search-input').onchange = function () {
console.log(this.value);
setTimeout(() => showAudio({}, {
q : this.value
}), 0);
};