diff --git a/.eslintrc.ts.json b/.eslintrc.ts.json index 7b07e725d1..252e6dc0bb 100644 --- a/.eslintrc.ts.json +++ b/.eslintrc.ts.json @@ -67,6 +67,7 @@ // this violation has been added by a formed employee and we don't know how that works any more, so ignore "files": [ "assets/js/src/settings/pages/advanced/reinstall.tsx", + "assets/js/src/settings/pages/advanced/recalculate_subscriber_score.tsx", "assets/js/src/settings/pages/key_activation/key_activation.tsx", "assets/js/src/settings/pages/send_with/other/activate_or_cancel.tsx", "assets/js/src/settings/pages/send_with/send_with_choice.tsx" diff --git a/assets/js/src/settings/pages/advanced/advanced.tsx b/assets/js/src/settings/pages/advanced/advanced.tsx index 6e835665e2..daf10ebb6c 100644 --- a/assets/js/src/settings/pages/advanced/advanced.tsx +++ b/assets/js/src/settings/pages/advanced/advanced.tsx @@ -9,6 +9,7 @@ import ShareData from './share_data'; import { Libs3rdParty } from './libs_3rd_party'; import Captcha from './captcha'; import Reinstall from './reinstall'; +import { RecalculateSubscriberScore } from './recalculate_subscriber_score'; import Logging from './logging'; import BounceAddress from './bounce_address'; @@ -20,6 +21,7 @@ export default function Advanced() { + diff --git a/assets/js/src/settings/pages/advanced/recalculate_subscriber_score.tsx b/assets/js/src/settings/pages/advanced/recalculate_subscriber_score.tsx new file mode 100644 index 0000000000..2b0bce55b9 --- /dev/null +++ b/assets/js/src/settings/pages/advanced/recalculate_subscriber_score.tsx @@ -0,0 +1,36 @@ +import React from 'react'; + +import Button from 'common/button/button'; +import { t } from 'common/functions'; +import { GlobalContext } from 'context'; +import { useAction } from 'settings/store/hooks'; +import { Label, Inputs } from 'settings/components'; + +export function RecalculateSubscriberScore(): JSX.Element { + const recalculateSubscribersScore = useAction('recalculateSubscribersScore'); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const { notices } = React.useContext(GlobalContext); + const onClick = async (): Promise => { + await recalculateSubscribersScore(); + notices.info(

{t('recalculateSubscribersScoreNotice')}

, { scroll: true }); + }; + return ( + <> +