From 31ccc7c11bc962104cbbd43aaa5dd88419a43289 Mon Sep 17 00:00:00 2001 From: Andreas Nedbal Date: Thu, 26 Oct 2023 21:39:24 +0200 Subject: [PATCH] Remove TypeScript relationship functionality --- .../retrospring/features/user/action.ts | 115 ------------------ .../retrospring/features/user/index.ts | 4 - 2 files changed, 119 deletions(-) delete mode 100644 app/javascript/retrospring/features/user/action.ts diff --git a/app/javascript/retrospring/features/user/action.ts b/app/javascript/retrospring/features/user/action.ts deleted file mode 100644 index 91ad152e..00000000 --- a/app/javascript/retrospring/features/user/action.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { post } from '@rails/request.js'; -import { showNotification, showErrorNotification } from 'utilities/notifications'; -import I18n from 'retrospring/i18n'; - -export function userActionHandler(event: Event): void { - event.preventDefault(); - const button: HTMLButtonElement = event.target as HTMLButtonElement; - const target = button.dataset.target; - const action = button.dataset.action; - button.disabled = true; - - let targetURL, relationshipType; - - switch (action) { - case 'follow': - targetURL = '/ajax/create_relationship'; - relationshipType = 'follow'; - break; - case 'unfollow': - targetURL = '/ajax/destroy_relationship'; - relationshipType = 'follow'; - break; - case 'block': - targetURL = '/ajax/create_relationship'; - relationshipType = 'block'; - break; - case 'unblock': - targetURL = '/ajax/destroy_relationship'; - relationshipType = 'block'; - break; - case 'mute': - targetURL = '/ajax/create_relationship'; - relationshipType = 'mute'; - break; - case 'unmute': - targetURL = '/ajax/destroy_relationship'; - relationshipType = 'mute'; - break; - } - let success = false; - - post(targetURL, { - body: { - screen_name: target, - type: relationshipType, - }, - contentType: 'application/json' - }) - .then(async response => { - const data = await response.json; - - success = data.success; - showNotification(data.message, data.success); - }) - .catch(err => { - console.log(err); - showErrorNotification(I18n.translate('frontend.error.message')); - }) - .finally(() => { - button.disabled = false; - if (!success) return; - - switch (action) { - case 'follow': - button.dataset.action = 'unfollow'; - button.innerText = I18n.translate('voc.unfollow'); - button.classList.remove('btn-primary'); - button.classList.add('btn-default'); - break; - case 'unfollow': - resetFollowButton(button); - break; - case 'block': - button.dataset.action = 'unblock'; - button.querySelector('span').innerText = I18n.translate('voc.unblock'); - if (button.classList.contains('btn')) { - button.classList.remove('btn-primary'); - button.classList.add('btn-default'); - } - resetFollowButton(document.querySelector('button[data-action="unfollow"]')); - break; - case 'unblock': - button.dataset.action = 'block'; - button.querySelector('span').innerText = I18n.translate('voc.block'); - if (button.classList.contains('btn')) { - button.classList.remove('btn-default'); - button.classList.add('btn-primary'); - } - break; - case 'mute': - button.dataset.action = 'unmute'; - button.querySelector('span').innerText = I18n.translate('voc.unmute'); - if (button.classList.contains('btn')) { - button.classList.remove('btn-primary'); - button.classList.add('btn-default'); - } - break; - case 'unmute': - button.dataset.action = 'mute'; - button.querySelector('span').innerText = I18n.translate('voc.mute'); - if (button.classList.contains('btn')) { - button.classList.remove('btn-default'); - button.classList.add('btn-primary'); - } - break; - } - }); -} - -function resetFollowButton(button: HTMLButtonElement) { - button.dataset.action = 'follow'; - button.innerText = I18n.translate('voc.follow'); - button.classList.remove('btn-default'); - button.classList.add('btn-primary'); -} diff --git a/app/javascript/retrospring/features/user/index.ts b/app/javascript/retrospring/features/user/index.ts index 00256485..9d56c74f 100644 --- a/app/javascript/retrospring/features/user/index.ts +++ b/app/javascript/retrospring/features/user/index.ts @@ -1,12 +1,8 @@ -import { userActionHandler } from './action'; import { userReportHandler } from './report'; import registerEvents from 'retrospring/utilities/registerEvents'; export default (): void => { registerEvents([ - { type: 'click', target: 'button[name=user-action]', handler: userActionHandler, global: true }, - { type: 'click', target: '[data-action=block], [data-action=unblock]', handler: userActionHandler, global: true }, - { type: 'click', target: '[data-action=mute], [data-action=unmute]', handler: userActionHandler, global: true }, { type: 'click', target: 'a[data-action=report-user]', handler: userReportHandler, global: true } ]); }