client/components/mma/cancel/contributions/ContributionsCancellationReasons.tsx (85 lines of code) (raw):
import { shuffleArray } from '@/client/utilities/utils';
import { standardAlternateFeedbackIntro } from '../cancellationConstants';
import type { CancellationReason } from '../cancellationReason';
import { ContributionsCancellationAmountUpdatedSaved } from './ContributionsCancellationAmountUpdatedSaved';
import { ContributionsCancellationFlowFinancialSaveAttempt } from './ContributionsCancellationFlowFinancialSaveAttempt';
export const contributionsCancellationReasons: CancellationReason[] = [
{
reasonId: 'mma_editorial',
linkLabel: 'I am unhappy with some editorial decisions',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_financial_circumstances',
linkLabel: 'I can no longer afford to support you',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
hideSaveActions: true,
skipFeedback: true,
hideContactUs: true,
},
{
reasonId: 'mma_price_increase',
linkLabel: 'The price has recently increased',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
hideSaveActions: true,
skipFeedback: true,
hideContactUs: true,
},
{
reasonId: 'mma_benefits',
linkLabel:
'I’m not fully satisfied with the product features or benefits',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
saveBody: [
'Thank you for your ongoing support. Once you’ve completed your cancellation below, you can set up a new product via our online checkouts.',
],
},
{
reasonId: 'mma_support_another_way',
linkLabel: 'I want to support in a different way',
saveBody: ContributionsCancellationFlowFinancialSaveAttempt,
savedBody: ContributionsCancellationAmountUpdatedSaved,
alternateFeedbackIntro: standardAlternateFeedbackIntro,
hideSaveActions: true,
},
{
reasonId: 'mma_values',
linkLabel: 'I don’t feel that the Guardian values my support',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_break_from_news',
linkLabel: 'I’m taking a break from news',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_dont_read_enough',
linkLabel: 'I don’t have enough time to read regularly',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_issue',
linkLabel: 'I’m having technical issues',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
{
reasonId: 'mma_health',
linkLabel: 'I’m dealing with personal or health matters',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
];
export const otherCancellationReason: CancellationReason[] = [
{
reasonId: 'mma_other',
linkLabel: 'Another reason (please specify)',
alternateFeedbackIntro: standardAlternateFeedbackIntro,
},
];
export const shuffledContributionsCancellationReasons: CancellationReason[] = [
...(shuffleArray(contributionsCancellationReasons) as CancellationReason[]),
...otherCancellationReason,
];