66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
const img = '//img.new-combats.com/i';
|
||
|
||
const gett = async () => {
|
||
let response = await fetch('/api/onlinelist.php');
|
||
if (response.ok) {
|
||
document.getElementById('onlinelist').innerHTML = '';
|
||
const list = await response.json();
|
||
list.forEach((user) => {
|
||
console.log(user);
|
||
document.getElementById('onlinelist').insertAdjacentHTML('beforeend', `${ol.makelogin(user)}<br>`);
|
||
});
|
||
} else {
|
||
document.getElementById('onlinelist').insertAdjacentHTML('beforeend', `Все ушли.<br>`);
|
||
}
|
||
};
|
||
|
||
window.addEventListener('load', () => {
|
||
const fetchInterval = 10000; // 10 секунд.
|
||
gett;
|
||
//(get)(); // почему get; или get(); - неправильно?? 🤬😭
|
||
setInterval(gett, fetchInterval);
|
||
});
|
||
|
||
ol = {
|
||
tochat (login) {
|
||
const input = document.getElementById('tochat');
|
||
if (input.value === `private [${login}]`) {
|
||
return;
|
||
}
|
||
if (input.value === `to [${login}]`) {
|
||
input.value = `private [${login}]`;
|
||
return;
|
||
}
|
||
input.value = `to [${login}]`;
|
||
},
|
||
|
||
makelogin ({id, login, level, align, clan, inbattle, isadmin}) {
|
||
let style = '';
|
||
if (isadmin) {
|
||
//align = 2.9;
|
||
style = `color: crimson;`;
|
||
}
|
||
if (!level || level < 0 || level > 21 && !isadmin || typeof level !== 'number') {
|
||
level = '??';
|
||
}
|
||
let inficon = `<a href="/info/${id}" target="_blank"><img src="${img}/inf.gif" alt="Информация про ${login}"></a>`;
|
||
let html = `<span style="${style}; cursor: pointer;" onclick="ol.tochat('${login}');">${login}[${level}]</span>` + inficon;
|
||
if (clan) {
|
||
html = `<img src="${img}/clan/${clan}.gif" alt="Клан"> ` + html;
|
||
}
|
||
if (align) {
|
||
html = `<img src="${img}/align/align${align}.gif" alt="Склонность"> ` + html;
|
||
}
|
||
|
||
let battleyes = '', battlealt = '';
|
||
if (inbattle) {
|
||
battleyes = 1;
|
||
battlealt = ' (персонаж в поединке)'
|
||
}
|
||
html = `<img src="${img}/lock${battleyes}.gif" alt="Приват${battlealt}" onclick="ol.tochat('${login}')">` + html;
|
||
|
||
return html;
|
||
}
|
||
};
|
||
|