{"version":3,"file":"static/chunks/4683.bdeeac930e49c85d.js","mappings":"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","sources":["webpack://_N_E/./components/FormInterestSubmission/FormInterestSubmission.js","webpack://_N_E/./utils/DeltaProjectHelpers.js","webpack://_N_E/./components/FormInterestSubmission/index.js","webpack://_N_E/./components/FormInterestSubmission/FormInterestSubmission.folkhem.module.scss","webpack://_N_E/./components/FormInterestSubmission/FormInterestSubmission.nordr.module.scss"],"sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Btn from '../Btn';\nimport FormInputText from '../FormInputText';\nimport FormCheckbox from '../FormCheckbox';\nimport { Formik, Field } from 'formik';\nimport * as Yup from 'yup';\nimport i18n from '../../i18n';\nimport { httpPost } from '../../utils/Http';\nimport { keysToSnakeFromCamel } from '../../utils/CaseConverters';\nimport { dataLayerPush } from '../../utils/DataLayerHelpers';\nimport { trackOrder } from '../../utils/DeltaProjectHelpers';\nimport FormFieldError from '../FormFieldError/FormFieldError';\nimport { ThemeContext, themes } from '../../themes/ThemeContext';\nimport { withThemeAndCSRFToken } from '../../utils/enhancers';\nimport stylesNordr from './FormInterestSubmission.nordr.module.scss';\nimport stylesFolkhem from './FormInterestSubmission.folkhem.module.scss';\n\nconst getStyles = (theme) => ({\n [themes.NORDR]: stylesNordr,\n [themes.FOLKHEM]: stylesFolkhem,\n }[theme]\n);\n\nYup.addMethod(Yup.mixed, 'swedishChars', function(message) {\n return this.test('swedishChars', message, function(value) {\n const chars = ['å', 'ä', 'ö'];\n return (\n Boolean(value) &&\n chars.every(\n (char) =>\n !encodeURI(value.toLowerCase()).includes(encodeURI(char))\n )\n );\n });\n});\n\nconst validation = {\n firstName: Yup.string().required('Förnamn måste anges'),\n lastName: Yup.string().required('Efternamn måste anges'),\n email: Yup.string()\n .email('Angiven E-postadress är inte giltig')\n .required('En giltig E-postadress måste anges')\n .swedishChars('Angiven E-postadress är inte giltig'),\n zipCode: Yup.string(),\n phone: Yup.string(),\n gdprApproved: Yup.boolean().oneOf([true], 'Du måste godkänna villkoren'),\n};\n\nclass FormInterestSubmission extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n submitted: false,\n firstName: '',\n };\n }\n\n componentDidMount() {\n if (this.props.onMountTracking) {\n dataLayerPush(this.props.onMountTracking);\n }\n }\n\n onSubmit = (values, actions) => {\n const convertedValues = keysToSnakeFromCamel(values);\n const { projectContactUrl, serviceUrl, csrfToken } = this.props;\n\n httpPost(serviceUrl, convertedValues, {\n 'X-CSRFToken': csrfToken,\n })\n .then((data) => {\n actions.setSubmitting(false);\n\n if ('errors' in data) {\n actions.setErrors(data.errors);\n return;\n }\n\n const successTrackingData = {\n ...{ label: window.location.pathname },\n ...this.props.submitSuccessTracking,\n };\n dataLayerPush(successTrackingData);\n trackOrder();\n\n if (data.url) {\n window.location.href = data.url;\n } else {\n this.setState({\n submitted: true,\n firstName: values.firstName,\n });\n }\n })\n .catch((error) => {\n error.response\n .json()\n .then((data) => {\n actions.setSubmitting(false);\n if ('errors' in data) {\n actions.setErrors(data.errors);\n return;\n } else if (\n data.non_field_errors.includes('already_exists')\n ) {\n this.setState({\n firstName: values.firstName,\n alreadyExists: `Du har redan anmält intresse för detta projekt.
Har du några frågor så är du välkommen att kontakta oss. Hör gärna av dig.`,\n });\n } else {\n actions.setErrors([\n 'Något gick tyvärr fel, vänligen försök igen senare.',\n ]);\n }\n })\n .catch(() => {\n actions.setSubmitting(false);\n actions.setErrors([\n 'Något gick tyvärr fel, vänligen försök igen senare.',\n ]);\n });\n });\n };\n\n render() {\n const {\n name,\n termsText,\n confirmationText,\n showHeader,\n guid,\n modifiers,\n theme,\n } = this.props;\n\n const styles = getStyles(theme);\n\n const { submitted, firstName, alreadyExists } = this.state;\n\n let initialValues = {\n email: '',\n phone: '',\n firstName: '',\n lastName: '',\n zipCode: '',\n contactMethod: 'Email',\n gdprApproved: false,\n objectGuid: guid,\n };\n\n initialValues = { ...initialValues, ...this.props.initialValues };\n\n let submittedTitle = i18n.t('interestSubmission.submitted', {\n firstName: firstName,\n });\n\n if (alreadyExists) {\n submittedTitle = i18n.t(\n 'interestSubmission.alreadyExistsHeadline',\n {\n firstName: firstName,\n }\n );\n }\n\n return (\n
\n {i18n.t(\n 'interestSubmission.description'\n )}\n
\n