Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | 4x 4x 4x 4x 4x | import * as Yup from "yup";
import { VALIDATION_MESSAGES } from "@validation/messages";
import { AmountType, TPaymentTypes } from "./types";
import { ContentState, EditorState } from "draft-js";
const paymentTypes: TPaymentTypes[] = [
"one_time",
"monthly",
"quarterly",
"yearly",
];
export const FundraiserModalSchema = Yup.object().shape({
about: Yup.object().shape({
title: Yup.string().trim().required(VALIDATION_MESSAGES.REQUIRED),
description: Yup.string(),
}),
style: Yup.object().shape({
image: Yup.mixed().nullable(),
useAsBackground: Yup.boolean(),
}),
payment_set_up: Yup.object().shape({
payment_types: Yup.object().shape({
default: Yup.mixed<TPaymentTypes>().oneOf(paymentTypes).required(),
one_time: Yup.boolean(),
monthly: Yup.boolean(),
quarterly: Yup.boolean(),
yearly: Yup.boolean(),
}),
amountsList: Yup.array<AmountType>().min(1),
}),
configuration: Yup.object().shape({
customer_pays_fees: Yup.boolean(),
browse_more: Yup.boolean(),
}),
});
const anyAmountDescription = EditorState.createWithContent(
ContentState.createFromText("Any payment amount is accepted."),
);
const initialAmounts = [
{
id: "1",
active: true,
title: "Any Amount",
description: anyAmountDescription,
amount: "",
isDefault: true,
min_max: {
enabled: false,
min: "1.00",
max: "25,000.00",
},
},
];
export const FundraiserModalDefaults = {
about: {
title: "",
description: "",
},
style: {
image: null,
useAsBackground: false,
},
payment_set_up: {
payment_types: {
default: "one_time" as TPaymentTypes,
one_time: true,
monthly: false,
quarterly: false,
yearly: false,
},
amountsList: initialAmounts,
},
configuration: {
customer_pays_fees: false,
browse_more: false,
},
};
|