All files / src/sections/PayBuilder constants.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 0/0
100% Lines 7/7

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 83 84 85 86 87 88 89 90                        493x             493x             493x   493x                                     493x           493x                                         493x                              
// PayBuilder constants and enums to break circular dependencies
 
export enum FormType {
  FUNDRAISERS = "fundraiser",
  EVENTS = "event",
  MEMBERSHIPS = "membership",
  STANDARDS = "standard", // this is coming from BE so i added it here
  PRODUCTS = "product",
  SWEEPSTAKE = "sweepstake",
  INVOICES = "invoice",
}
 
export const recurringOptions = [
  { value: "once", label: "One Time" },
  { value: "monthly", label: "Monthly" },
  { value: "quarterly", label: "Quarterly" },
  { value: "yearly", label: "Yearly" },
];
 
export const paymentTypeSuffixes: Record<string, string> = {
  once: "",
  monthly: "per month",
  quarterly: "per quarter",
  yearly: "per year",
};
 
export const DEFAULT_LOGO_HEIGHT = 59;
 
export const scrollbarStyles = {
  overflowY: "auto",
  flexGrow: 1,
  "&::-webkit-scrollbar": {
    width: "8px",
  },
  "&::-webkit-scrollbar-thumb": {
    backgroundColor: "#80807e",
    borderRadius: "10px",
  },
  "&::-webkit-scrollbar-thumb:hover": {
    backgroundColor: "#d32f2f",
  },
  scrollbarWidth: "thin",
  scrollbarColor: "#80807e transparent",
  paddingTop: "0",
};
 
export const YOUTUBE_REGEX =
  /^((?:https:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w-]+\?v=|embed\/|v\/)?)([\w-]+)(\S+)?$/;
 
// Checkout error messages
// The in-checkout purchase confirmation (SCR004). RESEND_SECONDS is the design's
// 2 minutes, which sits above the API's 60s EMAIL_VERIFICATION_RESEND_COOLDOWN --
// only a shorter timer would earn a refusal -- and inside the 5min code expiry.
export const VERIFY_PURCHASE = {
  TITLE: "Verify Your Purchase",
  VERIFY_LABEL: "Verify",
  CANCEL_LABEL: "Cancel",
  CODE_LENGTH: 6,
  RESEND_SECONDS: 120,
  // The frame is 560 wide; GiveBaseModal defaults to 640.
  MODAL_WIDTH: "560px",
  // Frame copy. It reads "recieve" there -- the misspelling is not shipped.
  RESEND_PROMPT: "Didn’t receive the code?",
  COUNTDOWN_PREFIX: "Code sent! You can resend it in ",
  RESEND_LABEL: "Resend Code",
  // One sentence with a placeholder, so it reads as prose and translates as one.
  DESCRIPTION_TEMPLATE:
    "An email was sent to {email}, please confirm your purchase by entering OTP code. This helps us ensure your transaction remains secure.",
  EMAIL_PLACEHOLDER: "{email}",
  RESEND_FAILED: "We couldn't send a new code. Please try again.",
  GENERIC_INVALID_CODE:
    "That verification code is invalid or has expired. Please check the code or request a new one.",
};
 
export const CHECKOUT_ERROR_MESSAGES = {
  GENERIC_ERROR: "An unexpected error occurred. Please try again.",
  // The cart is deliberately left intact on this path, so it must not tell the
  // buyer to re-add what is still there.
  VERIFICATION_LOST_ORDER:
    "We emailed you a confirmation code, but we could not open the confirmation step. Please refresh the page and try again.",
  CAPTCHA_RETRY_LIMIT:
    "We couldn't verify this payment. Please try again, or refresh the page if this keeps happening.",
  RECAPTCHA_FAILED: "We couldn't complete verification. Please try again.",
  CHALLENGE_TITLE: "Verify you are not a robot",
  CHALLENGE_BODY: "Please check the box to finish your payment.",
  CHALLENGE_CANCEL: "Cancel",
  REDIRECT_ERROR:
    "Unexpected error detected. You will be redirected to the homepage in 5 seconds. Please try again. We apologize for the inconvenience!",
} as const;