{"version":3,"file":"js/pages-Account-Settings-SettingsPage-f804414da982f957b352.chunk.js","mappings":"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","sources":["webpack://printivity/./client/app/api/account/settings.ts","webpack://printivity/./client/app/bundles/App/pages/Account/Settings/SettingsFieldRow.tsx","webpack://printivity/./client/app/styleguide/components/Formik/NotificationsForm/NotificationsForm.tsx","webpack://printivity/./client/app/bundles/App/pages/Account/Settings/SettingsPage.tsx","webpack://printivity/./client/app/libs/utils/updateFormik.ts","webpack://printivity/./client/app/styleguide/components/Formik/FieldWrapper/FieldWrapper.tsx","webpack://printivity/./client/app/styleguide/components/Formik/RadioTabs/index.tsx","webpack://printivity/./client/app/styleguide/components/forms/Field/TwoColumnFormField.tsx","webpack://printivity/./client/app/styleguide/components/forms/Field/Field.scss?dfed","webpack://printivity/./node_modules/lodash-es/_isFlattenable.js","webpack://printivity/./node_modules/lodash-es/_baseFlatten.js","webpack://printivity/./node_modules/lodash-es/flatten.js","webpack://printivity/./node_modules/lodash-es/last.js","webpack://printivity/./node_modules/lodash-es/_parent.js","webpack://printivity/./node_modules/lodash-es/_baseUnset.js","webpack://printivity/./node_modules/lodash-es/_customOmitClone.js","webpack://printivity/./node_modules/lodash-es/_flatRest.js","webpack://printivity/./node_modules/lodash-es/omit.js"],"sourcesContent":["import apiCall from 'app/libs/utils/api/apiCall';\nimport { OperatorResponse } from '../types';\nimport { SharedErrors } from 'libs/utils/api/types';\n\n// /users\nexport const settingsScope = (path?) => `/users${path || ''}`;\n\n// /users/:id\nexport const updateSettings = user => {\n const url = settingsScope(`/${user.id}`);\n return apiCall.put({ url, data: { user }, unscoped: true });\n};\n\nexport const acknowledgeAddressValidation = user => {\n const url = settingsScope(`/acknowledge_address_validation/`);\n return apiCall.put({ url, data: { user }, unscoped: true });\n};\n","/* eslint-disable react/destructuring-assignment */\nimport * as React from 'react';\nimport cn from 'classnames';\nimport Button from 'styleguide/components/Button/Button';\nimport { FormikProps } from 'formik';\nimport { ReactNode } from 'react';\nimport { FormikFieldWrapper } from 'app/styleguide/components/Formik';\n\ninterface FieldProps {\n title: string;\n name: string;\n}\n\ninterface Props {\n first?: boolean;\n fieldDisplayTitle: string;\n fieldDisplayValue: string;\n fields: FieldProps[];\n formikProps: FormikProps;\n fieldOverride?: ReactNode;\n}\n\ninterface State {\n editMode: boolean;\n}\n\nclass SettingsFieldRow extends React.Component, State> {\n constructor(props) {\n super(props);\n\n this.state = { editMode: false };\n\n this.editButtonClick = this.editButtonClick.bind(this);\n this.cancelButtonClick = this.cancelButtonClick.bind(this);\n }\n\n componentDidUpdate(prevProps: Readonly>, prevState: Readonly): void {\n if (prevState !== this.state) {\n if (this.state.editMode === false) {\n this.props.fields.forEach(field => {\n this.props.formikProps.values[field.name] = this.props.formikProps.initialValues[field.name];\n delete this.props.formikProps.touched[field.name];\n delete this.props.formikProps.errors[field.name];\n });\n }\n }\n }\n\n editButtonClick() {\n this.setState({ editMode: true });\n }\n\n cancelButtonClick() {\n this.setState({ editMode: false });\n }\n\n fieldType(name: string) {\n let type;\n switch (name) {\n case 'password':\n case 'confirmation':\n type = 'password';\n break;\n case 'email':\n type = 'email';\n break;\n default:\n type = 'text';\n }\n return type;\n }\n\n render() {\n return (\n <>\n \n
\n
{this.props.fieldDisplayTitle}
\n
{this.props.fieldDisplayValue}
\n
\n
\n \n Edit\n \n
\n \n
\n {this.props.fieldOverride ? (\n
{this.props.fieldOverride}
\n ) : (\n
\n {this.props.fields.map(field => (\n
\n \n
\n ))}\n
\n \n Cancel\n \n
\n
\n )}\n
\n \n );\n }\n}\n\nexport default SettingsFieldRow;\n","import * as React from 'react';\nimport TwoColumnFormField from 'styleguide/components/forms/Field/TwoColumnFormField';\nimport FieldWrapper from 'styleguide/components/Formik/FieldWrapper/FieldWrapper';\nimport cn from 'classnames';\nimport { Label } from 'styleguide/components/forms';\nimport RadioTabs from 'styleguide/components/Formik/RadioTabs';\nimport FormikFieldWrapper from '../FormikFieldWrapper/FormikFieldWrapper';\n\ninterface Props {\n prefix: string;\n}\n\nconst appendName = (prefix, name) => {\n if (prefix === '') {\n return name;\n }\n return `${prefix}.${name}`;\n};\n\nconst NotificationsForm = ({ prefix }: Props) => (\n \n Send project updates to your mobile device}\n Input={\n \n \n \n \n }\n />\n \n\n

\n Enable updates about the status of your project to a mobile device.\n

\n
\n);\n\nexport default NotificationsForm;\n","import * as React from 'react';\nimport { object, ref, string, boolean } from 'yup';\nimport TitleContainer from '../TitleContainer/TitleContainer';\nimport SettingsFieldRow from 'bundles/App/pages/Account/Settings/SettingsFieldRow';\nimport Button from 'styleguide/components/Button/Button';\nimport Footer from 'styleguide/components/Footer/Footer';\nimport { Status } from 'libs/utils/api/types';\nimport { updateSettings } from 'api/account/settings';\nimport { Formik, Form, FormikValues, FormikErrors } from 'formik';\nimport NotificationsForm from 'styleguide/components/Formik/NotificationsForm/NotificationsForm';\nimport Loader from 'styleguide/components/Loader/Loader';\nimport ErrorMessage from 'styleguide/components/forms/ErrorMesssage/ErrorMessage';\nimport { formikStatus, updateFormikStatus } from 'libs/utils/updateFormik';\nimport UserContext from 'contexts/UserContextContainer/UserContext';\n\nconst phoneRegex = /^[+]?[(]?[0-9]{3}[)]?[-\\s.]?[0-9]{3}[-\\s.]?[0-9]{4,6}$/;\n\nconst AccountSettingsFormSchema = object().shape({\n email: string()\n .strict()\n .email('Please enter a valid email.')\n .trim('Email cannot begin or end with spaces.')\n .required('Email is required.'),\n smsPhone: string().when('sendSmsNotifications', {\n is: value => !!value,\n then: schema =>\n schema\n .strict()\n .typeError('Phone number required')\n .trim('Phone number cannot begin or end with spaces.')\n .required('Phone number is required.')\n .matches(phoneRegex, 'Phone number is not valid.'),\n otherwise: schema => schema.nullable(),\n }),\n firstName: string()\n .strict()\n .trim('Name cannot begin or end with spaces.')\n .required('First name is required.'),\n lastName: string()\n .strict()\n .trim('Name cannot begin or end with spaces.')\n .required('Last name is required.'),\n sendSmsNotifications: boolean(),\n password: string()\n .ensure()\n .test('password-test', 'Password must be at least 8 characters.', value =>\n value === '' ? true : value.length >= 8,\n ),\n confirmation: string()\n .ensure()\n .when('password', {\n is: value => value === '',\n then: schema => schema.oneOf([''], 'Your password and confirmation do not match.'),\n otherwise: schema => schema.oneOf([ref('password')], 'Your password and confirmation do not match.'),\n }),\n});\n\nconst SettingsPage = () => {\n const { currentUser, logIn } = React.useContext(UserContext);\n\n const onSubmit = (\n values: FormikValues,\n setStatus: (status?: formikStatus) => void,\n setSubmitting: (isSubmitting: boolean) => void,\n setErrors: (errors: FormikErrors) => void,\n ) => {\n const userSettings = {\n ...(!!values.password && { password: values.password }),\n id: currentUser.id,\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n userNotificationSettingsAttributes: {\n sendSmsNotifications: !!values.sendSmsNotifications,\n smsPhone: values.smsPhone,\n },\n };\n\n updateSettings(userSettings).then(res => {\n updateFormikStatus(res, setStatus, setSubmitting, setErrors);\n if (res.status === Status.Ok) {\n logIn(res.payload.user);\n }\n });\n };\n\n const buildInitialValues = () => ({\n firstName: currentUser.firstName ? currentUser.firstName : '',\n lastName: currentUser.lastName ? currentUser.lastName : '',\n email: currentUser.email,\n smsPhone: currentUser.smsPhone,\n sendSmsNotifications: !!currentUser.smsEnabled,\n password: null,\n confirmation: null,\n });\n\n return (\n <>\n \n
\n {\n onSubmit(values, setStatus, setSubmitting, setErrors);\n }}\n validationSchema={AccountSettingsFormSchema}\n >\n {formikProps => (\n
\n
\n
Personal Information
\n
\n >\n first\n fieldDisplayTitle=\"Name\"\n fieldDisplayValue={\n currentUser.firstName\n ? `${currentUser.firstName} ${currentUser.lastName}`\n : 'Click edit to set name'\n }\n fields={[\n { title: 'First Name', name: 'firstName' },\n { title: 'Last Name', name: 'lastName' },\n ]}\n formikProps={formikProps}\n />\n >\n fieldDisplayTitle=\"Email Address\"\n fieldDisplayValue={currentUser.email}\n fields={[{ title: 'Email Address', name: 'email' }]}\n formikProps={formikProps}\n />\n >\n fieldDisplayTitle=\"Password\"\n fieldDisplayValue=\"*************\"\n fields={[\n { title: 'New password', name: 'password' },\n { title: 'Confirm new password', name: 'confirmation' },\n ]}\n formikProps={formikProps}\n />\n
\n
\n
\n \n
\n
\n {formikProps.isSubmitting ? (\n \n ) : (\n \n )}\n {!!formikProps.status && }\n
\n
\n )}\n \n
\n