Files
Desktop/ts/components/DonationErrorModal.dom.stories.tsx
2026-01-30 11:53:06 -08:00

77 lines
1.7 KiB
TypeScript

// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
import { action } from '@storybook/addon-actions';
import type { Meta } from '@storybook/react';
import type { PropsType } from './DonationErrorModal.dom.js';
import { DonationErrorModal } from './DonationErrorModal.dom.js';
import { donationErrorTypeSchema } from '../types/Donations.std.js';
const { i18n } = window.SignalContext;
export default {
title: 'Components/DonationErrorModal',
} satisfies Meta<PropsType>;
const defaultProps = {
i18n,
onClose: action('onClose'),
};
export function Failed3dsValidation(): React.JSX.Element {
return (
<DonationErrorModal
{...defaultProps}
errorType={donationErrorTypeSchema.Enum.Failed3dsValidation}
/>
);
}
export function GeneralError(): React.JSX.Element {
return (
<DonationErrorModal
{...defaultProps}
errorType={donationErrorTypeSchema.Enum.GeneralError}
/>
);
}
export function PaymentDeclined(): React.JSX.Element {
return (
<DonationErrorModal
{...defaultProps}
errorType={donationErrorTypeSchema.Enum.PaymentDeclined}
/>
);
}
export function PaypalCanceled(): React.JSX.Element {
return (
<DonationErrorModal
{...defaultProps}
errorType={donationErrorTypeSchema.Enum.PaypalCanceled}
/>
);
}
export function PaypalError(): React.JSX.Element {
return (
<DonationErrorModal
{...defaultProps}
errorType={donationErrorTypeSchema.Enum.PaypalError}
/>
);
}
export function TimedOut(): React.JSX.Element {
return (
<DonationErrorModal
{...defaultProps}
errorType={donationErrorTypeSchema.Enum.TimedOut}
/>
);
}