{"version":3,"file":"UnregisterFeedbackModalContent-BxbJs7uL.js","sources":["../../../app/frontend/components/RadioInputCustomLabel.tsx","../../../app/frontend/features/Gathering/RegisterContainer/components/RsvpCta.tsx","../../../app/frontend/features/Gathering/RegisterContainer/components/RsvpForm.tsx","../../../app/frontend/features/Gathering/components/UnregisterConfirmationModalContent.tsx","../../../app/frontend/features/Gathering/components/UnregisterFeedbackModalContent.tsx"],"sourcesContent":["import { ChangeEvent, FC } from \"react\";\nimport { Flex, Radio, Text } from \"@chakra-ui/react\";\nimport { PlanType } from \"sdk/types\";\n\nexport interface RadioInputCustomLabel {\n radioVariant?: string;\n label: string;\n labelProps?: Record;\n value: PlanType;\n}\n\ninterface Props extends RadioInputCustomLabel {\n onChange: (event: ChangeEvent) => void;\n}\n\nexport const RadioInputCustomLabel: FC = ({\n onChange,\n radioVariant = \"th-outline-2\",\n label,\n labelProps,\n value,\n}) => {\n return (\n \n \n \n {label}\n \n \n \n );\n};\n","import { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box, Button } from \"@chakra-ui/react\";\nimport { ArrowNarrowRight } from \"~/icons\";\n\nexport const RsvpCta: FC = () => {\n const { t } = useTranslation();\n\n return (\n \n \n {t(\"rsvp.register.cta\")}\n \n \n \n );\n};\n","import { FC } from \"react\";\nimport { Form as FormikForm, FormikProvider, useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { useGatheringsRsvpMutation } from \"~/store/api\";\nimport { RsvpCta } from \"./RsvpCta\";\n\nconst validationSchema = Yup.object({\n slug: Yup.string().required(\"Required\"),\n});\n\ninterface Props {\n onOpen: () => void;\n rsvped: boolean | null | undefined;\n slug: string;\n}\n\nexport const RsvpForm: FC = ({ onOpen, rsvped, slug }) => {\n const [apiGatheringsRsvp] = useGatheringsRsvpMutation();\n\n const initialValues = {\n slug: slug,\n };\n\n const onSubmit = async (): Promise => {\n onOpen();\n await apiGatheringsRsvp({ slug });\n };\n\n const formik = useFormik({\n initialValues,\n onSubmit,\n validateOnMount: true,\n validationSchema,\n });\n\n if (rsvped) {\n return null;\n }\n\n return (\n \n \n \n \n \n );\n};\n","import { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button, Flex, Text } from \"@chakra-ui/react\";\nimport { Form as FormikForm, FormikProvider, useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { changeModal, closeModal } from \"~/features/ModalWithState\";\nimport { useGatheringsDeclineMutation } from \"~/store/api\";\nimport { useAppDispatch } from \"~/store/hooks\";\n\nconst validationSchema = Yup.object({\n slug: Yup.string().required(\"Required\"),\n});\n\ninterface Props {\n rsvped: boolean | null | undefined;\n slug: string;\n trackers: {\n unregisterModalCloseCta: () => void;\n unregisterModalConfirmationCta: (slug: string) => void;\n };\n}\n\nexport const UnregisterConfirmationModalContent: FC = ({\n rsvped,\n slug,\n trackers,\n}) => {\n const { t } = useTranslation();\n const [apiGatheringsDecline] = useGatheringsDeclineMutation();\n const dispatch = useAppDispatch();\n\n const initialValues = {\n slug: slug,\n };\n\n const handleClose = () => {\n trackers.unregisterModalCloseCta();\n dispatch(closeModal());\n };\n\n const onSubmit = async (): Promise => {\n await apiGatheringsDecline({ slug });\n trackers.unregisterModalConfirmationCta(slug);\n dispatch(\n changeModal({ type: \"unregisterFeedback\", data: { rsvped, slug } }),\n );\n };\n\n const formik = useFormik({\n initialValues,\n onSubmit,\n validateOnMount: true,\n validationSchema,\n });\n\n if (!rsvped) {\n return null;\n }\n\n return (\n \n \n \n \n {t(\"rsvp.unregister.confirmation.heading\")}\n \n \n \n \n \n \n \n \n );\n};\n","import { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button, Flex, Text } from \"@chakra-ui/react\";\nimport { Form as FormikForm, FormikProvider, useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport {\n RadioGroupInput,\n RadioInputCustomLabel,\n TextInput,\n} from \"~/components\";\nimport { closeModal } from \"~/features/ModalWithState\";\nimport { CheckCircle } from \"~/icons\";\nimport { useGatheringsDeclineMutation } from \"~/store/api\";\nimport { useAppDispatch } from \"~/store/hooks\";\n\nconst validationSchema = Yup.object({\n feedback: Yup.string().required(\"Required\"),\n feedbackOther: Yup.string().test(\n \"requiredIfOther\",\n \"Required\",\n function (value) {\n return this.parent.feedback === \"Other\" ? !!value : true;\n },\n ),\n slug: Yup.string().required(\"Required\"),\n});\n\nconst options = [\n {\n label: \"Time no longer works\",\n value: \"Time no longer works\",\n },\n {\n label: \"Topic no longer of interest\",\n value: \"Topic no longer of interest\",\n },\n {\n label: \"Other\",\n value: \"Other\",\n },\n];\n\ninterface Props {\n slug: string;\n trackers: {\n unregisterFeedbackModalCloseCta: () => void;\n unregisterFeedbackModalSubmitCta: (slug: string) => void;\n };\n}\n\nexport const UnregisterFeedbackModalContent: FC = ({\n slug,\n trackers,\n}) => {\n const dispatch = useAppDispatch();\n const { t } = useTranslation();\n const [apiGatheringsDecline] = useGatheringsDeclineMutation();\n\n const initialValues = {\n slug: slug,\n feedback: \"\",\n feedbackOther: \"\",\n };\n\n const handleClose = () => {\n trackers.unregisterFeedbackModalCloseCta();\n dispatch(closeModal());\n };\n\n const onSubmit = async (): Promise => {\n const { feedback, feedbackOther } = formik.values;\n const explanation = [feedback, feedbackOther]\n .filter((value) => Boolean(value))\n .join(\" :: \");\n\n await apiGatheringsDecline({ slug, explanation });\n trackers.unregisterFeedbackModalSubmitCta(slug);\n handleClose();\n };\n\n const formik = useFormik({\n initialValues,\n onSubmit,\n validateOnMount: true,\n validationSchema,\n });\n\n const isOther = formik.values.feedback === \"Other\";\n\n return (\n \n \n \n \n \n \n \n \n {t(\"rsvp.unregister.feedback.heading\")}\n \n \n {t(\"rsvp.unregister.feedback.prompt\")}\n \n \n \n \n \n {isOther && (\n \n )}\n \n \n \n {t(\"rsvp.unregister.feedback.cta\")}\n \n \n \n \n );\n};\n"],"names":["RadioInputCustomLabel","onChange","radioVariant","label","labelProps","value","Flex","jsx","Radio","Text","RsvpCta","useTranslation","Box","jsxs","Button","ArrowNarrowRight","validationSchema","Yup.object","Yup.string","RsvpForm","onOpen","rsvped","slug","apiGatheringsRsvp","useGatheringsRsvpMutation","formik","useFormik","FormikProvider","FormikForm","UnregisterConfirmationModalContent","trackers","t","apiGatheringsDecline","useGatheringsDeclineMutation","dispatch","useAppDispatch","initialValues","handleClose","closeModal","changeModal","options","UnregisterFeedbackModalContent","feedback","feedbackOther","explanation","isOther","CheckCircle","RadioGroupInput","TextInput"],"mappings":"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"}