diff --git a/Web/static/js/al_feed.js b/Web/static/js/al_feed.js index 66eeddf1..c35161bc 100644 --- a/Web/static/js/al_feed.js +++ b/Web/static/js/al_feed.js @@ -43,6 +43,53 @@ u(document).on("click", "#__ignoreSomeone", async (e) => { } }) +u(document).on("click", "#__ignoreSomeoneFeed", async (e) => { + e.preventDefault() + + const TARGET = u(e.target) + const ENTITY_ID = Number(e.target.dataset.id) + const VAL = Number(e.target.dataset.val) + const ACT = VAL == 1 ? 'ignore' : 'unignore' + const METHOD_NAME = ACT == 'ignore' ? 'addBan' : 'deleteBan' + const PARAM_NAME = ENTITY_ID < 0 ? 'group_ids' : 'user_ids' + const ENTITY_NAME = ENTITY_ID < 0 ? 'club' : 'user' + const URL = `/method/newsfeed.${METHOD_NAME}?auth_mechanism=roaming&${PARAM_NAME}=${Math.abs(ENTITY_ID)}` + + TARGET.closest('.post').addClass('lagged') + const REQ = await fetch(URL) + const RES = await REQ.json() + TARGET.closest('.post').removeClass('lagged') + + if(RES.error_code) { + switch(RES.error_code) { + case -10: + fastError(';/') + break + case -50: + fastError(tr('ignored_sources_limit')) + break + default: + fastError(res.error_msg) + break + } + return + } + + if(RES.response == 1) { + if(ACT == 'unignore') { + TARGET.closest('.scroll_node').find('.post').removeClass('post-hidden'); + TARGET.closest('.ignore-message').remove() + } else { + TARGET.closest('.post').addClass('post-hidden'); + TARGET.closest('.scroll_node').append(` +
+ ${tr(`feed_${ENTITY_NAME}_ignored`)} ${tr('feed_unignore')} +
+ `) + } + } +}) + u(document).on('click', '#__feed_settings_link', (e) => { e.preventDefault()