if(typeof u == 'undefined') { console.error('!!! You forgot to install NPM packages !!!') } function expand_comment_textarea(id) { var el = document.getElementById('commentTextArea'+id); var wi = document.getElementById('wall-post-input'+id); el.style.display = "block"; wi.focus(); } function hidePanel(panel, count = 0) { $(panel).toggleClass("content_title_expanded content_title_unexpanded"); $(panel).next('div').slideToggle(300); if(count != 0){ if($(panel).hasClass("content_title_expanded")) $(panel).html($(panel).html().replaceAll(" ("+count+")", "")); else $(panel).html($(panel).html() + " ("+count+")"); } } function parseAjaxResponse(responseString) { try { const response = JSON.parse(responseString); if(response.flash) NewNotification(response.flash.title, response.flash.message || "", null); return response.success || false; } catch(error) { if(responseString === "Хакеры? Интересно...") { location.reload(); return false; } else { throw error; } } } document.addEventListener("DOMContentLoaded", function() { //BEGIN $(document).on("click", "#_photoDelete, #_videoDelete", function(e) { var formHtml = "
"; u("body").append(formHtml); MessageBox(tr('warning'), tr('question_confirm'), [ tr('yes'), tr('no') ], [ (function() { u("#tmpPhDelF").nodes[0].submit(); }), (function() { u("#tmpPhDelF").remove(); }), ]); e.stopPropagation() return e.preventDefault(); }); /* @rem-pai why this func wasn't named as "#_deleteDialog"? It looks universal IMO */ u(document).on("click", "#_noteDelete", function(e) { var formHtml = ""; u("body").append(formHtml); MessageBox(tr('warning'), tr('question_confirm'), [ tr('yes'), tr('no') ], [ (function() { u("#tmpPhDelF").nodes[0].submit(); }), (function() { u("#tmpPhDelF").remove(); }), ]); e.stopPropagation() return e.preventDefault(); }); // TODO REWRITE cuz its a little broken u(document).on("click", "#_pinGroup", async function(e) { e.preventDefault(); e.stopPropagation() let link = u(this).attr("href"); let thisButton = u(this); let groupName = u(this).attr("data-group-name"); let groupUrl = u(this).attr("data-group-url"); let list = u('#_groupListPinnedGroups'); thisButton.nodes[0].classList.add('loading'); thisButton.nodes[0].classList.add('disable'); let req = await ky(link); if(req.ok == false) { NewNotification(tr('error'), tr('error_1'), null); thisButton.nodes[0].classList.remove('loading'); thisButton.nodes[0].classList.remove('disable'); return; } if(!parseAjaxResponse(await req.text())) { thisButton.nodes[0].classList.remove('loading'); thisButton.nodes[0].classList.remove('disable'); return; } // Adding a divider if not already there if(list.nodes[0].children.length == 0) { list.nodes[0].append(u('').first()); } // Changing the button name if(thisButton.html().trim() == tr('remove_from_left_menu')) { thisButton.html(tr('add_to_left_menu')); for(let i = 0; i < list.nodes[0].children.length; i++) { let element = list.nodes[0].children[i]; if(element.pathname == groupUrl) { element.remove(); } } }else{ thisButton.html(tr('remove_from_left_menu')); list.nodes[0].append(u('' + groupName + '').first()); } // Adding the group to the left group list if(list.nodes[0].children[0].className != "menu_divider" || list.nodes[0].children.length == 1) { list.nodes[0].children[0].remove(); } thisButton.nodes[0].classList.remove('loading'); thisButton.nodes[0].classList.remove('disable'); return false; }); u(document).handle("submit", "#_submitUserSubscriptionAction", async function(e) { e.preventDefault() e.stopPropagation() u(this).nodes[0].parentElement.classList.add('loading'); u(this).nodes[0].parentElement.classList.add('disable'); console.log(e.target); const data = await fetch(u(this).attr('action'), { method: 'POST', body: new FormData(e.target) }); if (data.ok) { u(this).nodes[0].parentElement.classList.remove('loading'); u(this).nodes[0].parentElement.classList.remove('disable'); if (e.target[0].value == "add") { u(this).nodes[0].parentElement.innerHTML = tr("friends_add_msg"); } else if (e.target[0].value == "rej") { u(this).nodes[0].parentElement.innerHTML = tr("friends_rej_msg"); } else if (e.target[0].value == "rem") { u(this).nodes[0].parentElement.innerHTML = tr("friends_rem_msg"); } } }) }); //END ONREADY DECLS function setClubAdminComment(clubId, adminId, hash) { MessageBox("Изменить комментарий к администратору", ` `, [tr('edit_action'), tr('cancel')], [ () => { if (document.querySelector(`#uClubAdminCommentTextArea_${clubId}_${adminId}`).value === "") { document.querySelector(`#uClubAdminCommentRemoveCommentInput_${clubId}_${adminId}`).value = "1"; } document.querySelector(`#uClubAdminCommentForm_${clubId}_${adminId}`).submit(); }, Function.noop ]); } function showCoinsTransferDialog(coinsCount, hash) { MessageBox(tr("transfer_poins"), ` `, [tr("transfer_poins_button"), tr("cancel")], [ () => { document.querySelector("#coins_transfer_form").submit(); }, Function.noop ]); } function autoTab(original, next, previous) { if(original.getAttribute && original.value.length == original.getAttribute("maxlength") && next !== undefined) next.focus(); else if(original.value.length == 0 && previous !== undefined) previous.focus(); } function showSupportFastAnswerDialog(answers) { let html = ""; for(const [index, answer] of Object.entries(answers)) { html += `