fictioneer/js/user-profile.min.js
2024-12-06 17:38:32 +01:00

1 line
3.3 KiB
JavaScript

function fcn_unsetOauth(e){const t=prompt(e.dataset.warning);t&&t.toLowerCase()==e.dataset.confirm.toLowerCase()&&FcnUtils.remoteAction("fictioneer_ajax_unset_my_oauth",{nonce:e.dataset.nonce,element:_$$$(`oauth-${e.dataset.channel}`),payload:{channel:e.dataset.channel,id:e.dataset.id},callback:(e,t)=>{e.success?(t.classList.remove("_connected"),t.classList.add("_disconnected"),t.querySelector("button").remove(),fcn_showNotification(t.dataset.unset)):t.style.background="var(--notice-warning-background)"},errorCallback:(e,t)=>{t.style.background="var(--notice-warning-background)"}})}function fcn_deleteMyAccount(e){const t=prompt(e.dataset.warning);t&&t.toLowerCase()==e.dataset.confirm.toLowerCase()&&(e.disabled=!0,FcnUtils.remoteAction("fictioneer_ajax_delete_my_account",{nonce:e.dataset.nonce,element:e,payload:{id:e.dataset.id},callback:(e,t)=>{e.success?location.reload():t.innerHTML=e.data.button},errorCallback:(e,t)=>{t.innerHTML=e.status??fictioneer_tl.notification.error}}))}function fcn_dataDeletionPrompt(e){const t=prompt(e.dataset.warning);return!(!t||t.toLowerCase()!=e.dataset.confirm.toLowerCase())}function fcn_clearData(e,t){const n=e.closest(".card");localStorage.removeItem("fcnBookshelfContent"),e.remove(),FcnUtils.remoteAction(t,{nonce:e.dataset.nonce,element:n,callback:(e,t)=>{e.success&&t&&(t.querySelector(".card__content").innerHTML=e.data.success)}})}_$$(".button-unset-oauth").forEach((e=>{e.addEventListener("click",(e=>{fcn_unsetOauth(e.currentTarget)}))})),_$$$("button-delete-my-account")?.addEventListener("click",(e=>{fcn_deleteMyAccount(e.currentTarget)})),_$(".button-clear-comments")?.addEventListener("click",(e=>{fcn_dataDeletionPrompt(e.currentTarget)&&fcn_clearData(e.currentTarget,"fictioneer_ajax_clear_my_comments")})),_$(".button-clear-comment-subscriptions")?.addEventListener("click",(e=>{fcn_dataDeletionPrompt(e.currentTarget)&&fcn_clearData(e.currentTarget,"fictioneer_ajax_clear_my_comment_subscriptions")})),_$(".button-clear-checkmarks")?.addEventListener("click",(e=>{if(fcn_dataDeletionPrompt(e.currentTarget)){const t=window.FictioneerApp.Controllers.fictioneerCheckmarks;if(!t)return void fcn_showNotification("Error: Checkmarks Controller not connected.",3,"warning");t.clear(),fcn_clearData(e.currentTarget,"fictioneer_ajax_clear_my_checkmarks",!0)}})),_$(".button-clear-reminders")?.addEventListener("click",(e=>{if(fcn_dataDeletionPrompt(e.currentTarget)){const t=window.FictioneerApp.Controllers.fictioneerReminders;if(!t)return void fcn_showNotification("Error: Reminders Controller not connected.",3,"warning");t.clear(),fcn_clearData(e.currentTarget,"fictioneer_ajax_clear_my_reminders",!0)}})),_$(".button-clear-follows")?.addEventListener("click",(e=>{if(fcn_dataDeletionPrompt(e.currentTarget)){const t=window.FictioneerApp.Controllers.fictioneerFollows;if(!t)return void fcn_showNotification("Error: Follows Controller not connected.",3,"warning");t.clear(),fcn_clearData(e.currentTarget,"fictioneer_ajax_clear_my_follows",!0)}})),_$(".button-clear-bookmarks")?.addEventListener("click",(e=>{if(fcn_dataDeletionPrompt(e.currentTarget)){const t=window.FictioneerApp.Controllers.fictioneerBookmarks,n=_$$$("profile-data-translations")?.dataset;if(!t)return void fcn_showNotification("Error: Bookmarks Controller not connected.",3,"warning");t.clear(),e.currentTarget.closest(".card").querySelector(".card__content").innerHTML=n.clearedSuccess}}));