{"version":3,"file":"index.d58c95b5.js","sources":["../../vite/modulepreload-polyfill","../../vite/preload-helper","../../src/context/enhancers.ts","../../src/services/http.ts","../../src/api/createEndpoint.ts","../../src/api/auth/completePassword.ts","../../src/api/auth/signOut.ts","../../src/api/auth/singIn.ts","../../src/api/validation/verifyUser.ts","../../src/utils/getVerifications.ts","../../src/context/features/auth.ts","../../src/context/reducer.ts","../../src/context/index.ts","../../src/services/session.ts","../../src/theme/colors/purple.ts","../../src/theme/colors/gray.ts","../../src/theme/colors/success.ts","../../src/theme/colors/red.ts","../../src/theme/colors/error.ts","../../src/theme/colors/yellow.ts","../../src/theme/styles/index.ts","../../src/languages/locales/en/index.ts","../../src/languages/locales/pt/index.ts","../../src/languages/locales/es/index.ts","../../src/languages/config/index.ts","../../src/languages/index.ts","../../src/hooks/useNamespace.ts","../../src/theme/icons/action/Visible.tsx","../../src/theme/icons/action/VisibleOff.tsx","../../src/theme/icons/action/ZoomIn.tsx","../../src/theme/icons/action/ZoomOut.tsx","../../src/theme/icons/action/Password.tsx","../../src/theme/icons/action/Persona.tsx","../../src/theme/icons/action/MoreVert.tsx","../../src/theme/icons/communication/CheckCircle.tsx","../../src/theme/icons/communication/AddressBook.tsx","../../src/theme/icons/communication/Question.tsx","../../src/theme/icons/communication/Book.tsx","../../src/theme/icons/communication/TimesCircle.tsx","../../src/theme/icons/communication/CircleQuestion.tsx","../../src/theme/icons/navigation/ArrowLeft.tsx","../../src/theme/icons/navigation/ArrowRight.tsx","../../src/theme/icons/navigation/ChevronDown.tsx","../../src/theme/icons/navigation/ChevronUp.tsx","../../src/theme/icons/navigation/Close.tsx","../../src/theme/icons/navigation/User.tsx","../../src/theme/icons/navigation/Home.tsx","../../src/theme/icons/navigation/Search.tsx","../../src/theme/icons/fluency/Account.tsx","../../src/theme/icons/fluency/Company.tsx","../../src/theme/icons/fluency/F.tsx","../../src/theme/icons/social/Facebook.tsx","../../src/theme/icons/social/Instagram.tsx","../../src/theme/icons/products/Talks.tsx","../../src/utils/passVerify.ts","../../src/theme/components/Password/index.tsx","../../src/utils/fadeColor.ts","../../src/theme/components/Scrollbar/index.tsx","../../src/middleware/storeNext.ts","../../src/hooks/useDispatch.ts","../../src/hooks/useAuth.ts","../../src/hooks/useStore.ts","../../src/hooks/useFetch.ts","../../src/hooks/useUnfetch.ts","../../src/hooks/useDevice.ts","../../src/hooks/useQueryParam.ts","../../src/hooks/usePromise.ts","../../src/hooks/useNavigate.ts","../../src/api/products/retrieve.ts","../../src/hooks/useProduct.ts","../../src/hooks/useTitle.ts","../../src/hooks/useDelayedRedirect.ts","../../src/theme/components/Select/Option/index.tsx","../../src/theme/components/Select/index.tsx","../../src/theme/components/Phone/index.tsx","../../src/theme/components/Photo/resolver/index.ts","../../src/theme/components/Photo/index.tsx","../../src/theme/components/LoadingPage/index.tsx","../../src/theme/components/MotionBox/index.tsx","../../src/theme/components/Alert/index.tsx","../../src/theme/components/LanguageMenu/index.tsx","../../src/theme/components/Gender/index.tsx","../../src/theme/components/SupportButton/index.tsx","../../src/theme/components/index.ts","../../src/theme/fonts/index.tsx","../../src/theme/config/index.ts","../../src/theme/screen/index.ts","../../src/theme/index.ts","../../src/provider/index.tsx","../../src/hooks/useMutateApi.ts","../../src/auth/Layout/components/Container/components/Header/ProductLogo.tsx","../../src/auth/Layout/components/Container/components/Header/index.tsx","../../src/auth/Layout/components/Container/index.tsx","../../src/auth/Layout/components/ProductSpan/index.tsx","../../src/auth/Layout/components/Outdoor/components/Phrase/index.tsx","../../src/auth/Layout/components/Outdoor/components/Step/index.tsx","../../src/auth/Layout/components/Outdoor/components/SignIn/index.tsx","../../src/auth/Layout/components/Outdoor/components/StepOne/index.tsx","../../src/auth/Layout/components/Outdoor/components/StepTwo/index.tsx","../../src/auth/Layout/components/Outdoor/components/StepThree/index.tsx","../../src/auth/Layout/components/Outdoor/components/StepFour/index.tsx","../../src/auth/Layout/components/Outdoor/components/LMS/index.tsx","../../src/auth/Layout/components/Outdoor/components/FluencyIo/index.tsx","../../src/auth/Layout/components/Outdoor/components/Activate/index.tsx","../../src/auth/Layout/components/Outdoor/index.tsx","../../src/auth/Layout/index.tsx","../../src/auth/SignIn/index.tsx","../../src/api/users/createAccount.ts","../../src/auth/SignUp/index.tsx","../../src/auth/SignOut/index.tsx","../../src/api/auth/forgotPassword.ts","../../src/utils/obfuscate.ts","../../src/api/auth/forgotPasswordReset.ts","../../src/auth/Forgots/Password/Reset/index.tsx","../../src/auth/Forgots/Password/index.tsx","../../src/auth/Forgots/Email/List/index.tsx","../../src/auth/Forgots/Email/index.tsx","../../src/auth/Forgots/index.ts","../../src/api/validation/verifyEmail.ts","../../src/auth/Validate/Email/index.tsx","../../src/api/users/update.ts","../../src/api/validation/sendPhone.ts","../../src/api/validation/verifyPhone.ts","../../src/auth/Validate/Phone/index.tsx","../../src/hooks/useFetchApi.ts","../../src/api/languages/list.ts","../../src/api/users/retrieve.ts","../../src/utils/birthdate.ts","../../src/utils/castObject.ts","../../src/utils/toFormData.ts","../../src/auth/Profile/index.tsx","../../src/auth/Provisional/index.tsx","../../src/languages/Generator/index.tsx","../../src/pages/Activate/index.tsx","../../src/pages/Activate/components/CodeInput.tsx","../../src/pages/Activate/components/CreatePassword.tsx","../../src/pages/Activate/Code.tsx","../../src/api/users/address/index.ts","../../src/pages/Layout/components/Navbar/index.tsx","../../src/pages/Layout/components/SignOut/index.tsx","../../src/pages/Layout/components/LeftSideBar/index.tsx","../../src/pages/Layout/components/NavItem/index.tsx","../../src/pages/Layout/components/Drawer/index.tsx","../../src/pages/Layout/components/RightSideBar/index.tsx","../../src/pages/Layout/components/Navigation/index.tsx","../../src/pages/Layout/components/Header/index.tsx","../../src/pages/Layout/index.tsx","../../src/pages/Address/index.tsx","../../src/pages/Contact/components/ChangePhoneModal.tsx","../../src/pages/Contact/index.tsx","../../src/api/auth/resetPassword.ts","../../src/pages/Password/index.tsx","../../src/pages/Profile/index.tsx","../../src/routes/Error/index.tsx","../../src/routes/useSession.tsx","../../src/routes/index.tsx","../../src/app/index.tsx","../../src/services/sentry.ts","../../src/index.tsx"],"sourcesContent":["const p = function polyfill() {\n const relList = document.createElement('link').relList;\n if (relList && relList.supports && relList.supports('modulepreload')) {\n return;\n }\n for (const link of document.querySelectorAll('link[rel=\"modulepreload\"]')) {\n processPreload(link);\n }\n new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type !== 'childList') {\n continue;\n }\n for (const node of mutation.addedNodes) {\n if (node.tagName === 'LINK' && node.rel === 'modulepreload')\n processPreload(node);\n }\n }\n }).observe(document, { childList: true, subtree: true });\n function getFetchOpts(script) {\n const fetchOpts = {};\n if (script.integrity)\n fetchOpts.integrity = script.integrity;\n if (script.referrerpolicy)\n fetchOpts.referrerPolicy = script.referrerpolicy;\n if (script.crossorigin === 'use-credentials')\n fetchOpts.credentials = 'include';\n else if (script.crossorigin === 'anonymous')\n fetchOpts.credentials = 'omit';\n else\n fetchOpts.credentials = 'same-origin';\n return fetchOpts;\n }\n function processPreload(link) {\n if (link.ep)\n // ep marker = processed\n return;\n link.ep = true;\n // prepopulate the load record\n const fetchOpts = getFetchOpts(link);\n fetch(link.href, fetchOpts);\n }\n};__VITE_IS_MODERN__&&p();","const scriptRel = 'modulepreload';const seen = {};const base = '/';export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps || deps.length === 0) {\n return baseModule();\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n dep = `${base}${dep}`;\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', () => rej(new Error(`Unable to preload CSS for ${dep}`)));\n });\n }\n })).then(() => baseModule());\n}","import { createReduxEnhancer } from '@sentry/react';\n\nimport { StateProps as AuthProps } from './features/auth';\n\nconst sentryEnhancer = createReduxEnhancer({\n\tstateTransformer: (state) => {\n\t\tconst auth: AuthProps = { ...state.auth };\n\n\t\tif (auth.authenticate?.password) {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tauth: { ...auth, authenticate: { email: auth.authenticate.email, password: '' } },\n\t\t\t};\n\t\t}\n\n\t\treturn state;\n\t},\n});\n\nconst enhancers = [sentryEnhancer];\n\nexport default enhancers;\n","import axios, { AxiosError, AxiosRequestConfig, AxiosResponseTransformer } from 'axios';\nimport { Fetcher } from 'swr';\n\nimport store from '~/context';\nimport auth from '~/context/features/auth';\n\nimport { getSession, revalidate } from './session';\n\nconst createError = (message: string, status: number) => {\n\tconst error = new Error(message) as Error & { status: number };\n\n\terror.name = 'HttpError';\n\terror.status = status;\n\n\treturn error;\n};\n\nconst outputErrors: AxiosResponseTransformer = (data, headers?) => {\n\tif (headers && /application\\/json/.test(headers['content-type'])) {\n\t\tconst response = JSON.parse(data);\n\n\t\tif (Array.isArray(response?.errors)) {\n\t\t\tthrow new Error(response.errors.flatMap((error: ErrorsProps) => error?.errors).join('\\n'));\n\t\t} else if (response?.errors?.details) {\n\t\t\tthrow new Error(response?.errors?.details);\n\t\t} else if ('detail' in response) {\n\t\t\tthrow new Error(response?.detail);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\treturn data;\n};\n\nexport const http = axios.create({\n\tbaseURL: import.meta.env.VITE_API_URL as string,\n\ttransformResponse: [outputErrors],\n});\n\nexport const fetcher = (config: AxiosRequestConfig) => {\n\tconst bare: Fetcher = async (url: string) => {\n\t\tconst { data } = await http({ ...config, url });\n\n\t\treturn data;\n\t};\n\n\treturn bare;\n};\n\nhttp.interceptors.request.use((config) => {\n\tconst accessToken = getSession();\n\n\treturn {\n\t\t...config,\n\t\theaders: {\n\t\t\t...config.headers,\n\t\t\t...(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}),\n\t\t},\n\t};\n});\n\nhttp.interceptors.response.use(\n\t(response) => response,\n\tasync (error: AxiosError) => {\n\t\tconst session = getSession();\n\t\tconst status =\n\t\t\t!error.response && error.message.match(/Credenciais de autenticaĆ§Ć£o incorretas.|Invalid token./)\n\t\t\t\t? 401\n\t\t\t\t: error.response?.status;\n\n\t\tif (status === 401 && session) {\n\t\t\ttry {\n\t\t\t\tconst accessToken = await revalidate();\n\n\t\t\t\treturn axios.request({\n\t\t\t\t\t...error.config,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t...error.config?.headers,\n\t\t\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} catch (exception) {\n\t\t\t\tstore.dispatch(auth.actions.signOut());\n\t\t\t\twindow.location.href = '/';\n\n\t\t\t\tthrow exception;\n\t\t\t}\n\t\t} else if (status === 401 && !session) {\n\t\t\tstore.dispatch(auth.actions.signOut());\n\t\t\twindow.location.href = '/';\n\t\t}\n\n\t\treturn Promise.reject(error);\n\t}\n);\n\nexport { createError };\nexport default http;\n","import type { AxiosRequestConfig, AxiosResponse } from 'axios';\n\nimport http from '~/services/http';\n\nimport { Method } from './create';\n\nexport interface ManualConfigProps extends AxiosRequestConfig {\n\tpath: string;\n}\n\nexport interface ManualRequestProps {\n\t(\n\t\tpayload?: Type,\n\t\tconfig?: Partial\n\t): Promise<[Return, Omit, 'data'>]>;\n}\n\nexport interface ManualTriggerProps {\n\tdelete: ManualRequestProps<'data', Type, Return>;\n\tget: ManualRequestProps<'params', Type, Return>;\n\tpatch: ManualRequestProps<'data', Type, Return>;\n\tpost: ManualRequestProps<'data', Type, Return>;\n\tput: ManualRequestProps<'data', Type, Return>;\n}\n\nconst createEndpoint = (initialConfig: ManualConfigProps) => {\n\tconst merge = async (requestConfig: AxiosRequestConfig & Partial>) => {\n\t\tconst config = {\n\t\t\t...initialConfig,\n\t\t\t...requestConfig,\n\t\t\theaders: { ...requestConfig.headers },\n\t\t};\n\n\t\tconst { data, ...response } = await http({\n\t\t\t...initialConfig,\n\t\t\t...config,\n\t\t\turl: initialConfig.path,\n\t\t});\n\n\t\treturn [data, response] as [Return, Omit, 'data'>];\n\t};\n\n\tconst method: ManualTriggerProps = {\n\t\tdelete: (data?, config?) => merge({ ...config, data, method: 'delete' }),\n\t\tget: (params?, config?) => merge({ ...config, params, method: 'get' }),\n\t\tpatch: (data?, config?) => merge({ ...config, data, method: 'patch' }),\n\t\tpost: (data?, config?) => merge({ ...config, data, method: 'post' }),\n\t\tput: (data?, config?) => merge({ ...config, data, method: 'put' }),\n\t};\n\n\treturn method as Pick>;\n};\n\nexport default createEndpoint;\n","import { createEndpoint } from '~/api';\nimport { SessionProps } from '~/context/features/auth';\n\nexport type AuthStateTypes = 'AUTHENTICATED' | 'NEW_PASSWORD_REQUIRED';\n\nexport interface RequestProps {\n\temail: string;\n\tnew_password: string;\n\tsession_token: string;\n}\n\nexport interface ResponseProps {\n\tauth_state: AuthStateTypes;\n\tsession: SessionProps;\n}\n\nconst completeNewPassword = createEndpoint<'POST', RequestProps, ResponseProps>({ path: '/auth/password/complete/' });\n\nexport default completeNewPassword;\n","import createEndpoint from '~/api/createEndpoint';\n\nconst signOut = createEndpoint<'POST', Record, Record>({ path: '/auth/sign-out/global/' });\n\nexport default signOut;\n","import createEndpoint from '~/api/createEndpoint';\nimport { SessionProps, UserAttributesProps } from '~/context/features/auth';\n\nexport type AuthStateTypes = 'AUTHENTICATED' | 'NEW_PASSWORD_REQUIRED';\n\nexport interface RequestProps {\n\temail: string;\n\tpassword: string;\n}\n\nexport interface ResponseProps {\n\tauth_state: AuthStateTypes;\n\tsession: SessionProps;\n\tuser_attributes?: UserAttributesProps;\n\tsession_token?: string;\n}\n\nconst signIn = createEndpoint<'POST', RequestProps, ResponseProps>({ path: '/auth/sign-in/' });\n\nexport default signIn;\n","import { ValidationTypes } from '~/context/features/auth';\n\nimport { createEndpoint } from '..';\n\nexport interface VerificationProps {\n\ttype_validation: ValidationTypes;\n\tactive: boolean;\n}\n\nexport interface RequestProps {\n\temail: string;\n}\n\nexport interface ResponseProps {\n\tverifications: Array;\n}\n\nconst verify = createEndpoint<'GET', RequestProps, ResponseProps>({ path: '/users/verify/active/' });\n\nexport default verify;\n","import { VerificationProps } from '~/api/validation/verifyUser';\nimport { ValidationTypes } from '~/context/features/auth';\n\ntype Verifications = Array;\n\nconst findValidation = (verifications: Verifications, type: ValidationTypes) =>\n\tverifications?.some((verification) => verification.type_validation === type && !verification.active);\n\nconst mustValidateEmail = (verifications: Verifications) => {\n\tconst hasPendingValidation = findValidation(verifications, ValidationTypes.EMAIL);\n\tconst isEmpty = !verifications.length;\n\n\treturn isEmpty || hasPendingValidation;\n};\n\nconst mustValidatePhone = (verifications: Verifications) => {\n\tconst hasPendingValidation = findValidation(verifications, ValidationTypes.PHONE);\n\tconst verifiedEmailOnly = verifications.length === 1;\n\n\treturn verifiedEmailOnly || hasPendingValidation;\n};\n\nconst getValidation = (verifications: Verifications) => {\n\tif (mustValidateEmail(verifications)) return ValidationTypes.EMAIL;\n\n\tif (mustValidatePhone(verifications)) return ValidationTypes.PHONE;\n\n\treturn null;\n};\n\nexport default getValidation;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport completeNewPassword, { RequestProps as CompletePasswordProps } from '~/api/auth/completePassword';\nimport signOut from '~/api/auth/signOut';\nimport signIn, { AuthStateTypes, RequestProps as SignInRequestProps } from '~/api/auth/singIn';\nimport verify, { RequestProps as VerifyRequestProps } from '~/api/validation/verifyUser';\nimport { destroySession, setSession } from '~/services/session';\nimport getVerification from '~/utils/getVerifications';\n\nexport enum Cookies {\n\tSESSION = '@Accounts:jwt_token',\n}\n\nexport interface UserAttributesProps {\n\temail_verified: string;\n\tname: string;\n\temail: string;\n}\n\nexport interface ProvisionalProps {\n\tuserAttributes: UserAttributesProps;\n\tsession_token: string;\n}\n\nexport interface SessionProps {\n\taccess_token: string;\n\trefresh_token: string;\n\tid_token: string;\n\texpires_in: number;\n}\n\nexport interface AuthenticateProps {\n\temail?: string;\n\tpassword?: string;\n}\n\nexport enum ValidationTypes {\n\tEMAIL = 'EMAIL',\n\tPHONE = 'PHONE_NUMBER',\n}\n\nexport interface StateProps {\n\tsession: SessionProps | null;\n\tloading: boolean;\n\terror: Error | null;\n\tvalidation: ValidationTypes | null;\n\tauthenticate?: AuthenticateProps | null;\n\tauthState?: AuthStateTypes | null;\n\tprovisional?: ProvisionalProps;\n}\n\nconst initialState: StateProps = {\n\tsession: null,\n\tloading: false,\n\terror: null,\n\tauthState: null,\n\tauthenticate: null,\n\tvalidation: null,\n};\n\nexport const performSignIn = createAsyncThunk('auth/signIn', async (value: SignInRequestProps, { signal, rejectWithValue }) => {\n\ttry {\n\t\tconst [data] = await signIn.post(value, { signal });\n\n\t\treturn { ...data, email: value.email };\n\t} catch (error) {\n\t\treturn rejectWithValue(error);\n\t}\n});\n\nexport const performSignOut = createAsyncThunk('auth/signOut', async (_, { rejectWithValue }) => {\n\ttry {\n\t\tawait signOut.post({});\n\t} catch (error) {\n\t\treturn rejectWithValue(error);\n\t}\n});\n\nexport const performCompletePassword = createAsyncThunk(\n\t'auth/completePassword',\n\tasync (value: CompletePasswordProps, { signal, rejectWithValue }) => {\n\t\ttry {\n\t\t\tconst [data] = await completeNewPassword.post(value, { signal });\n\n\t\t\treturn data;\n\t\t} catch (error) {\n\t\t\treturn rejectWithValue(error);\n\t\t}\n\t}\n);\n\nexport const performVerify = createAsyncThunk('auth/verify', async (value: VerifyRequestProps, { signal, rejectWithValue }) => {\n\ttry {\n\t\tconst [response] = await verify.get({ email: value.email }, { signal });\n\n\t\tconst validation = getVerification(response.verifications);\n\n\t\treturn { validation };\n\t} catch (error) {\n\t\treturn rejectWithValue(error);\n\t}\n});\n\nconst slice = createSlice({\n\tname: 'auth',\n\tinitialState,\n\treducers: {\n\t\tsetSession: (state, action: PayloadAction) => {\n\t\t\tstate.session = action.payload;\n\n\t\t\tsetSession(action.payload.access_token, action.payload.refresh_token, action.payload.id_token, action.payload.expires_in);\n\t\t},\n\t\tsetAuthState: (state, action: PayloadAction) => {\n\t\t\tstate.authState = action.payload;\n\t\t},\n\t\tsetAuthenticate: (state, action: PayloadAction) => {\n\t\t\tstate.authenticate = action.payload;\n\t\t},\n\t\tsetProvisional: (state, action: PayloadAction) => {\n\t\t\tstate.provisional = action.payload;\n\t\t},\n\t\tsignOut: (state) => {\n\t\t\tstate.error = null;\n\t\t\tstate.loading = false;\n\t\t\tstate.session = null;\n\n\t\t\tdestroySession();\n\t\t},\n\t},\n\textraReducers(builder) {\n\t\tbuilder\n\t\t\t.addCase(performSignIn.pending, (state) => {\n\t\t\t\tstate.loading = true;\n\t\t\t\tstate.error = null;\n\t\t\t})\n\t\t\t.addCase(performSignIn.rejected, (state, action) => {\n\t\t\t\tstate.error = action.payload as Error;\n\t\t\t\tstate.loading = false;\n\t\t\t})\n\t\t\t.addCase(performSignIn.fulfilled, (state, action) => {\n\t\t\t\tswitch (action.payload.auth_state) {\n\t\t\t\t\tcase 'AUTHENTICATED':\n\t\t\t\t\t\tslice.caseReducers.setSession(state, { ...action, payload: action.payload.session });\n\t\t\t\t\t\tstate.authState = action.payload.auth_state;\n\t\t\t\t\t\tstate.authenticate = { email: action.payload.email, password: undefined };\n\t\t\t\t\t\tstate.loading = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'NEW_PASSWORD_REQUIRED':\n\t\t\t\t\t\tslice.caseReducers.setProvisional(state, {\n\t\t\t\t\t\t\t...action,\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tuserAttributes: action.payload?.user_attributes as UserAttributesProps,\n\t\t\t\t\t\t\t\tsession_token: action.payload?.session_token as string,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tstate.authState = action.payload.auth_state;\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tstate.error = null;\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.addCase(performSignOut.pending, (state) => {\n\t\t\t\tstate.loading = true;\n\t\t\t\tstate.error = null;\n\t\t\t})\n\t\t\t.addCase(performSignOut.rejected, (state, { payload }) => {\n\t\t\t\tstate.error = payload as Error;\n\t\t\t\tstate.loading = false;\n\t\t\t\tslice.caseReducers.signOut(state);\n\t\t\t})\n\t\t\t.addCase(performSignOut.fulfilled, (state) => {\n\t\t\t\tstate.loading = false;\n\t\t\t\tslice.caseReducers.signOut(state);\n\t\t\t})\n\t\t\t.addCase(performCompletePassword.pending, (state) => {\n\t\t\t\tstate.loading = true;\n\t\t\t\tstate.error = null;\n\t\t\t})\n\t\t\t.addCase(performCompletePassword.rejected, (state, { payload }) => {\n\t\t\t\tstate.error = payload as Error;\n\t\t\t\tstate.loading = false;\n\t\t\t})\n\t\t\t.addCase(performCompletePassword.fulfilled, (state, { payload }) => {\n\t\t\t\t// state.session = payload.session;\n\t\t\t\tstate.authState = payload.auth_state;\n\t\t\t\tstate.loading = false;\n\t\t\t})\n\t\t\t.addCase(performVerify.pending, (state) => {\n\t\t\t\tstate.loading = true;\n\t\t\t\tstate.error = null;\n\t\t\t})\n\t\t\t.addCase(performVerify.rejected, (state, { payload }) => {\n\t\t\t\tstate.error = payload as Error;\n\t\t\t\tstate.loading = false;\n\t\t\t})\n\t\t\t.addCase(performVerify.fulfilled, (state, { payload }) => {\n\t\t\t\tstate.validation = payload.validation;\n\t\t\t\tif (payload.validation) state.loading = false;\n\t\t\t});\n\t},\n});\n\nexport default slice;\n","import { combineReducers } from 'redux';\nimport { persistReducer } from 'redux-persist';\nimport createFilter from 'redux-persist-transform-filter';\nimport storage from 'redux-persist/lib/storage';\n\nimport auth from './features/auth';\n\nconst reducers = combineReducers({ auth: auth.reducer });\n\nexport default persistReducer(\n\t{\n\t\tkey: 'accounts',\n\t\twhitelist: ['auth'],\n\t\tblacklist: [],\n\t\ttransforms: [createFilter('auth', ['session', 'provisional', 'authenticate'])],\n\t\tstorage,\n\t},\n\treducers\n);\n","import { configureStore } from '@reduxjs/toolkit';\nimport { persistStore } from 'redux-persist';\n\nimport enhancers from './enhancers';\nimport { StateProps as AuthProps } from './features/auth';\nimport reducer from './reducer';\n\nexport interface RootStateProps {\n\tauth: AuthProps;\n}\n\nconst store = configureStore({\n\treducer,\n\tenhancers,\n\tmiddleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false }),\n});\n\nexport const persistor = persistStore(store);\n\nexport default store;\n","import jwtDecode from 'jwt-decode';\nimport { Cookies } from 'react-cookie';\nimport type { CookieSetOptions } from 'universal-cookie/cjs/types';\n\nimport store from '~/context';\nimport slice, { SessionProps } from '~/context/features/auth';\n\nexport interface RequestProps {\n\trefresh_token: string;\n}\n\nexport interface ResponseProps {\n\tsession: SessionProps;\n}\n\nconst ACCOUNTS_SESSION = '@Accounts:jwt_token';\nconst ACCOUNTS_REFRESH = '@Accounts:refresh_token';\nconst ACCOUNTS_EMAIL = '@Accounts:email';\n\nconst getCookieOption = (maxAge: number = 30 * 24 * 60 * 60) => {\n\tconst defaultOptions: CookieSetOptions = {\n\t\tmaxAge: maxAge,\n\t\tsameSite: 'lax',\n\t\tdomain: import.meta.env.VITE_APP_DOMAIN as string,\n\t\tsecure: import.meta.env.PROD,\n\t\tpath: '/',\n\t};\n\n\treturn defaultOptions;\n};\n\nconst setSession = (accessToken: string, refreshToken?: string, idToken?: string, accessMaxAge: number = 1 * 24 * 60 * 60) => {\n\tconst cookies = new Cookies();\n\n\tconst sessionCookieOption = getCookieOption(accessMaxAge);\n\n\tcookies.set(ACCOUNTS_SESSION, accessToken, sessionCookieOption);\n\n\tif (idToken) {\n\t\tconst { email } = jwtDecode>(idToken);\n\n\t\tif (email) {\n\t\t\tconst emailCookieOption = getCookieOption();\n\n\t\t\tcookies.set(ACCOUNTS_EMAIL, email, emailCookieOption);\n\t\t}\n\t}\n\n\tif (refreshToken) {\n\t\tconst refreshCookieOption = getCookieOption();\n\n\t\tcookies.set(ACCOUNTS_REFRESH, refreshToken, refreshCookieOption);\n\t}\n};\n\nconst getSession = () => {\n\tconst cookies = new Cookies();\n\tconst authorization = cookies.get(ACCOUNTS_SESSION);\n\n\treturn authorization ? (authorization as string) : null;\n};\n\nconst destroySession = () => {\n\tconst cookies = new Cookies();\n\n\tcookies.remove(ACCOUNTS_REFRESH);\n\tcookies.remove(ACCOUNTS_SESSION);\n};\n\nconst revalidate = async () => {\n\tconst accessToken = getSession();\n\n\tif (!accessToken) throw new Error('User is not authenticated');\n\tconst { auth } = store.getState();\n\tconst refresh = await import('~/api/auth/refresh').then((refresh) => refresh.default);\n\tconst [response] = await refresh.post({\n\t\trefresh_token: auth.session.refresh_token,\n\t\temail: auth.authenticate.email,\n\t});\n\n\tif (response?.session) {\n\t\tsetSession(response.session.access_token, undefined, undefined, response.session.expires_in);\n\n\t\tconst action = slice.actions.setSession({\n\t\t\t...response.session,\n\t\t\trefresh_token: auth.session.refresh_token,\n\t\t});\n\n\t\tstore.dispatch(action);\n\t}\n\n\treturn response?.session.access_token;\n};\n\nconst componentWillMount = async () => {\n\ttry {\n\t\tawait revalidate();\n\t} catch (exception) {\n\t\tstore.dispatch(slice.actions.signOut());\n\t}\n};\n\nconst useSession = () => getSession();\n\nexport { revalidate, componentWillMount, getSession, setSession, destroySession, useSession };\n","const purple = {\n\t50: '#EDE5FC',\n\t100: '#c7b8fb',\n\t200: '#a28bf5',\n\t300: '#6B47ED',\n\t400: '#572eea',\n\t500: '#3e15d0',\n\t550: '#332173',\n\t600: '#3010a3',\n\t700: '#220a75',\n\t800: '#130648',\n\t900: '#08011d',\n};\n\nexport default purple;\n","const gray = {\n\t50: '#fbfbfb',\n\t100: '#f6f6f6',\n\t200: '#DBDBDB',\n\t300: '#c1bfbf',\n\t400: '#afafaf',\n\t500: '#716A6A',\n\t600: '#666666',\n\t700: '#413f40',\n\t750: '#3d3d3d',\n\t800: '#292526',\n\t900: '#1C1C1C',\n};\n\nexport default gray;\n","const success = {\n\t50: '#DEFBE6',\n\t100: '#b2fbda',\n\t200: '#85f7c4',\n\t300: '#57f4ac',\n\t400: '#2cf195',\n\t500: '#17d87c',\n\t600: '#0A9E5A',\n\t700: '#027843',\n\t800: '#004927',\n\t900: '#001a0a',\n};\n\nexport default success;\n","const red = {\n\t50: '#ffe7e7',\n\t100: '#f5c0c0',\n\t200: '#e89898',\n\t300: '#dd6f70',\n\t400: '#D14545',\n\t500: '#b82e2e',\n\t600: '#902222',\n\t700: '#671718',\n\t800: '#400c0d',\n\t900: '#1d0101',\n};\n\nexport default red;\n","const error = {\n\t50: '#FFDEDE',\n\t100: '#f5c0c0',\n\t200: '#e89898',\n\t300: '#dc6f70',\n\t400: '#d14747',\n\t500: '#CC3333',\n\t600: '#902323',\n\t700: '#671718',\n\t800: '#400c0d',\n\t900: '#1d0101',\n};\n\nexport default error;\n","const yellow = {\n\t50: '#fff7db',\n\t100: '#fee8af',\n\t200: '#fbd881',\n\t300: '#f8c851',\n\t400: '#f7bd30',\n\t500: '#dd9f09',\n\t600: '#ac7c03',\n\t700: '#7c5800',\n\t800: '#4b3500',\n\t900: '#1d1100',\n};\n\nexport default yellow;\n","export const styles: import('@chakra-ui/theme-tools').Styles = {\n\tglobal: (_props) => ({\n\t\t'*': {\n\t\t\t'& input': {\n\t\t\t\t'&:valid': { layerStyle: 'valid' },\n\t\t\t\t'&:invalid': { layerStyle: 'invalid' },\n\t\t\t},\n\t\t},\n\t\t'input::-ms-reveal, input::-ms-clear': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t}),\n};\n\nexport const textStyles = {\n\th6: {\n\t\tfontWeight: 700,\n\t\tfontFamily: 'GT Walsheim',\n\t\tlineHeight: 'shorter',\n\t\tfontSize: 'md',\n\t},\n\th5: {\n\t\tfontWeight: 700,\n\t\tfontFamily: 'GT Walsheim',\n\t\tlineHeight: '7',\n\t\tfontSize: '2xl',\n\t},\n\tbody2: {\n\t\tfontWeight: 400,\n\t\tfontFamily: 'IBM Plex Sans',\n\t\tlineHeight: 'short',\n\t\tfontSize: 'sm',\n\t},\n\tbutton: {\n\t\tprimary: {\n\t\t\tfontWeight: 500,\n\t\t\tfontFamily: 'IBM Plex Sans',\n\t\t\tlineHeight: '8',\n\t\t\tfontSize: 'md',\n\t\t},\n\t},\n\tcaption2: {\n\t\tfontWeight: 500,\n\t\tfontFamily: 'IBM Plex Sans',\n\t\tfontSize: 'sm',\n\t\tlineHeight: 'shorter',\n\t},\n\tlabel: {\n\t\tprimary: {\n\t\t\tfontWeight: 500,\n\t\t\tfontFamily: 'IBM Plex Sans',\n\t\t\tlineHeight: 'shorter',\n\t\t\tfontSize: 'md',\n\t\t},\n\t},\n\tsubtitle: {\n\t\tfontWeight: 500,\n\t\tfontFamily: 'IBM Plex Sans',\n\t\tlineHeight: 'none',\n\t\tfontSize: 'xs',\n\t},\n};\n\nexport const layerStyles = {\n\tinvalid: {\n\t\tborderColor: 'gray.400',\n\t\tborderWidth: '0.0625rem',\n\t},\n\tvalid: {\n\t\tborderColor: 'gray.600',\n\t\tborderWidth: '0.125rem',\n\t},\n\tcropOutline: {\n\t\tborderStyle: 'solid',\n\t\tborderWidth: '0.125rem',\n\t\tborderColor: 'black',\n\t},\n};\n","import activate from './activate.json';\nimport address from './address.json';\nimport changePassword from './changePassword.json';\nimport contact from './contact.json';\nimport forgotPassword from './forgotPassword.json';\nimport genderInput from './genderInput.json';\nimport languageMenu from './languageMenu.json';\nimport outdoor from './outdoor.json';\nimport pageLayout from './pageLayout.json';\nimport password from './password.json';\nimport profile from './profile.json';\nimport provisional from './provisional.json';\nimport select from './select.json';\nimport signIn from './signIn.json';\nimport signUp from './signUp.json';\nimport signUpProfile from './signUpProfile.json';\nimport validate from './validate.json';\n\nexport default {\n\tactivate,\n\tsignIn,\n\tcontact,\n\tpageLayout,\n\tsignUp,\n\tpassword,\n\tlanguageMenu,\n\tforgotPassword,\n\taddress,\n\tprovisional,\n\tprofile,\n\tchangePassword,\n\tsignUpProfile,\n\tvalidate,\n\tgenderInput,\n\tselect,\n\toutdoor,\n};\n","import activate from './activate.json';\nimport address from './address.json';\nimport changePassword from './changePassword.json';\nimport contact from './contact.json';\nimport forgotPassword from './forgotPassword.json';\nimport genderInput from './genderInput.json';\nimport languageMenu from './languageMenu.json';\nimport outdoor from './outdoor.json';\nimport pageLayout from './pageLayout.json';\nimport password from './password.json';\nimport profile from './profile.json';\nimport provisional from './provisional.json';\nimport select from './select.json';\nimport signIn from './signIn.json';\nimport signUp from './signUp.json';\nimport signUpProfile from './signUpProfile.json';\nimport validate from './validate.json';\n\nexport default {\n\tactivate,\n\tsignIn,\n\tcontact,\n\tpageLayout,\n\tsignUp,\n\tpassword,\n\taddress,\n\tforgotPassword,\n\tprovisional,\n\tprofile,\n\tchangePassword,\n\tsignUpProfile,\n\tvalidate,\n\tgenderInput,\n\tlanguageMenu,\n\tselect,\n\toutdoor,\n};\n","import activate from './activate.json';\nimport address from './address.json';\nimport changePassword from './changePassword.json';\nimport contact from './contact.json';\nimport forgotPassword from './forgotPassword.json';\nimport genderInput from './genderInput.json';\nimport languageMenu from './languageMenu.json';\nimport outdoor from './outdoor.json';\nimport pageLayout from './pageLayout.json';\nimport password from './password.json';\nimport profile from './profile.json';\nimport provisional from './provisional.json';\nimport select from './select.json';\nimport signIn from './signIn.json';\nimport signUp from './signUp.json';\nimport signUpProfile from './signUpProfile.json';\nimport validate from './validate.json';\n\nexport default {\n\tactivate,\n\tsignIn,\n\tcontact,\n\tpageLayout,\n\tsignUp,\n\tpassword,\n\taddress,\n\tforgotPassword,\n\tprovisional,\n\tprofile,\n\tchangePassword,\n\tsignUpProfile,\n\tvalidate,\n\tgenderInput,\n\tlanguageMenu,\n\tselect,\n\toutdoor,\n};\n","import { InitOptions } from 'i18next';\n\nimport * as locales from '../locales';\n\nconst config: InitOptions = {\n\tresources: { ...locales },\n\tfallbackLng: { default: ['pt'] },\n\tinterpolation: {\n\t\tescapeValue: false,\n\t},\n};\n\nexport default config;\n","import { use, default as i18n } from 'i18next';\nimport BrowserLanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\n\nimport config from './config';\n\nuse(BrowserLanguageDetector).use(initReactI18next).init(config);\n\nexport default i18n;\n","import { TOptions, StringMap } from 'i18next';\nimport { useTranslation, UseTranslationOptions, KeyPrefix } from 'react-i18next';\n\nimport i18n from '~/languages';\nimport { default as locales } from '~/languages/locales/pt';\n\nconst useNamespace = (ns: Namespace | undefined, options?: UseTranslationOptions) => {\n\tconst { t, i18n: i18next } = useTranslation>(ns, { i18n, ...options });\n\n\tconst translate = (content: keyof Locale, options?: string | TOptions) => {\n\t\tconst text = t(content as any, options);\n\n\t\treturn text;\n\t};\n\n\treturn { translate, i18next };\n};\n\nexport default useNamespace;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Visible = createIcon({\n\tdisplayName: 'Visible',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Visible;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst VisibleOff = createIcon({\n\tdisplayName: 'VisibleOff',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t),\n});\n\nexport default VisibleOff;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst ZoomIn = createIcon({\n\tdisplayName: 'ZoomIn',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default ZoomIn;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst ZoomOut = createIcon({\n\tdisplayName: 'ZoomOut',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default ZoomOut;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Password = createIcon({\n\tdisplayName: 'Password',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Password;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Persona = createIcon({\n\tdisplayName: 'Persona',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Persona;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst MoreVert = createIcon({\n\tdisplayName: 'MoreVert',\n\tviewBox: '0 0 4 18',\n\tpath: (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t),\n});\n\nexport default MoreVert;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst CheckCircle = createIcon({\n\tdisplayName: 'CheckCircle',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default CheckCircle;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst AddressBook = createIcon({\n\tdisplayName: 'AddressBook',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default AddressBook;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Question = createIcon({\n\tdisplayName: 'Question',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Question;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Book = createIcon({\n\tdisplayName: 'Book',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Book;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst TimesCircle = createIcon({\n\tdisplayName: 'TimesCircle',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default TimesCircle;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst CircleQuestion = createIcon({\n\tdisplayName: 'CircleQuestion',\n\tviewBox: '0 0 18 18',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default CircleQuestion;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst ArrowLeft = createIcon({\n\tdisplayName: 'ArrowLeft',\n\tviewBox: '0 0 16 16',\n\tpath: ,\n});\n\nexport default ArrowLeft;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst ArrowRight = createIcon({\n\tdisplayName: 'ArrowRight',\n\tviewBox: '0 0 16 16',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default ArrowRight;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst ChevronDown = createIcon({\n\tdisplayName: 'ChevronDown',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default ChevronDown;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst ChevronDown = createIcon({\n\tdisplayName: 'ChevronDown',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default ChevronDown;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Close = createIcon({\n\tdisplayName: 'Close',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Close;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst User = createIcon({\n\tdisplayName: 'User',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default User;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Home = createIcon({\n\tdisplayName: 'Home',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Home;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Search = createIcon({\n\tdisplayName: 'Search',\n\tviewBox: '0 0 24 24',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Search;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Account = createIcon({\n\tdisplayName: 'Account',\n\tviewBox: '0 0 106 24',\n\tpath: (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t),\n});\n\nexport default Account;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Company = createIcon({\n\tdisplayName: 'Company',\n\tviewBox: '0 0 98 33',\n\tpath: (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t),\n});\n\nexport default Company;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst F = createIcon({\n\tdisplayName: 'F',\n\tviewBox: '0 0 32 70',\n\tpath: (\n\t\t<>\n\t\t\t\n\t\t\n\t),\n});\n\nexport default F;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Facebook = createIcon({\n\tdisplayName: 'Facebook',\n\tviewBox: '0 0 14 14',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Facebook;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Instagram = createIcon({\n\tdisplayName: 'Instagram',\n\tviewBox: '0 0 14 14',\n\tpath: (\n\t\t\n\t),\n});\n\nexport default Instagram;\n","import { createIcon } from '@chakra-ui/icons';\n\nconst Talks = createIcon({\n\tdisplayName: 'Talks',\n\tviewBox: '0 0 237 237',\n\tpath: (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t),\n});\n\nexport default Talks;\n","import { default as locales } from '~/languages/locales/pt';\n\nconst passVerify = (password: string) => {\n\tconst regExp = new RegExp(/^(?:(?=\\S*\\d)(?=\\S*[a-z])(?=.*[\\W_]).{1,})$/, 'gim');\n\n\treturn regExp.test(password);\n};\n\nexport const yupTest = (namespace: Namespace) =>\n\t[\n\t\t'old_password',\n\t\t`${namespace}@validation-password-composition`,\n\t\t(password: string) => password && password.length >= 8 && passVerify(password as string),\n\t] as [string, string, (password?: string) => boolean];\n\nexport default passVerify;\n","import { useState } from 'react';\n\nimport {\n\tBox,\n\tforwardRef,\n\tIconButton,\n\tInput,\n\tInputGroup,\n\tInputRightElement,\n\tuseDisclosure,\n\tFlex,\n\tInputProps,\n} from '@chakra-ui/react';\n\nimport useNamespace from '~/hooks/useNamespace';\nimport { CheckCircle, Visible, VisibleOff } from '~/theme/icons';\nimport passVerify from '~/utils/passVerify';\n\nexport interface PasswordProps extends InputProps {\n\thint?: boolean;\n}\n\nconst Password = forwardRef(({ hint, ...props }, ref) => {\n\tconst { isOpen: isVisible, onToggle } = useDisclosure();\n\tconst [text, setText] = useState();\n\tconst { translate } = useNamespace('password');\n\tconst Icon = isVisible ? VisibleOff : Visible;\n\n\tconst passLength = (password: string) => {\n\t\tif (!password) return false;\n\n\t\treturn password.length >= 8;\n\t};\n\n\tconst handleInput: React.FormEventHandler = ({ target }) => {\n\t\tsetText((target as HTMLInputElement).value as string);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{hint && (\n\t\t\t\t\n\t\t\t\t\t{[\n\t\t\t\t\t\t[translate('password@step-1'), passLength],\n\t\t\t\t\t\t[translate('password@step-2'), passVerify],\n\t\t\t\t\t].map(([label, validate]) => {\n\t\t\t\t\t\tconst color = (() => {\n\t\t\t\t\t\t\tif (!text) return ['gray.200', 'gray.500'];\n\n\t\t\t\t\t\t\treturn (validate as (value: string) => boolean)(text) ? 'success.600' : 'red.400';\n\t\t\t\t\t\t})();\n\n\t\t\t\t\t\tconst isArray = Array.isArray(color);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{label as string}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n});\n\nPassword.displayName = 'Input';\n\nPassword.defaultProps = {\n\tcolorScheme: 'purple',\n\thint: false,\n};\n\nexport default Password;\n","const fadeColor = (color: string, percentual: number) => {\n\tconst pounded = /^#/.test(color);\n\tconst num = parseInt(color.slice(pounded ? 1 : 0), 16);\n\tconst colorSynthesis = {\n\t\tred: (num >> 16) + percentual,\n\t\tblue: ((num >> 8) & 0x00ff) + percentual,\n\t\tgreen: (num & 0x0000ff) + percentual,\n\t};\n\n\tif (colorSynthesis.red > 255) colorSynthesis.red = 255;\n\telse if (colorSynthesis.red < 0) colorSynthesis.red = 0;\n\n\tif (colorSynthesis.blue > 255) colorSynthesis.blue = 255;\n\telse if (colorSynthesis.blue < 0) colorSynthesis.blue = 0;\n\n\tif (colorSynthesis.green > 255) colorSynthesis.green = 255;\n\telse if (colorSynthesis.green < 0) colorSynthesis.green = 0;\n\n\treturn (pounded ? '#' : '') + (colorSynthesis.green | (colorSynthesis.blue << 8) | (colorSynthesis.red << 16)).toString(16);\n};\n\nexport default fadeColor;\n","import { Flex, FlexProps, forwardRef } from '@chakra-ui/react';\nimport { mode } from '@chakra-ui/theme-tools';\n\nimport { gray } from '~/theme/colors';\nimport fadeColor from '~/utils/fadeColor';\n\nconst Scrollbar = forwardRef((props, ref) => (\n\t\n));\n\nScrollbar.displayName = 'Scrollbar';\n\nScrollbar.defaultProps = {\n\tdirection: 'column',\n};\n\nexport default Scrollbar;\n","import { useEffect } from 'react';\n\nimport type { Middleware, Key } from 'swr';\n\nexport const inMemory = new Map();\n\nconst storeNext: Middleware = (useSWRNext) => {\n\tconst useSetData: ReturnType = (key, ...params) => {\n\t\tconst { data, ...swr } = useSWRNext(key, ...params);\n\n\t\tuseEffect(() => {\n\t\t\tinMemory.set(key, JSON.stringify(data ?? {}));\n\t\t}, [data, key]);\n\n\t\treturn { ...swr, data };\n\t};\n\n\treturn useSetData;\n};\n\nexport default storeNext;\n","import { useDispatch as useStoreDispatch } from 'react-redux';\n\nimport store from '~/context';\n\nconst useDispatch = () => useStoreDispatch();\n\nexport default useDispatch;\n","import { useCallback } from 'react';\n\nimport { useUpdateEffect } from '@chakra-ui/react';\nimport { useLocation } from 'react-router-dom';\nimport { useSWRConfig } from 'swr';\n\nimport slice, {\n\tperformCompletePassword,\n\tperformSignIn,\n\tperformSignOut,\n\tperformVerify,\n\tValidationTypes,\n} from '~/context/features/auth';\nimport { inMemory } from '~/middleware';\n\nimport { useNavigate, useProduct, useStore } from '.';\nimport useDispatch from './useDispatch';\n\ninterface VerificationPayloadProps {\n\tvalidation: ValidationTypes | null;\n}\n\nfunction useAuth() {\n\tconst { cache } = useSWRConfig();\n\tconst auth = useStore(({ auth }) => auth);\n\tconst dispatch = useDispatch();\n\tconst navigate = useNavigate();\n\tconst { pathname } = useLocation();\n\tconst product = useProduct();\n\tconst productQuery = product.id ? `?product=${product.name.toLowerCase()}` : '';\n\tconst isUserIn = !!auth.session;\n\n\tconst setAuthenticate = useCallback(\n\t\t(email: string, password: string) => {\n\t\t\tdispatch(slice.actions.setAuthenticate({ email, password }));\n\t\t},\n\t\t[dispatch]\n\t);\n\n\tconst handleSignIn = useCallback(\n\t\tasync (email: string, password: string, redirectTo?: string) => {\n\t\t\tconst res = await dispatch(performSignIn({ email, password }));\n\n\t\t\tif ((res.payload as any).auth_state === 'AUTHENTICATED') {\n\t\t\t\tif (redirectTo) {\n\t\t\t\t\treturn navigate(redirectTo);\n\t\t\t\t} else {\n\t\t\t\t\treturn navigate('/');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[dispatch, navigate]\n\t);\n\n\tconst completeAuthentication = async () => {\n\t\tawait handleSignIn(auth.authenticate?.email as string, auth.authenticate?.password as string);\n\n\t\tnavigate(`/signup/profile/${productQuery}`, {\n\t\t\tstate: { canComplete: true },\n\t\t});\n\t};\n\n\tconst navigateToEmail = useCallback(\n\t\t(email: string, password: string) => {\n\t\t\tsetAuthenticate(email, password);\n\t\t\tnavigate(`/signup/validate-email/${productQuery}`, { state: { email } });\n\t\t},\n\t\t[navigate, productQuery, setAuthenticate]\n\t);\n\n\tconst shouldNavigate = useCallback(\n\t\t(verification: ValidationTypes | null) => {\n\t\t\tif (verification === ValidationTypes.EMAIL) return navigateToEmail;\n\n\t\t\treturn null;\n\t\t},\n\t\t[navigateToEmail]\n\t);\n\n\tconst signIn = useCallback(\n\t\tasync (email: string, password: string, redirectTo?: string) => {\n\t\t\tconst { payload } = await dispatch(performVerify({ email }));\n\t\t\tconst validation = (payload as VerificationPayloadProps).validation;\n\n\t\t\tconst navigate = shouldNavigate(validation);\n\n\t\t\tif (navigate) navigate(email, password);\n\t\t\telse handleSignIn(email, password, redirectTo);\n\t\t},\n\t\t[dispatch, handleSignIn, shouldNavigate]\n\t);\n\n\tconst signOut: Replace = useCallback(() => {\n\t\tdispatch(performSignOut());\n\t\tfor (const key of inMemory.keys()) cache.delete(key);\n\t}, [cache, dispatch]);\n\n\tconst completePassword = useCallback(\n\t\tasync (password: string) => {\n\t\t\tconst response = await dispatch(\n\t\t\t\tperformCompletePassword({\n\t\t\t\t\tnew_password: password,\n\t\t\t\t\temail: auth.provisional?.userAttributes.email as string,\n\t\t\t\t\tsession_token: auth.provisional?.session_token as string,\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tif (!('error' in response)) navigate(`/signin/${productQuery}`);\n\t\t},\n\t\t[auth.provisional?.session_token, auth.provisional?.userAttributes.email, dispatch, navigate, productQuery]\n\t);\n\n\tuseUpdateEffect(() => {\n\t\tswitch (auth.authState) {\n\t\t\tcase 'NEW_PASSWORD_REQUIRED':\n\t\t\t\tnavigate(`${'/signin/provisional-password/'}${productQuery}`);\n\t\t}\n\t}, [auth.authState, dispatch, navigate, pathname, product.id, product.name, productQuery]);\n\n\treturn {\n\t\t...auth,\n\t\tisUserIn,\n\t\tsignIn,\n\t\tsignOut,\n\t\tcompletePassword,\n\t\tsetAuthenticate,\n\t\tcompleteAuthentication,\n\t};\n}\n\nexport default useAuth;\n","import { useSelector } from 'react-redux';\n\nimport { RootStateProps } from '~/context';\n\nexport default function useStore(\n\tselector: (state: State) => CurrentState,\n\tequalityFn?: (left: CurrentState, right: CurrentState) => boolean\n) {\n\tconst state = useSelector(selector, equalityFn);\n\n\treturn state;\n}\n","import type { AxiosRequestConfig } from 'axios';\nimport { useMatch, useResolvedPath } from 'react-router-dom';\nimport useSWR, { BareFetcher, SWRConfiguration } from 'swr';\n\nimport { useNavigate } from '~/hooks';\nimport { fetcher } from '~/services/http';\n\nconst useFetch = (\n\turl: string,\n\taxiosConfig?: AxiosRequestConfig,\n\tswrConfig?: SWRConfiguration>\n) => {\n\tconst resolved = useResolvedPath('/');\n\tconst match = useMatch({ path: resolved.pathname, end: true });\n\tconst push = useNavigate();\n\tconst response = useSWR(url, fetcher({ ...axiosConfig, url }), {\n\t\tonErrorRetry: (error, _key, { errorRetryInterval, errorRetryCount }, revalidate, { retryCount }) => {\n\t\t\tif ((error as any).status === 404) {\n\t\t\t\tif (!match) push('/');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (retryCount >= (errorRetryCount ?? 10)) return;\n\n\t\t\tsetTimeout(() => revalidate({ retryCount }), errorRetryInterval);\n\t\t},\n\t\t...swrConfig,\n\t});\n\n\treturn response;\n};\n\nexport default useFetch;\n","import { useCallback, useReducer, useRef } from 'react';\n\nimport { AxiosRequestConfig } from 'axios';\nimport { MutatorCallback, MutatorOptions, SWRResponse, useSWRConfig } from 'swr';\n\nimport { fetcher } from '~/services/http';\n\nconst useUnfetch = (\n\turl: string,\n\taxios?: AxiosRequestConfig,\n\tswr?: MutatorOptions\n) => {\n\tconst { mutate } = useSWRConfig();\n\tconst [, reRender] = useReducer((prev) => prev + 1, 0);\n\tconst state = useRef({ isValidating: false, data: undefined, error: undefined } as SWRResponse);\n\n\tconst request = useCallback(\n\t\tasync (data?: Payload, config?: typeof axios) => {\n\t\t\ttry {\n\t\t\t\tstate.current.isValidating = true;\n\t\t\t\tstate.current.error = undefined;\n\t\t\t\treRender();\n\n\t\t\t\tconst response = await fetcher({\n\t\t\t\t\t...axios,\n\t\t\t\t\t...config,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t...axios?.headers,\n\t\t\t\t\t\t...config?.headers,\n\t\t\t\t\t},\n\t\t\t\t\tdata,\n\t\t\t\t})(url);\n\n\t\t\t\tmutate(url, response, swr);\n\n\t\t\t\tstate.current.data = response;\n\n\t\t\t\treturn response;\n\t\t\t} catch (exception) {\n\t\t\t\tstate.current.error = exception as Error;\n\t\t\t} finally {\n\t\t\t\tstate.current.isValidating = false;\n\t\t\t\treRender();\n\t\t\t}\n\t\t},\n\t\t[axios, mutate, swr, url]\n\t);\n\n\treturn [\n\t\trequest,\n\t\t{\n\t\t\tget isValidating() {\n\t\t\t\treturn state.current.isValidating;\n\t\t\t},\n\t\t\tget data() {\n\t\t\t\treturn state.current.data;\n\t\t\t},\n\t\t\tget error() {\n\t\t\t\treturn state.current.error;\n\t\t\t},\n\t\t\tset mutate(data: Data | Promise | MutatorCallback) {\n\t\t\t\tmutate(url, data, swr);\n\t\t\t},\n\t\t},\n\t] as [typeof request, SWRResponse];\n};\n\nexport default useUnfetch;\n","import { useMediaQuery, useTheme } from '@chakra-ui/react';\n\nexport default function useDevice() {\n\tconst { __breakpoints } = useTheme();\n\tconst [isMobileDevice] = useMediaQuery(`(max-device-width: ${__breakpoints?.asObject.sm})`);\n\n\treturn {\n\t\tisMobileDevice,\n\t};\n}\n","import { useLocation } from 'react-router-dom';\n\nexport default function useQueryParam

(...params: Array

) {\n\tconst location = useLocation();\n\tconst url = new URLSearchParams(location.search);\n\tconst properties = {} as Record;\n\n\tfor (const param of params) {\n\t\tproperties[param] = url.get(param);\n\t}\n\n\treturn properties;\n}\n","import { useCallback, useReducer, useRef } from 'react';\n\nexport interface ResponseProps {\n\tdata: T | undefined;\n\terror: Error | undefined;\n\tisLoading: boolean;\n}\n\nconst initialState = { data: undefined, error: undefined, isLoading: false } as ResponseProps;\n\nconst usePromise = (promise: T) => {\n\tconst [, forceRender] = useReducer((prev) => prev + 1, 0);\n\tconst state = useRef(initialState);\n\n\tconst request = useCallback(\n\t\tasync (...params: Params) => {\n\t\t\ttry {\n\t\t\t\tconst delegate = promise as any as (...args: Params) => Promise;\n\n\t\t\t\tstate.current.isLoading = true;\n\t\t\t\tforceRender();\n\n\t\t\t\tconst data = await delegate.apply(this, params);\n\n\t\t\t\tstate.current.data = data;\n\n\t\t\t\treturn data;\n\t\t\t} catch (exception) {\n\t\t\t\tstate.current.error = exception as Error;\n\t\t\t\tthrow exception;\n\t\t\t} finally {\n\t\t\t\tstate.current.isLoading = false;\n\t\t\t\tforceRender();\n\t\t\t}\n\t\t},\n\t\t[promise]\n\t) as unknown as T;\n\n\treturn [\n\t\trequest,\n\t\t{\n\t\t\tget data() {\n\t\t\t\treturn state.current.data;\n\t\t\t},\n\t\t\tget error() {\n\t\t\t\treturn state.current.error;\n\t\t\t},\n\t\t\tget isLoading() {\n\t\t\t\treturn state.current.isLoading;\n\t\t\t},\n\t\t},\n\t] as [typeof request, ResponseProps>>];\n};\n\nexport default usePromise;\n","import { useNavigate as useDOMNavigate, To, NavigateOptions, NavigateFunction } from 'react-router-dom';\nimport validator from 'validator';\n\nconst goto = (url: string) => (window.location.href = url);\n\nconst useNavigate = () => {\n\tconst push = useDOMNavigate();\n\n\tconst navigate = (to: To | number, options?: NavigateOptions) => {\n\t\tif (typeof to === 'string' && validator.isURL(to)) goto(to);\n\t\telse push(to as To, options);\n\t};\n\n\treturn navigate as NavigateFunction;\n};\n\nexport { goto };\nexport default useNavigate;\n","import useSWR from 'swr';\n\nimport { fetcher } from '~/services/http';\n\nexport interface ResponseProps {\n\tid: string;\n\tname: string;\n\tlogo: string;\n\tbackground_image: string;\n\tcallback_url: string;\n\tbrand_color: string;\n}\n\nconst getProduct = (slug: string) => fetcher({ url: `/products/${slug}/`, method: 'GET' });\nconst useFetchProduct = (slug: string) => useSWR(slug ? `/products/${slug}/` : null, getProduct(slug));\n\nexport { getProduct, useFetchProduct };\n","import { ResponseProps, useFetchProduct } from '~/api/products/retrieve';\nimport { purple } from '~/theme/colors';\n\nimport useQueryParam from './useQueryParam';\n\nfunction useProduct() {\n\tconst { product } = useQueryParam('product');\n\t// TODO: Remove default product\n\tconst { data } = useFetchProduct(product || '');\n\n\treturn {\n\t\tbrand_color: purple[300],\n\t\tbackground_image: '/images/auth-bg.jpeg',\n\t\tname: 'Fluency Academy',\n\t\t...data,\n\t} as ResponseProps;\n}\n\nexport default useProduct;\n","import { useEffect } from 'react';\n\nconst useTitle = (title: string) => {\n\tuseEffect(() => {\n\t\tdocument.title = title;\n\t}, [title]);\n};\n\nexport default useTitle;\n","function useDelayedRedirect(path, delay = 1000) {\n\tfunction redirect() {\n\t\tsetTimeout(() => {\n\t\t\twindow.location.replace(path);\n\t\t}, delay);\n\t}\n\n\treturn redirect;\n}\n\nexport default useDelayedRedirect;\n","import { memo } from 'react';\n\nimport { Box, FlexProps, Flex, useRadio, UseRadioProps } from '@chakra-ui/react';\n\nexport interface OptionProps extends FlexProps {\n\tvalue: T;\n\tdefaultChecked?: boolean;\n}\n\nfunction Option({ children, ...props }: OptionProps) {\n\tconst { getInputProps, getCheckboxProps } = useRadio(props as unknown as UseRadioProps);\n\n\tconst input = getInputProps(props);\n\tconst checkbox = getCheckboxProps(props);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t {\n\t\t\t\t\tif (event.code === 'Enter') {\n\t\t\t\t\t\tcheckbox['aria-checked'] = true;\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tsx={{ '& *': { pointerEvents: 'none' } }}\n\t\t\t\t{...checkbox}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n}\n\nexport default memo(Option);\n","import { forwardRef, Children, useState, useImperativeHandle, useEffect, useRef, useCallback, useMemo } from 'react';\n\nimport {\n\tBox,\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger as OrigPopoverTrigger,\n\tuseDisclosure,\n\tuseRadioGroup,\n\tuseBoolean,\n\tInputGroup,\n\tInputRightElement,\n\tInput,\n\tButton,\n\tButtonProps,\n\tuseFormControlContext,\n} from '@chakra-ui/react';\nimport type { Token } from '@chakra-ui/styled-system/dist/declarations/src/utils/types';\nimport { StringOrNumber } from '@chakra-ui/utils';\nimport type { Property } from 'csstype';\n\nimport { useNamespace } from '~/hooks';\nimport { ChevronDown, ChevronUp, Search } from '~/theme/icons';\n\nimport Scrollbar from '../Scrollbar';\nimport { OptionProps } from './Option';\n\nexport interface SelectProps extends Omit {\n\tonChange?: React.ChangeEventHandler;\n\tonChangeValue?: (value: StringOrNumber) => void;\n\tsearchable?: boolean | string;\n\tvalue?: StringOrNumber;\n}\n\nconst PopoverTrigger: React.FC<{ children: React.ReactNode }> = OrigPopoverTrigger;\n\nconst Select = forwardRef(\n\t({ name, onChange, onChangeValue, searchable, placeholder, children, maxHeight, ...props }, ref) => {\n\t\tconst cache = useRef({} as { [key: string]: any });\n\t\tconst triggerRef = useRef(null);\n\t\tconst { isOpen, onOpen, onClose } = useDisclosure();\n\t\tconst [width, setWidth] = useState>('auto');\n\t\tconst [query, setQuery] = useState('');\n\t\tconst [isPicked, { on }] = useBoolean();\n\t\tconst context = useFormControlContext();\n\n\t\tconst { translate } = useNamespace('select');\n\n\t\tconst { getRootProps, getRadioProps, setValue, ...radio } = useRadioGroup({\n\t\t\tname,\n\t\t\tdefaultValue: props.defaultValue as StringOrNumber,\n\t\t\tvalue: props.value as StringOrNumber,\n\t\t});\n\n\t\tconst Icon = useMemo(() => (isOpen ? ChevronUp : ChevronDown), [isOpen]);\n\n\t\tconst handleClose = useCallback(() => {\n\t\t\tsetQuery('');\n\t\t\tonClose();\n\t\t}, [onClose]);\n\n\t\tconst handleResize: MutationCallback = useCallback(() => {\n\t\t\tconst trigger = triggerRef.current;\n\n\t\t\tif (document.contains(trigger) && trigger) {\n\t\t\t\tsetWidth(trigger.clientWidth);\n\t\t\t}\n\t\t}, []);\n\n\t\tconst handleKeyPressed: React.KeyboardEventHandler = (event) => {\n\t\t\tswitch (event.code) {\n\t\t\t\tcase 'Enter':\n\t\t\t\t\tonOpen();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Escape':\n\t\t\t\t\tonClose();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\tuseEffect(() => {\n\t\t\tif ((props.value || props.defaultValue) && !isPicked) {\n\t\t\t\ton();\n\t\t\t}\n\t\t}, [isPicked, on, props.defaultValue, props.value]);\n\n\t\tuseEffect(() => {\n\t\t\tconst observer = new MutationObserver(handleResize);\n\n\t\t\tobserver.observe(document, { childList: true, subtree: true });\n\n\t\t\treturn () => {\n\t\t\t\tobserver.disconnect();\n\t\t\t};\n\t\t}, [handleResize]);\n\n\t\tuseEffect(() => {\n\t\t\tChildren.forEach(children as React.ReactElement, ({ props }: React.ReactElement>) => {\n\t\t\t\tif ('defaultChecked' in props && props.defaultChecked) {\n\t\t\t\t\tsetValue(props.value);\n\t\t\t\t}\n\n\t\t\t\tcache.current[props.value] = props.children;\n\t\t\t});\n\t\t}, [children, setValue]);\n\n\t\tuseImperativeHandle(ref, () => radio.ref.current, [radio.ref]);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\tcolor=\"gray.700\"\n\t\t\t\t\t\tclassName=\"select-label\"\n\t\t\t\t\t\t_disabled={{\n\t\t\t\t\t\t\tbgColor: 'gray.100',\n\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tisFullWidth\n\t\t\t\t\t\tisTruncated\n\t\t\t\t\t\tisDisabled={context?.isDisabled}\n\t\t\t\t\t\tonKeyDown={handleKeyPressed}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t>\n\t\t\t\t\t\t{cache.current[radio.value] ?? translate(placeholder as 'select@select-placeholder')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{searchable && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setQuery((target as HTMLInputElement).value)}\n\t\t\t\t\t\t\t\t\tvalue={query}\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{isOpen &&\n\t\t\t\t\t\t\t\tChildren.map(\n\t\t\t\t\t\t\t\t\tchildren as React.ReactElement,\n\t\t\t\t\t\t\t\t\t({ props: { value, ...rest }, ...child }: React.ReactElement>) => {\n\t\t\t\t\t\t\t\t\t\tconst regExp = new RegExp(query as string, 'gim');\n\n\t\t\t\t\t\t\t\t\t\tif (query && !String(rest.children).match(regExp)) return null;\n\n\t\t\t\t\t\t\t\t\t\tconst { isChecked: checked, ...props } = getRadioProps({\n\t\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t\tonClick(event) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetValue(value);\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeValue?.(value);\n\t\t\t\t\t\t\t\t\t\t\t\tonChange?.(event as unknown as React.ChangeEvent);\n\t\t\t\t\t\t\t\t\t\t\t\thandleClose();\n\t\t\t\t\t\t\t\t\t\t\t\ton();\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown(event) {\n\t\t\t\t\t\t\t\t\t\t\t\tif (event.code === 'Enter') {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetValue(value);\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeValue?.(value);\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange?.(event as unknown as React.ChangeEvent);\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\ton();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...child,\n\t\t\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t\t\tchecked,\n\t\t\t\t\t\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tkey: value,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n);\n\nSelect.displayName = 'Select';\n\nSelect.defaultProps = {\n\tmaxHeight: '64',\n\tplaceholder: 'select@select-placeholder',\n};\n\nexport { default as Option } from './Option';\nexport * from './Option';\n\nexport default Select;\n","import { useState } from 'react';\n\nimport { Input, Grid, InputProps, forwardRef } from '@chakra-ui/react';\nimport NumberFormat, { NumberFormatProps } from 'react-number-format';\n\nimport { Select, Option } from '~/theme/components';\n\nimport countries from './countries.json';\n\nexport type PhoneInputProps = { [key in 'code' | 'number']: string | undefined };\n\nexport interface PhoneProps extends Omit, 'onChange' | 'value'> {\n\tonChange(phone: PhoneInputProps): void;\n\tvalue: PhoneInputProps;\n}\n\nexport interface TracingProps {\n\tcountry: string;\n\tcountryCode: string;\n\tnumberMask: string;\n}\n\nconst Phone = forwardRef(({ onChange, value: phone, isDisabled, ...props }, ref) => {\n\tconst defaultCountry = countries.find((data) => data.country === 'BR') as TracingProps;\n\n\tconst [tracing, setTracing] = useState(defaultCountry);\n\tconst [value, setValue] = useState(phone?.number);\n\n\tconst handleCountry: React.ChangeEventHandler = ({ target }) => {\n\t\tsetValue('');\n\t\tsetTracing(countries.find((data) => data.country === target.attributes.getNamedItem('value')?.value) as TracingProps);\n\t};\n\n\tconst handleInput: React.FormEventHandler = ({ target }) => {\n\t\tif (!target) {\n\t\t\tsetValue('');\n\t\t\tonChange({ code: tracing?.countryCode, number: '' });\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = (target as HTMLInputElement)?.value;\n\n\t\tsetValue(value);\n\t\tonChange({ code: tracing?.countryCode, number: value });\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{countries.map(({ country, countryCode }, index) => (\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n});\n\nPhone.defaultProps = {\n\tisDisabled: false,\n};\n\nexport default Phone;\n","import type { Crop } from 'react-image-crop';\n\nexport enum Resolver {\n\tRADIANS = Math.PI / 180,\n}\n\nconst createPreview = async (image: HTMLImageElement, canvas: HTMLCanvasElement, crop: Crop, scale = 1, rotate = 0) => {\n\tconst context = canvas.getContext('2d');\n\n\tif (!context) throw new Error('No 2d context');\n\n\tconst scaleX = image.naturalWidth / image.width;\n\tconst scaleY = image.naturalHeight / image.height;\n\tconst pixelRatio = window.devicePixelRatio || 1;\n\tconst cropX = crop.x * scaleX;\n\tconst cropY = crop.y * scaleY;\n\tconst rotateRads = rotate * Resolver.RADIANS;\n\tconst centerX = image.naturalWidth / 2;\n\tconst centerY = image.naturalHeight / 2;\n\n\tcanvas.width = Math.floor(crop.width * scaleX * pixelRatio);\n\tcanvas.height = Math.floor(crop.height * scaleY * pixelRatio);\n\n\tcontext.scale(pixelRatio, pixelRatio);\n\tcontext.imageSmoothingQuality = 'high';\n\tcontext.save();\n\tcontext.translate(-cropX, -cropY);\n\tcontext.translate(centerX, centerY);\n\tcontext.rotate(rotateRads);\n\tcontext.scale(scale, scale);\n\tcontext.translate(-centerX, -centerY);\n\tcontext.drawImage(image, 0, 0, image.naturalWidth, image.naturalHeight, 0, 0, image.naturalWidth, image.naturalHeight);\n\tcontext.restore();\n};\n\nexport default createPreview;\n","import { useReducer, useRef, useImperativeHandle, forwardRef, useEffect } from 'react';\n\nimport {\n\tButton,\n\tFlex,\n\tImage,\n\tuseDisclosure,\n\tModal,\n\tModalBody,\n\tModalCloseButton,\n\tModalContent,\n\tModalFooter,\n\tModalHeader,\n\tModalOverlay,\n\tIconButton,\n\tuseBreakpointValue,\n\tuseFormControlContext,\n\tuseUpdateEffect,\n} from '@chakra-ui/react';\nimport { DropzoneInputProps, DropzoneRootProps, useDropzone } from 'react-dropzone';\nimport ReactCrop, { centerCrop, makeAspectCrop, Crop, PixelCrop } from 'react-image-crop';\nimport type { Action } from 'redux';\nimport { ValuesType } from 'utility-types';\n\nimport useNamespace from '~/hooks/useNamespace';\nimport { ZoomIn, ZoomOut } from '~/theme/icons';\n\nimport resolveCanvas from './resolver';\n\nimport 'react-image-crop/dist/ReactCrop.css';\n\nexport enum PhotoCrop {\n\tMAX_FILES = 1,\n\tACCEPTED_FILES = 'image/jpeg, image/png',\n}\n\nexport interface StateProps {\n\tcrop: Partial;\n\timage?: HTMLImageElement;\n\tpreview?: string;\n\tcropped?: PixelCrop;\n\tscale: number;\n\trotate: number;\n}\n\nexport interface ActionProps extends Action {\n\tvalue: ValuesType;\n}\n\nexport interface RenderProps {\n\topen: () => void;\n\turl: string | undefined;\n\tref: React.RefObject;\n\tgetRootProps: (props?: T | undefined) => T;\n\tgetInputProps: (props?: T | undefined) => T;\n}\n\nexport interface PhotoProps {\n\tonChangeValue(file: File): void;\n\trender(props: RenderProps): React.ReactNode;\n\tisMobile?: boolean;\n\tsrc?: string;\n}\n\nexport const initialState: StateProps = {\n\tcrop: {\n\t\tunit: 'px',\n\t\tx: 25,\n\t\ty: 25,\n\t\twidth: 250,\n\t\theight: 250,\n\t},\n\tscale: 1,\n\trotate: 0,\n};\n\nconst reducer: React.Reducer = (state, action) => ({ ...state, [action.type]: action.value });\n\nconst Photo = forwardRef(({ onChangeValue, render, src, isMobile }, ref) => {\n\tconst size = useBreakpointValue(['sm', 'xl']);\n\tconst canvas = useRef(null);\n\tconst [{ crop, scale, rotate, image, preview }, dispatch] = useReducer(reducer, { ...initialState, preview: src });\n\tconst { isOpen, onOpen, onClose } = useDisclosure();\n\tconst context = useFormControlContext();\n\tconst { translate } = useNamespace('pageLayout');\n\n\tconst { inputRef, getRootProps, getInputProps, open } = useDropzone({\n\t\tdisabled: context?.isDisabled,\n\t\taccept: PhotoCrop.ACCEPTED_FILES as string,\n\t\tmaxFiles: PhotoCrop.MAX_FILES as number,\n\t\tmultiple: (PhotoCrop.MAX_FILES > 1) as boolean,\n\t\tonDrop([file]) {\n\t\t\tif (preview) URL.revokeObjectURL(preview);\n\n\t\t\tif (file) dispatch({ type: 'preview', value: URL.createObjectURL(file) });\n\t\t},\n\t\tonDropAccepted() {\n\t\t\tonOpen();\n\t\t},\n\t});\n\n\tconst handler =\n\t\t(type: K) =>\n\t\t(value: StateProps[K]) => {\n\t\t\tdispatch({ type, value });\n\t\t};\n\n\tconst onImageLoad = ({ currentTarget }: React.SyntheticEvent) => {\n\t\thandler('image')(currentTarget);\n\t};\n\n\tconst handleCrop = async () => {\n\t\tif (crop && image && canvas?.current) {\n\t\t\tresolveCanvas(image, canvas.current, crop as Crop, scale, rotate);\n\n\t\t\tcanvas.current.toBlob((blob) => {\n\t\t\t\tif (blob) onChangeValue(new File([blob], 'pp.png', { type: 'image/png' }));\n\t\t\t});\n\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst handleZoomIn = () => {\n\t\tif (scale < 2) {\n\t\t\tdispatch({ type: 'scale', value: scale + 0.1 });\n\t\t}\n\t};\n\n\tconst handleZoomOut = () => {\n\t\tif (scale > 0.5) {\n\t\t\tdispatch({ type: 'scale', value: scale - 0.1 });\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tlet image!: HTMLImageElement;\n\n\t\tif (src) {\n\t\t\timage = document.createElement('img');\n\n\t\t\timage.setAttribute('src', src);\n\n\t\t\timage.onload = () => {\n\t\t\t\tif (canvas.current) {\n\t\t\t\t\tcanvas.current.width = image.naturalWidth;\n\t\t\t\t\tcanvas.current.height = image.naturalHeight;\n\n\t\t\t\t\tconst context = canvas.current.getContext('2d');\n\n\t\t\t\t\tif (context) context.drawImage(image, 0, 0);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (image) image.remove();\n\t\t};\n\t}, [src]);\n\n\tuseUpdateEffect(() => {\n\t\tif (image) {\n\t\t\tconst sizes = [image.width, image.height] as [number, number];\n\n\t\t\thandler('crop')(centerCrop(makeAspectCrop(initialState.crop, 1, ...sizes), ...sizes));\n\t\t}\n\t}, [image]);\n\n\tuseImperativeHandle(ref, () => inputRef.current as HTMLInputElement, [inputRef]);\n\n\treturn (\n\t\t<>\n\t\t\t{render({ open, getRootProps, getInputProps, url: preview, ref: canvas })}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('pageLayout@image-modal-title')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!isMobile && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tboxSize=\"10\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={handleZoomIn}\n\t\t\t\t\t\t\t\t\tisRound\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tboxSize=\"10\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={handleZoomOut}\n\t\t\t\t\t\t\t\t\tisRound\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n});\n\nPhoto.displayName = 'Photo';\n\nPhoto.defaultProps = {\n\tisMobile: false,\n};\n\nexport default Photo;\n","import { Center, Spinner } from '@chakra-ui/react';\n\nfunction LoadingPage() {\n\treturn (\n\t\t

\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default LoadingPage;\n","import { Box, BoxProps } from '@chakra-ui/react';\nimport { motion } from 'framer-motion';\n\nconst MotionBox = motion(Box);\n\nexport default MotionBox;\n","import { forwardRef, useEffect, useImperativeHandle } from 'react';\n\nimport { Collapse, Alert as ChrakraAlert, AlertProps as ChakraAlertProps, AlertIcon, useBoolean } from '@chakra-ui/react';\n\nexport interface AlertProps extends ChakraAlertProps {\n\tduration?: number | 'permanent';\n\tautoDisplay?: boolean;\n}\n\nexport interface ImperativeAlertProps {\n\tturnOnAlert: () => void;\n}\n\nconst Alert = forwardRef(({ children, duration, autoDisplay, ...props }, ref) => {\n\tconst [isOpen, { on, off }] = useBoolean(autoDisplay && !!children);\n\n\tuseEffect(() => {\n\t\tlet timeoutId!: NodeJS.Timeout;\n\n\t\tif (duration !== 'permanent' && isOpen) {\n\t\t\ttimeoutId = setTimeout(() => off(), duration);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (timeoutId) clearTimeout(timeoutId);\n\t\t};\n\t}, [duration, isOpen, off]);\n\n\tuseImperativeHandle(ref, () => ({ turnOnAlert: on }), [on]);\n\n\tif (!children) return null;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n});\n\nAlert.defaultProps = {\n\tduration: 5000,\n\tautoDisplay: true,\n};\n\nexport default Alert;\n","import { Box, Button, Flex, Image, Menu, MenuButton, MenuItem, MenuList, useDisclosure } from '@chakra-ui/react';\n\nimport { useNamespace } from '~/hooks';\nimport { ChevronDown, ChevronUp } from '~/theme/icons';\n\ninterface LanguageMenuProps {\n\tisTransparent?: boolean;\n}\n\ninterface LanguageProps {\n\tlanguage: string;\n\tkey: string;\n\tflag: string;\n}\n\nconst languages: Array = [\n\t{ language: 'en', key: 'languageMenu@english', flag: '/images/flags/usa.png' },\n\t{ language: 'es', key: 'languageMenu@spanish', flag: '/images/flags/spain.png' },\n\t{ language: 'pt', key: 'languageMenu@portuguese', flag: '/images/flags/brazil.png' },\n];\n\nconst LanguageMenu: ComponentWithoutChildren = ({ isTransparent = false }) => {\n\tconst { i18next, translate } = useNamespace('languageMenu');\n\tconst { isOpen, onOpen, onClose } = useDisclosure();\n\tconst setDefaultLanguage = () => {\n\t\ti18next.changeLanguage('pt');\n\n\t\treturn languages[2];\n\t};\n\n\tconst selectedLanguage = languages.find(({ language }) => language === i18next.language) || setDefaultLanguage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{translate(selectedLanguage?.key as 'languageMenu@english')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{languages.map(({ language, key, flag }) => {\n\t\t\t\t\tconst isSelected = language === i18next.language;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t i18next.changeLanguage(language)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(key as 'languageMenu@english')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default LanguageMenu;\n","import { Flex, FormLabel, Input } from '@chakra-ui/react';\nimport { StringOrNumber } from '@chakra-ui/utils';\nimport { Controller, Control } from 'react-hook-form';\n\nimport { useNamespace } from '~/hooks';\nimport { Select, Option } from '~/theme/components';\n\nexport interface GenderProps {\n\tcontrol: Control;\n\tisCustomGender: boolean;\n}\n\nexport enum GenderTypes {\n\tFEMALE = 'FEMALE',\n\tMALE = 'MALE',\n\tCUSTOM = 'CUSTOM',\n\tUNSPECIFIED = 'UNSPECIFIED',\n}\n\nconst Gender = ({ control, isCustomGender }: GenderProps) => {\n\tconst { translate } = useNamespace('genderInput');\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('genderInput@gender-label')}\n\t\t\t\t\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{isCustomGender && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('genderInput@custom-gender-label')}\n\t\t\t\t\t\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Gender;\n","import { Button, Link } from '@chakra-ui/react';\n\nimport { useNamespace } from '~/hooks';\n\nconst SupportButton = () => {\n\tconst { translate } = useNamespace('contact');\n\n\treturn (\n\t\t\n\t\t\t{translate('contact@help')}\n\t\t\n\t);\n};\n\nexport default SupportButton;\n","import { theme, Theme, ButtonProps, PinInputProps, AlertProps, CSSObject } from '@chakra-ui/react';\nimport { SystemStyleFunction } from '@chakra-ui/theme-tools';\n\nimport * as colors from '~/theme/colors';\n\nimport { textStyles } from '../styles';\n\nconst components: Theme['components'] = {\n\tButton: {\n\t\tbaseStyle: {\n\t\t\t_disabled: {\n\t\t\t\topacity: 0.25,\n\t\t\t},\n\t\t},\n\t\tsizes: {\n\t\t\tmd: ({ variant, colorScheme }: ButtonProps) => {\n\t\t\t\tconst defaults: ButtonProps = {\n\t\t\t\t\t...textStyles.button.primary,\n\t\t\t\t};\n\n\t\t\t\tif (variant === 'terciary') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...defaults,\n\t\t\t\t\t\tminWidth: 'auto',\n\t\t\t\t\t\tpx: '0',\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...defaults,\n\t\t\t\t\tborderColor: `${colorScheme}.300`,\n\t\t\t\t\tborderWidth: '0.125rem',\n\t\t\t\t\tborderRadius: 'full',\n\t\t\t\t\theight: '12',\n\t\t\t\t};\n\t\t\t},\n\t\t} as Record,\n\t\tvariants: {\n\t\t\tprimary: ({ colorScheme }: ButtonProps) => ({\n\t\t\t\tbgColor: `${colors[colorScheme as keyof typeof colors][300]} !important`,\n\t\t\t\tcolor: 'white',\n\t\t\t}),\n\t\t\tsecondary: ({ colorScheme }: ButtonProps) => ({\n\t\t\t\tbgColor: 'white',\n\t\t\t\tcolor: `${colorScheme}.300`,\n\t\t\t\tborder: 'none',\n\t\t\t}),\n\t\t\tterciary: ({ colorScheme }: ButtonProps) => ({\n\t\t\t\tcolor: `${colorScheme}.300`,\n\t\t\t\theight: 'auto',\n\t\t\t\tborderRadius: 'none',\n\t\t\t}),\n\t\t} as unknown as { [key: string]: SystemStyleFunction } & typeof theme.components.Button.variants,\n\t\tdefaultProps: {\n\t\t\tvariant: 'primary',\n\t\t\tcolorScheme: 'purple',\n\t\t\tsize: 'md',\n\t\t},\n\t},\n\tInput: {\n\t\tbaseStyle: {\n\t\t\tfield: {\n\t\t\t\tborderWidth: '0.125rem',\n\t\t\t},\n\t\t},\n\t\tvariants: {\n\t\t\toutline: ({ colorScheme }) => ({\n\t\t\t\tfield: {\n\t\t\t\t\tborderRadius: 'lg',\n\t\t\t\t\theight: '12',\n\t\t\t\t\t_focus: {\n\t\t\t\t\t\tborderColor: `${colorScheme}.300`,\n\t\t\t\t\t},\n\t\t\t\t\t_invalid: {\n\t\t\t\t\t\tborderColor: 'error.500',\n\t\t\t\t\t\tboxShadow: 'none',\n\t\t\t\t\t},\n\t\t\t\t\t_disabled: {\n\t\t\t\t\t\tbgColor: 'gray.100',\n\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t} as Theme['components']['Input']['variants'],\n\t\tdefaultProps: {\n\t\t\tsize: 'md',\n\t\t\tvariant: 'outline',\n\t\t\tcolorScheme: 'purple',\n\t\t},\n\t} as unknown as Theme['components']['Input'],\n\tPinInput: {\n\t\tvariants: {\n\t\t\toutline: ({ colorScheme }: PinInputProps) => ({\n\t\t\t\tborderColor: `${colorScheme}.300`,\n\t\t\t}),\n\t\t},\n\t\tdefaultProps: {\n\t\t\tsize: 'lg',\n\t\t\tvariant: 'outline',\n\t\t},\n\t} as unknown as Theme['components']['PinInput'],\n\tSkeleton: {\n\t\tbaseStyle: () => ({\n\t\t\tborderRadius: 'lg',\n\t\t}),\n\t},\n\tAlert: {\n\t\tbaseStyle: {\n\t\t\tcontainer: {\n\t\t\t\tborderRadius: 'lg',\n\t\t\t},\n\t\t},\n\t\tvariants: {\n\t\t\t'left-accent': ({ status, colorScheme }: AlertProps) => ({\n\t\t\t\tcontainer: {\n\t\t\t\t\tbgColor: `${status ?? colorScheme}.50`,\n\t\t\t\t\ttextStyle: 'body2',\n\t\t\t\t\tcolor: 'gray.900',\n\t\t\t\t\tborderInlineStartWidth: '0.5rem',\n\t\t\t\t\tborderColor: `${status ?? colorScheme}.600`,\n\t\t\t\t},\n\t\t\t\ticon: {\n\t\t\t\t\tcolor: `${status ?? colorScheme}.600`,\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tdefaultProps: {\n\t\t\tvariant: 'left-accent',\n\t\t\tcolorScheme: 'purple',\n\t\t},\n\t},\n} as unknown as Theme['components'];\n\nexport { default as Password } from './Password';\nexport * from './Password';\n\nexport { default as Scrollbar } from './Scrollbar';\nexport * from './Scrollbar';\n\nexport { default as Select } from './Select';\nexport * from './Select';\n\nexport { default as Phone } from './Phone';\nexport * from './Phone';\n\nexport { default as Photo } from './Photo';\nexport * from './Photo';\n\nexport { default as LoadingPage } from './LoadingPage';\nexport * from './LoadingPage';\n\nexport { default as MotionBox } from './MotionBox';\nexport * from './MotionBox';\n\nexport { default as Alert } from './Alert';\nexport * from './Alert';\n\nexport { default as LanguageMenu } from './LanguageMenu';\nexport * from './LanguageMenu';\n\nexport { default as Gender } from './Gender';\nexport * from './Gender';\n\nexport { default as SupportButton } from './SupportButton';\nexport * from './SupportButton';\n\nexport default components;\n","import { Global } from '@emotion/react';\n\nexport default function Fonts() {\n\treturn (\n\t\t\n\t);\n}\n","import type { ThemeConfig } from '@chakra-ui/react';\n\nconst config: ThemeConfig = {\n\tuseSystemColorMode: false,\n\tinitialColorMode: 'light',\n\tcssVarPrefix: 'fluency-account',\n};\n\nexport default config;\n","import { createBreakpoints } from '@chakra-ui/theme-tools';\n\nconst breakpoints = createBreakpoints({\n\t'sm': '30em',\n\t'md': '48em',\n\t'lg': '62em',\n\t'xl': '80em',\n\t'2xl': '96em',\n});\n\nexport default breakpoints;\n","import { extendTheme } from '@chakra-ui/react';\n\nimport * as colors from './colors';\nimport components from './components';\nimport config from './config';\nimport breakpoints from './screen';\nimport * as styles from './styles';\n\nconst theme = extendTheme({\n\t...styles,\n\tconfig,\n\tcomponents,\n\tcolors,\n\tbreakpoints,\n\tfonts: {\n\t\theading: 'GT Walsheim, Roboto, sans-serif',\n\t\tbody: 'IBM Plex Sans, Roboto, sans-serif',\n\t\tmono: 'monospace',\n\t},\n\tboxShadow: {\n\t\tlg: '0rem 0.25rem 1rem rgba(0, 0, 0, 0.12)',\n\t},\n\tfontSizes: {\n\t\t'xs': '0.625rem',\n\t\t'sm': '0.875rem',\n\t\t'md': '1rem',\n\t\t'lg': '1.125rem',\n\t\t'xl': '1.25rem',\n\t\t'2xl': '1.5rem',\n\t\t'3xl': '1.875rem',\n\t\t'4xl': '2.25rem',\n\t\t'5xl': '3rem',\n\t\t'6xl': '3.75rem',\n\t\t'7xl': '4.5rem',\n\t\t'8xl': '6rem',\n\t\t'9xl': '8rem',\n\t},\n\tlineHeights: {\n\t\t'normal': 'normal',\n\t\t'none': '1rem',\n\t\t'shorter': 1.125,\n\t\t'short': 1.375,\n\t\t'base': 1.5,\n\t\t'tall': 1.625,\n\t\t'taller': '2',\n\t\t'3': '.75rem',\n\t\t'4': '1rem',\n\t\t'5': '1.25rem',\n\t\t'6': '1.5rem',\n\t\t'7': '1.75rem',\n\t\t'8': '2rem',\n\t\t'9': '2.25rem',\n\t\t'10': '2.5rem',\n\t},\n});\n\nexport default theme;\n","import { ChakraProvider, ColorModeScript } from '@chakra-ui/react';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { BrowserRouter as RouterProvider } from 'react-router-dom';\nimport { PersistGate } from 'redux-persist/integration/react';\nimport { SWRConfig } from 'swr';\n\nimport { componentWillMount } from '~/services/session';\nimport { LoadingPage } from '~/theme/components';\nimport Fonts from '~/theme/fonts';\n\nimport store, { persistor } from '../context';\nimport theme from '../theme';\n\nexport const Provider: React.ComponentType> = ({ children }) => (\n\t\n\t\t}>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\nconst withProvider =\n\t(Component: React.ComponentType) =>\n\t(props: React.PropsWithChildren) =>\n\t\t(\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\nexport default withProvider;\n","import { useReducer } from 'react';\n\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\n\nimport http from '~/services/http';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ninterface State {\n\tloading: boolean;\n\terror?: Error;\n\tdata?: T;\n}\n\ntype Action = { type: 'loading' } | { type: 'fetched'; payload: T } | { type: 'error'; payload: Error };\n\nfunction useMutate(\n\turl?: string,\n\toptions?: AxiosRequestConfig\n): [(params: J) => Promise | undefined>, State] {\n\tconst initialState: State = {\n\t\tloading: false,\n\t\terror: {} as Error,\n\t\tdata: {} as T,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'loading':\n\t\t\t\treturn { ...initialState, loading: true };\n\t\t\tcase 'fetched':\n\t\t\t\treturn { ...initialState, loading: false, data: action.payload };\n\t\t\tcase 'error':\n\t\t\t\treturn { ...initialState, error: action.payload, loading: false };\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tconst mutate = async (data: J): Promise | undefined> => {\n\t\tdispatch({ type: 'loading' });\n\n\t\ttry {\n\t\t\tconst response = await http({ url, method: 'POST', data, ...options });\n\n\t\t\tif (response.status > 300) {\n\t\t\t\tthrow new Error(response.statusText);\n\t\t\t}\n\n\t\t\tdispatch({ type: 'fetched', payload: response.data });\n\n\t\t\treturn response;\n\t\t} catch (error) {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t}\n\t};\n\n\treturn [mutate, { ...state }];\n}\n\nexport default useMutate;\n","import { Image } from '@chakra-ui/react';\n\nimport { ResponseProps as ProductProps } from '~/api/products/retrieve';\nimport { Company } from '~/theme/icons';\n\nexport interface Props {\n\tproduct: ProductProps;\n}\n\nfunction ProductLogo({ product }: Props) {\n\tif (!product.logo) {\n\t\treturn ;\n\t}\n\n\tif (product.name === 'Talks') {\n\t\treturn {product.name};\n\t}\n\n\treturn {product.name};\n}\n\nexport { ProductLogo };\n","import { Flex } from '@chakra-ui/react';\n\nimport { ResponseProps as ProductProps } from '~/api/products/retrieve';\nimport LanguageMenu from '~/theme/components/LanguageMenu';\n\nimport { ProductLogo } from './ProductLogo';\n\nexport interface HeaderProps {\n\tproduct: ProductProps;\n}\n\nconst Header: ComponentWithoutChildren = ({ product }) => (\n\t\n\t\t\n\t\t\n\t\n);\n\nexport default Header;\n","import { Box, Flex, Image, ImageProps } from '@chakra-ui/react';\n\nimport { useProduct, useNavigate } from '~/hooks';\n\nimport { Header } from './components/';\n\nexport enum ContainerConfig {\n\tTORNPAPER = '/images/auth-tornpaper.svg',\n}\n\nexport interface ContainerProps extends Omit {\n\tchildren(goBack: () => void): React.ReactNode;\n}\n\nconst Container: React.FC = ({ children, ...props }) => {\n\tconst navigate = useNavigate();\n\tconst product = useProduct();\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t{children(() => navigate(-1))}\n\t\t\t\n\t\t\t\n\t\t\t{!product?.id && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Container;\n","import { Box } from '@chakra-ui/react';\n\nimport useNamespace from '~/hooks/useNamespace';\n\nimport { useLoggedOut } from '../../index';\n\nfunction ProductSpan() {\n\tconst { ...product } = useLoggedOut();\n\tconst { translate } = useNamespace('signIn');\n\n\tif (product.name === 'Fluency Academy') return null;\n\n\treturn (\n\t\t\n\t\t\t{translate('signIn@you-are-accessing')} {product.name}\n\t\t\n\t);\n}\n\nexport default ProductSpan;\n","import { Box } from '@chakra-ui/react';\n\nconst Phrase: React.FC>> = ({ children, ...props }) => (\n\t\n\t\t{children}\n\t\n);\n\nexport default Phrase;\n","import { Box } from '@chakra-ui/react';\n\nconst Phrase: React.FC>> = ({ children }) => (\n\t\n\t\t{children}\n\t\n);\n\nexport default Phrase;\n","import { useNamespace, useProduct } from '~/hooks';\n\nimport { Phrase, LMS, FluencyIo } from '../';\n\nfunction SignIn() {\n\tconst { name } = useProduct();\n\tconst { translate } = useNamespace('outdoor');\n\n\tif (name === 'Yowza') return Your voice, unlocked.;\n\tif (name === 'LMS') return ;\n\tif (name === 'fluency-io') return ;\n\n\treturn {translate('outdoor@signIn-accounts')};\n}\n\nexport default SignIn;\n","import { Flex } from '@chakra-ui/react';\n\nimport { useNamespace } from '~/hooks';\n\nimport { Phrase, Step } from '..';\n\nfunction StepOne() {\n\tconst { translate } = useNamespace('outdoor');\n\n\treturn (\n\t\t\n\t\t\t{translate('outdoor@signUp-step1')}\n\t\t\t{translate('outdoor@step-1')}\n\t\t\n\t);\n}\n\nexport default StepOne;\n","import { Flex } from '@chakra-ui/react';\n\nimport { useNamespace } from '~/hooks';\n\nimport { Phrase, Step } from '..';\n\nfunction StepOne() {\n\tconst { translate } = useNamespace('outdoor');\n\n\treturn (\n\t\t\n\t\t\t{translate('outdoor@signUp-step2')}\n\t\t\t{translate('outdoor@step-2')}\n\t\t\n\t);\n}\n\nexport default StepOne;\n","import { Flex } from '@chakra-ui/react';\nimport { useLocation } from 'react-router-dom';\n\nimport { PhoneNavigateProps } from '~/auth/Validate/Phone';\nimport { useNamespace } from '~/hooks';\n\nimport { Phrase, Step } from '..';\n\nfunction StepOne() {\n\tconst { state } = useLocation() as { state: PhoneNavigateProps };\n\tconst { translate } = useNamespace('outdoor');\n\n\treturn (\n\t\t\n\t\t\t{translate('outdoor@signUp-step3')}\n\t\t\t{state?.isCreatingAccount && {translate('outdoor@step-3')}}\n\t\t\n\t);\n}\n\nexport default StepOne;\n","import { Flex } from '@chakra-ui/react';\n\nimport { useNamespace } from '~/hooks';\n\nimport { Phrase, Step } from '..';\n\nfunction StepOne() {\n\tconst { translate } = useNamespace('outdoor');\n\n\treturn (\n\t\t\n\t\t\t{translate('outdoor@signUp-step4')}\n\t\t\t{translate('outdoor@step-4')}\n\t\t\n\t);\n}\n\nexport default StepOne;\n","import { Flex, Box, Image } from '@chakra-ui/react';\n\nimport { useDevice, useNamespace } from '~/hooks';\n\nfunction LMS() {\n\tconst { isMobileDevice } = useDevice();\n\tconst { translate } = useNamespace('outdoor');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('outdoor@signIn-lms-1')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('outdoor@signIn-lms-2')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('outdoor@signIn-lms-3')}\n\t\t\t\t\n\t\t\t\n\t\t\t{!isMobileDevice && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nexport default LMS;\n","import { Flex, Image } from '@chakra-ui/react';\n\nimport { useDevice, useNamespace } from '~/hooks';\n\nimport { Phrase } from '..';\n\nfunction LMS() {\n\tconst { isMobileDevice } = useDevice();\n\tconst { translate } = useNamespace('outdoor');\n\n\treturn (\n\t\t\n\t\t\t{translate('outdoor@signIn-fluencyIo')}\n\t\t\t{!isMobileDevice && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nexport default LMS;\n","import { useNamespace } from '~/hooks';\n\nimport { Phrase } from '../';\n\nfunction Activate() {\n\tconst { translate } = useNamespace('activate');\n\n\treturn {translate('activate@outdoor')};\n}\n\nexport default Activate;\n","import { useLocation } from 'react-router-dom';\n\nimport { SignIn, StepOne, StepTwo, StepThree, StepFour, Activate } from './components';\n\nfunction Outdoor() {\n\tconst { pathname } = useLocation();\n\n\tconst match = (path: string) => pathname === path;\n\n\tif (match('/signin/')) return ;\n\n\tif (match('/signup/')) return ;\n\n\tif (match('/signup/validate-email/')) return ;\n\n\tif (match('/signup/validate-phone/')) return ;\n\n\tif (match('/signup/profile/')) return ;\n\n\tif (pathname.includes('/activate/')) return ;\n\n\treturn null;\n}\n\nexport default Outdoor;\n","import { Flex } from '@chakra-ui/react';\nimport { Outlet, useOutletContext } from 'react-router-dom';\n\nimport { useAuth, useProduct, useQueryParam } from '~/hooks';\nimport { SupportButton } from '~/theme/components';\n\nimport { Container, Outdoor } from './components';\n\nfunction Layout() {\n\tconst params = useQueryParam('product');\n\tconst auth = useAuth();\n\tconst product = useProduct();\n\n\tif (params.product && !product.id) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{(goBack) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport function useLoggedOut() {\n\tconst params = useOutletContext<\n\t\tReturnType & {\n\t\t\tauth: ReturnType;\n\t\t\tgoBack(): void;\n\t\t}\n\t>();\n\n\treturn params;\n}\n\nexport default Layout;\n","import { useEffect, useState } from 'react';\n\nimport { Box, Button, Center, Flex, FormControl, FormErrorMessage, FormLabel, Input, Link, Spinner } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { AxiosError } from 'axios';\nimport { SubmitHandler, useForm } from 'react-hook-form';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport * as Yup from 'yup';\n\nimport { useDevice, useNavigate, useTitle } from '~/hooks';\nimport useMutate from '~/hooks/useMutateApi';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert, Password } from '~/theme/components';\nimport { ArrowLeft, Company } from '~/theme/icons';\nimport { yupTest } from '~/utils/passVerify';\n\nimport { useLoggedOut } from '../Layout';\nimport { ProductSpan } from '../Layout/components';\n\nexport interface SignInProps {\n\temail: string;\n\tpassword: string;\n}\n\nconst verifySchema = Yup.object({\n\temail: Yup.string().required('signIn@validation-email-required').email('signIn@validation-email-invalid'),\n}).required();\n\nconst schema = Yup.object({\n\temail: Yup.string().required('signIn@validation-email-required').email('signIn@validation-email-invalid'),\n\tpassword: Yup.string()\n\t\t.required('signIn@validation-password-required')\n\t\t.test(...yupTest('signIn')),\n}).required();\n\nconst ENDPOINT = import.meta.env.VITE_API_URL;\n\nfunction SignIn() {\n\tconst navigate = useNavigate();\n\tconst { search } = useLocation();\n\tconst { auth, ...product } = useLoggedOut();\n\tconst { translate } = useNamespace('signIn');\n\tconst { translate: translateGeneral } = useNamespace('forgotPassword');\n\tconst { isMobileDevice } = useDevice();\n\tconst externalLink = 'https://hub.fluency.io/br/fa/lista-de-espera';\n\tconst goToTalksLink = () => (window.location.href = `https://talks${import.meta.env.VITE_FIO_DOMAIN}/auth/login/teacher`);\n\tconst isTalks = product.name.toLowerCase() === 'talks';\n\tconst [verifyState, setVerifyState] = useState<'verify' | 'signin'>('verify');\n\n\tconst {\n\t\tformState: verifyFormState,\n\t\tregister: verifyRegister,\n\t\thandleSubmit: verifyHandleSubmit,\n\t\tgetValues,\n\t\tsetError,\n\t\tclearErrors,\n\t\tsetValue: setVerifyValue,\n\t} = useForm>({\n\t\tresolver: yupResolver(verifySchema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst { formState, register, handleSubmit, setValue } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst [mutate, { loading: loadingVerify, error: verifyError }] = useMutate('auth/activate/', {\n\t\tbaseURL: ENDPOINT as string,\n\t});\n\n\tconst onVerify: SubmitHandler> = async ({ email }) => {\n\t\tconst response = await mutate({ email });\n\n\t\tif (response?.status === 201) {\n\t\t\tnavigate(`/activate/code?email=${email}&product=talks`);\n\n\t\t\treturn;\n\t\t}\n\t};\n\n\tconst onSubmit: SubmitHandler = async ({ email, password }) => {\n\t\tauth.signIn(email, password, product.callback_url ?? '');\n\t};\n\n\tconst getErrorMessage = (error: AxiosError) => {\n\t\tif (error?.response?.status === 404) {\n\t\t\treturn translate('signIn@error-auth-404');\n\t\t}\n\n\t\treturn error.message;\n\t};\n\n\tconst reset = () => {\n\t\tsetVerifyState('verify');\n\t\tsetValue('email', '');\n\t\tsetVerifyValue('email', '');\n\t\tclearErrors('email');\n\t};\n\n\tuseTitle(`${translate('signIn@title')} | ${product.name}`);\n\n\tuseEffect(() => {\n\t\tif (verifyError?.message?.includes('user already activated')) {\n\t\t\tsetVerifyState('signin');\n\t\t\tsetValue('email', getValues('email'));\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (verifyError?.message) {\n\t\t\tsetError('email', verifyError);\n\t\t}\n\t}, [verifyError, setError, setValue, getValues]);\n\n\tif (auth.loading) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{verifyState === 'signin' ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signIn@signin-title')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signIn@signin-title')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{auth.error && {getErrorMessage(auth.error as AxiosError)}}\n\t\t\t{verifyState === 'verify' ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signIn@form-email-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{verifyFormState.errors.email && {translate('signIn@validation-email-invalid')}}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signIn@form-signin-button')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('signIn@form-email-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formState.errors.email && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{translate(formState.errors.email.message as 'signIn@validation-email-invalid')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('signIn@form-password-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formState.errors.password && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{translate(formState.errors.password.message as 'signIn@validation-password-required')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signIn@form-signin-button')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{isTalks && !isMobileDevice && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{isMobileDevice &&\n\t\t\t\t(externalLink ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('signIn@not-student')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('signIn@without-account')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{isTalks && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\t{!isMobileDevice && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signIn@not-student-yet')}\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (externalLink) navigate(externalLink);\n\t\t\t\t\t\t\telse navigate(`/signup/${search}`);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"terciary\"\n\t\t\t\t\t\tcolor=\"white\"\n\t\t\t\t\t\ttextDecoration=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{translate('signIn@como-to-fluency')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nexport default SignIn;\n","import useMutate from '~/hooks/useMutateApi';\n\nimport { ResponseProps } from './retrieve';\n\nexport interface RequestProps {\n\tname: string;\n\temail: string;\n\tpassword: string;\n\tsource: string;\n}\n\nconst useUserSignUp = () => useMutate('/users/create-account/');\n\nexport { useUserSignUp };\n","import { useRef } from 'react';\n\nimport { Box, Button, FormControl, FormLabel, Flex, FormErrorMessage, Input } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { SubmitHandler, useForm } from 'react-hook-form';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport * as Yup from 'yup';\n\nimport { useUserSignUp } from '~/api/users/createAccount';\nimport { useNavigate, useTitle } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Password, Alert, ImperativeAlertProps } from '~/theme/components';\nimport { Company } from '~/theme/icons';\nimport { yupTest } from '~/utils/passVerify';\n\nimport { useLoggedOut } from '../Layout';\n\nexport interface SignUpProps {\n\tname: string;\n\temail: string;\n\tconfirm_email: string;\n\tpassword: string;\n}\n\nconst schema = Yup.object({\n\tname: Yup.string().required('signUp@validation-name-required'),\n\temail: Yup.string().required('signUp@validation-email-required').email('signUp@validation-email-invalid'),\n\tconfirm_email: Yup.string().oneOf([Yup.ref('email'), null], 'signUp@validation-confirm-email'),\n\tpassword: Yup.string()\n\t\t.required('signUp@validation-password-required')\n\t\t.test(...yupTest('signUp')),\n}).required();\n\nexport default function SignUp() {\n\tconst { auth, ...product } = useLoggedOut();\n\tconst [mutate, { loading, error }] = useUserSignUp();\n\tconst { search } = useLocation();\n\tconst { translate } = useNamespace('signUp');\n\tconst alertRef = useRef(null);\n\tconst navigate = useNavigate();\n\tconst { formState, register, handleSubmit } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = async (data) => {\n\t\tconst source = product.name === 'Fluency Academy' ? 'ACCOUNT' : product.name.toUpperCase();\n\t\tconst user = await mutate({ ...data, source });\n\n\t\tif (user) {\n\t\t\tconst { email, password } = data;\n\n\t\t\tauth.setAuthenticate(email, password);\n\t\t\tnavigate(`/signup/validate-email/${product.id ? `?product=${product.name.toLowerCase()}` : ''}`, {\n\t\t\t\tstate: { email },\n\t\t\t});\n\t\t} else alertRef.current?.turnOnAlert();\n\t};\n\n\tuseTitle(`${translate('signUp@title')} | ${product.name}`);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{translate('signUp@signup-title')}\n\t\t\t\n\t\t\t\n\t\t\t\t{(error as any as Error)?.message}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signUp@form-name-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.name && (\n\t\t\t\t\t\t\t{translate(formState.errors.name.message as 'signUp@validation-name-required')}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signUp@form-email-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.email && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.email.message as 'signUp@validation-email-invalid')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signUp@form-confirm-email-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.confirm_email && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.confirm_email.message as 'signUp@validation-email-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signUp@form-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('signUp@form-signup-button')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signUp@form-signin-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signUp@agreements-phrase')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('signUp@agreements-phrase-or')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{translate('signUp@agreements-phrase-and')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { useEffect } from 'react';\n\nimport { destroyCookie } from 'nookies';\nimport { Navigate, useNavigate } from 'react-router-dom';\n\nimport { useAuth, useQueryParam } from '~/hooks';\nimport { LoadingPage } from '~/theme/components';\n\nfunction SignOut() {\n\tconst { isUserIn, signOut } = useAuth();\n\tconst { redirect } = useQueryParam('redirect');\n\tconst navigate = useNavigate();\n\n\tuseEffect(() => {\n\t\tsignOut();\n\t\tfor (const key of ['token', 'role']) destroyCookie(undefined, key, { domain: import.meta.env.VITE_APP_DOMAIN as string });\n\n\t\treturn () => {\n\t\t\tnavigate(0);\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [navigate]);\n\n\tif (!isUserIn) return ;\n\n\treturn ;\n}\n\nexport default SignOut;\n","import { createEndpoint } from '~/api';\n\nexport type AuthStateTypes = 'AUTHENTICATED' | 'NEW_PASSWORD_REQUIRED';\n\nexport interface RequestProps {\n\temail: string;\n}\n\nconst forgotPassword = createEndpoint<'POST', RequestProps, any>({ path: '/auth/password/forgot/' });\n\nexport default forgotPassword;\n","const override = (value: string, replace: string, until?: string) => {\n\tif (until) {\n\t\tconst index = value.indexOf(until) % value.slice(1).length;\n\t\tconst holders = new Array(index).fill(replace).join('');\n\n\t\treturn holders + value.slice(index);\n\t}\n\n\treturn new Array(value.length).fill(replace).join('');\n};\n\nexport const email = (email: string) => {\n\tconst [name, domain] = email.split('@');\n\tconst [firstChar, lastChar] = [name, domain].map((current) => current.charAt(0));\n\n\treturn firstChar + override(name.slice(1), '*') + '@' + lastChar + override(domain.slice(), '*', '.');\n};\n\nexport const phone = (phone: string) => {\n\tconst firstPath = phone.slice(0, phone.indexOf(')') + 3);\n\tconst lastPath = phone[phone.length - 1];\n\n\treturn firstPath + override(phone.slice(firstPath.length, phone.length - 1).trimStart(), '*') + lastPath;\n};\n","import { createEndpoint } from '~/api';\n\nexport type AuthStateTypes = 'AUTHENTICATED' | 'NEW_PASSWORD_REQUIRED';\n\nexport interface RequestProps {\n\temail: string;\n\tpassword: string;\n\tconfirmation_code: string;\n}\n\nconst forgotPasswordReset = createEndpoint<'POST', RequestProps, any>({ path: '/auth/password/forgot/reset/' });\n\nexport default forgotPasswordReset;\n","import { useRef, useState } from 'react';\n\nimport { Box, Flex, Button, FormLabel, FormControl, FormErrorMessage } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { useForm, SubmitHandler } from 'react-hook-form';\nimport { Navigate, useLocation } from 'react-router-dom';\nimport * as Yup from 'yup';\n\nimport forgotPasswordReset from '~/api/auth/forgotPasswordReset';\nimport { useLoggedOut } from '~/auth/Layout';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert, ImperativeAlertProps, Password } from '~/theme/components';\nimport { ArrowLeft } from '~/theme/icons';\nimport { yupTest } from '~/utils/passVerify';\n\nexport interface ResetPasswordProps {\n\tpassword: string;\n\tconfirm_password: string;\n}\n\nconst schema = Yup.object({\n\tpassword: Yup.string()\n\t\t.required('forgotPassword@validation-password-required')\n\t\t.test(...yupTest('forgotPassword')),\n\tconfirm_password: Yup.string().oneOf([Yup.ref('password'), null], 'forgotPassword@validation-confirm-password-invalid'),\n}).required();\n\nfunction ResetPassword() {\n\tconst { state } = useLocation() as { state: { email: string; code: string } };\n\tconst { goBack, auth } = useLoggedOut();\n\tconst [error, setError] = useState();\n\tconst [loading, setLoading] = useState(false);\n\tconst { translate } = useNamespace('forgotPassword');\n\tconst alertRef = useRef(null);\n\n\tconst { formState, register, handleSubmit } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = async ({ password }) => {\n\t\ttry {\n\t\t\tsetLoading(true);\n\t\t\tconst [, response] = await forgotPasswordReset.post({ email: state.email, password, confirmation_code: state.code });\n\n\t\t\tif (response.status === 200) {\n\t\t\t\tauth.signIn(state.email, password);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tsetError(error as Error);\n\t\t\talertRef.current?.turnOnAlert();\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tif (!import.meta.env.JEST_WORKER_ID && !state) return ;\n\n\treturn (\n\t\t<>\n\t\t\t{error && (\n\t\t\t\t\n\t\t\t\t\t{error?.message}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('forgotPassword@reset-password-title')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('forgotPassword@form-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('forgotPassword@form-confirm-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.confirm_password && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.confirm_password.message as 'forgotPassword@validation-password-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('forgotPassword@form-change-password-button')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ResetPassword;\n","import { useRef, useState } from 'react';\n\nimport {\n\tBox,\n\tFlex,\n\tButton,\n\tFormLabel,\n\tFormControl,\n\tuseDisclosure,\n\tPinInput,\n\tPinInputField,\n\tFormErrorMessage,\n\tInput,\n} from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { useForm, SubmitHandler } from 'react-hook-form';\nimport { useElapsedTime } from 'use-elapsed-time';\nimport * as Yup from 'yup';\n\nimport forgotPassword from '~/api/auth/forgotPassword';\nimport { useLoggedOut } from '~/auth/Layout';\nimport { useNavigate, useTitle } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert, ImperativeAlertProps } from '~/theme/components';\nimport { ArrowLeft } from '~/theme/icons';\nimport * as Obfuscate from '~/utils/obfuscate';\n\nimport { ForgotConfig } from '..';\n\nexport interface ForgotPasswordProps {\n\temail: string;\n}\n\nconst schema = Yup.object({\n\temail: Yup.string().required('forgotPassword@validation-email-required').email('forgotPassword@validation-email-invalid'),\n}).required();\n\nfunction ForgotPassword() {\n\tconst navigate = useNavigate();\n\tconst { goBack, ...product } = useLoggedOut();\n\tconst { onOpen, isOpen } = useDisclosure();\n\tconst { elapsedTime, reset } = useElapsedTime({ isPlaying: isOpen, duration: ForgotConfig.duration, updateInterval: 1 });\n\tconst [code, setCode] = useState();\n\tconst [error, setError] = useState();\n\tconst [loading, setLoading] = useState(false);\n\tconst alertRef = useRef(null);\n\tconst { translate } = useNamespace('forgotPassword');\n\n\tconst seconds = Math.round(ForgotConfig.duration - elapsedTime);\n\n\tconst { formState, register, handleSubmit, getValues } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = async ({ email }) => {\n\t\tif (isOpen) {\n\t\t\tnavigate(`reset/${product.id ? `?product=${product.name.toLowerCase()}` : ''}`, { state: { email, code } });\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tsetLoading(true);\n\t\t\t\tawait forgotPassword.post({ email });\n\t\t\t\tonOpen();\n\t\t\t} catch (error) {\n\t\t\t\tsetError(error as Error);\n\t\t\t\talertRef.current?.turnOnAlert();\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleResend: React.MouseEventHandler = async () => {\n\t\ttry {\n\t\t\tsetLoading(true);\n\t\t\tawait forgotPassword.post({ email: getValues('email') });\n\t\t\treset();\n\t\t} catch (error) {\n\t\t\tsetError(error as Error);\n\t\t\talertRef.current?.turnOnAlert();\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tuseTitle(`${translate('forgotPassword@title')} | ${product.name}`);\n\n\treturn (\n\t\t<>\n\t\t\t{error?.message && (\n\t\t\t\t\n\t\t\t\t\t{error?.message}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('forgotPassword@forgot-password-title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isOpen\n\t\t\t\t\t\t? translate('forgotPassword@insert-email-subtitle', { email: Obfuscate.email(getValues('email')) })\n\t\t\t\t\t\t: translate('forgotPassword@insert-code-subtitle')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{isOpen ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{translate('forgotPassword@form-email-label')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{formState.errors.email && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{translate(formState.errors.email.message as 'forgotPassword@validation-email-invalid')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isOpen && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('forgotPassword@form-resend-code-button', {\n\t\t\t\t\t\t\t\tseconds: seconds ? `(${String(seconds).padStart(2, '0')}s)` : '',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t{isOpen ? translate('forgotPassword@from-continue-button') : translate('forgotPassword@form-reset-password-button')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport { default as ResetPassword } from './Reset';\nexport * from './Reset';\n\nexport default ForgotPassword;\n","import { useState } from 'react';\n\nimport { Box, Button, Flex, Radio, RadioGroup } from '@chakra-ui/react';\n\nimport { useLoggedOut } from '~/auth/Layout';\nimport { Alert } from '~/theme/components';\nimport { ArrowLeft } from '~/theme/icons';\n\nexport default function EmailList() {\n\tconst { goBack, auth } = useLoggedOut();\n\tconst [value, setValue] = useState();\n\n\treturn (\n\t\t<>\n\t\t\t{auth.error && {auth.error?.message}}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tAgora, escolha seu e-mail\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tpedro.henrique@fluencyacademy.io\n\t\t\t\t\tjudson.cruz@fluencyacademy.io\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { useState } from 'react';\n\nimport {\n\tBox,\n\tButton,\n\tFlex,\n\tFormControl,\n\tFormErrorMessage,\n\tFormLabel,\n\tLink,\n\tPinInput,\n\tPinInputField,\n\tuseDisclosure,\n} from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { useForm, SubmitHandler, Controller } from 'react-hook-form';\nimport { NavLink } from 'react-router-dom';\nimport { useElapsedTime } from 'use-elapsed-time';\nimport * as Yup from 'yup';\n\nimport { useLoggedOut } from '~/auth/Layout';\nimport { useNavigate, useTitle } from '~/hooks';\nimport { Phone, PhoneInputProps } from '~/theme/components';\nimport { ArrowLeft } from '~/theme/icons';\n\nimport { ForgotConfig } from '..';\n\nimport * as Obfuscate from '~/utils/obfuscate';\n\nexport interface ForgotEmailProps {\n\tphone: PhoneInputProps;\n}\n\nconst schema = Yup.object({\n\tphone: Yup.string()\n\t\t.required('Preencha o nĆŗmero de telefone')\n\t\t.test('phone-validation', 'Preencha o nĆŗmero por completo', (password) => !/_/.test(password as string)),\n}).required();\n\nfunction ForgotEmail() {\n\tconst { goBack, ...product } = useLoggedOut();\n\tconst navigate = useNavigate();\n\tconst { onOpen, isOpen } = useDisclosure();\n\tconst { elapsedTime, reset } = useElapsedTime({ isPlaying: isOpen, duration: ForgotConfig.duration, updateInterval: 1 });\n\tconst [pin, setPin] = useState();\n\tconst seconds = Math.round(ForgotConfig.duration - elapsedTime);\n\n\tconst { formState, getValues, handleSubmit, control } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = (_data) => {\n\t\tif (isOpen) {\n\t\t\t// request for listing new items\n\t\t\tconst _apiKey = '123456789';\n\n\t\t\tnavigate('list', { state: { apiKey: _apiKey } });\n\t\t} else {\n\t\t\t// request password resetting authorization\n\n\t\t\tonOpen();\n\t\t}\n\t};\n\n\tconst handleResend: React.MouseEventHandler = () => {\n\t\treset();\n\t};\n\n\tuseTitle(`Recuperar email | ${product.name}`);\n\n\treturn (\n\t\t<>\n\t\t\t{/* {auth.error && {auth.error?.message}} */}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tEsqueci meu email\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isOpen\n\t\t\t\t\t\t? `Insira o cĆ³digo de 6 digitos que enviamos para seu nĆŗmero de telefone ${Obfuscate.phone(`${getValues('phone')}`)}`\n\t\t\t\t\t\t: 'Insira seu nĆŗmero de telefone abaixo e nĆ³s enviaremos um cĆ³digo para recuperar seu e-mail'}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{isOpen ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNĆŗmero de telefone\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{formState.errors.phone &&\n\t\t\t\t\t\t\t\t\t\t\tObject.values(formState.errors.phone).map(({ message }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEsqueceu o nĆŗmero de telefone? Acione o\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSuporte\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isOpen ? 'Continuar' : 'Recuperar meu e-mail'}\n\t\t\t\t\n\t\t\t\t{isOpen && (\n\t\t\t\t\t\n\t\t\t\t\t\tReenviar cĆ³digo {seconds ? `(${String(seconds).padStart(2, '0')}s)` : ''}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n\nexport { default as EmailList } from './List';\nexport * from './List';\n\nexport default ForgotEmail;\n","export enum ForgotConfig {\n\tduration = 30,\n}\n\nexport { default as ForgotPassword } from './Password';\nexport * from './Password';\n\nexport { default as ForgotEmail } from './Email';\nexport * from './Email';\n","import useMutate from '~/hooks/useMutateApi';\n\nexport interface ResponseProps {\n\tactive: boolean;\n}\n\nexport interface RequestProps {\n\tcode: string;\n}\n\nconst useValidateVerificationCode = () => useMutate('/users/me/verify/email/', { method: 'PUT' });\n\nexport { useValidateVerificationCode };\n","import { useRef, useState } from 'react';\n\nimport {\n\tPinInput,\n\tPinInputField,\n\tButton,\n\tFlex,\n\tGrid,\n\tBox,\n\tFormControl,\n\tuseDisclosure,\n\tModal,\n\tModalOverlay,\n\tModalContent,\n\tModalCloseButton,\n\tVStack,\n} from '@chakra-ui/react';\nimport { Navigate, useLocation } from 'react-router-dom';\nimport useSWR from 'swr';\nimport { useElapsedTime } from 'use-elapsed-time';\n\nimport { useValidateVerificationCode } from '~/api/validation/verifyEmail';\nimport { useLoggedOut } from '~/auth/Layout';\nimport { useDevice, useTitle } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport http from '~/services/http';\nimport { Alert, ImperativeAlertProps } from '~/theme/components';\nimport { ArrowLeft, CircleQuestion } from '~/theme/icons';\nimport * as Obfuscate from '~/utils/obfuscate';\n\nexport interface EmailNavigateProps {\n\temail: string;\n}\n\nexport enum ConfirmConfig {\n\tduration = 30,\n}\n\nfunction ValidateCode() {\n\tconst { state } = useLocation() as { state: EmailNavigateProps };\n\tconst [code, setCode] = useState('');\n\tconst { goBack, auth, ...product } = useLoggedOut();\n\tconst { translate } = useNamespace('validate');\n\tconst { elapsedTime, reset } = useElapsedTime({ isPlaying: true, duration: ConfirmConfig.duration, updateInterval: 1 });\n\tconst [validateCode, { loading, error }] = useValidateVerificationCode();\n\tconst seconds = Math.round(ConfirmConfig.duration - elapsedTime);\n\tconst alertRef = useRef(null);\n\tconst modal = useDisclosure();\n\tconst { isMobileDevice } = useDevice();\n\tconst { mutate } = useSWR(\n\t\t'/users/me/verify-code/email/',\n\t\t() => http.post('/users/me/verify-code/email/', { email: state.email }).then((res) => res.data),\n\t\t{\n\t\t\trevalidateOnFocus: false,\n\t\t\trevalidateIfStale: false,\n\t\t}\n\t);\n\n\tconst handleSubmit = async () => {\n\t\tconst response = await validateCode({ code });\n\n\t\tif (response?.data.active) {\n\t\t\tauth.completeAuthentication();\n\t\t} else alertRef.current?.turnOnAlert();\n\t};\n\n\tconst handleResend = () => {\n\t\tmutate({ email: state?.email as string });\n\t\treset();\n\t};\n\n\tuseTitle(translate('validate@title', { name: product.name }));\n\tif (!state) return ;\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('validate@profile-title-email')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{error?.message}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('validate@profile-subtitle-email', { email: Obfuscate.email(state.email) })}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setCode(value.toUpperCase())} value={code} type=\"alphanumeric\" otp>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('validate@form-resend-button')} {seconds ? `(${String(seconds).padStart(2, '0')}s)` : ''}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('validate@form-continue-button')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('validate@profile-modal-title-email')}\n\t\t\t\t\t\n\t\t\t\t\t{!isMobileDevice && }\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('validate@profile-modal-text-1-email')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('validate@profile-modal-text-2-email')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ValidateCode;\n","import { AxiosRequestConfig } from 'axios';\n\nimport useMutate from '~/hooks/useMutateApi';\n\nimport { ResponseProps } from './retrieve';\n\nexport interface RequestProps {\n\tname: string;\n\temail: string;\n\tavatar: any | null;\n\tbirthdate: string | null;\n\tgender: string | null;\n\tnative_language: string | null;\n\tphone_number: string | null;\n\tinstagram: string | null;\n\tfacebook: string | null;\n\ttwitter: string | null;\n}\n\nconst useUpdateUser = (params?: AxiosRequestConfig) =>\n\tuseMutate | FormData>('/users/me/', { method: 'PATCH', ...params });\n\nexport { useUpdateUser };\n","import useMutate from '~/hooks/useMutateApi';\n\nexport interface RequestProps {\n\tphone_number: string;\n}\n\nexport interface ResponseProps {\n\tcreated: boolean;\n}\n\nconst useSendPhoneCode = () => useMutate('/users/me/verify-code/phone-number/', { method: 'POST' });\n\nexport { useSendPhoneCode };\n","import useMutate from '~/hooks/useMutateApi';\n\nexport interface ResponseProps {\n\tactive: boolean;\n}\n\nexport interface RequestProps {\n\tcode: string;\n}\n\nconst useValidatePhoneCode = () => useMutate('/users/me/verify/phone-number/', { method: 'PUT' });\n\nexport { useValidatePhoneCode };\n","import { useRef, useState } from 'react';\n\nimport {\n\tPinInput,\n\tPinInputField,\n\tButton,\n\tFlex,\n\tBox,\n\tFormControl,\n\tModal,\n\tModalContent,\n\tModalOverlay,\n\tVStack,\n\tModalCloseButton,\n\tuseDisclosure,\n\tGrid,\n\tFormErrorMessage,\n\tFormLabel,\n} from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { Controller, useForm } from 'react-hook-form';\nimport { Navigate, useLocation } from 'react-router-dom';\nimport { useElapsedTime } from 'use-elapsed-time';\nimport * as Yup from 'yup';\n\nimport { useUpdateUser } from '~/api/users/update';\nimport { useSendPhoneCode } from '~/api/validation/sendPhone';\nimport { useValidatePhoneCode } from '~/api/validation/verifyPhone';\nimport { useLoggedOut } from '~/auth/Layout';\nimport { useDevice, useNavigate, useTitle } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert, ImperativeAlertProps, Phone, PhoneInputProps } from '~/theme/components';\nimport { ArrowLeft, CircleQuestion } from '~/theme/icons';\nimport * as Obfuscate from '~/utils/obfuscate';\n\ninterface PhoneProps {\n\tphone: PhoneInputProps;\n}\n\nexport interface PhoneNavigateProps {\n\tisCreatingAccount?: boolean;\n}\n\nexport enum ConfirmConfig {\n\tduration = 30,\n}\n\nconst schema = Yup.object({\n\tphone: Yup.object({\n\t\tnumber: Yup.string()\n\t\t\t.test('phone-validation', 'NĆŗmero de telefone incorreto', (password) => !/_/.test(password as string))\n\t\t\t.nullable(),\n\t}),\n});\n\nfunction ValidateCode() {\n\tconst { state } = useLocation() as { state: PhoneNavigateProps };\n\tconst [code, setCode] = useState('');\n\tconst navigate = useNavigate();\n\tconst modal = useDisclosure();\n\tconst { isOpen, onOpen, onClose } = useDisclosure();\n\tconst product = useLoggedOut();\n\tconst { translate } = useNamespace('validate');\n\tconst { elapsedTime, reset } = useElapsedTime({\n\t\tisPlaying: true,\n\t\tduration: ConfirmConfig.duration,\n\t\tupdateInterval: 1,\n\t\tonComplete: () => ({ shouldRepeat: true }),\n\t});\n\tconst [sendCode, { loading: isSending, error: sendingError }] = useSendPhoneCode();\n\tconst [validateCode, { loading, error: validatingError }] = useValidatePhoneCode();\n\tconst [updateUser] = useUpdateUser();\n\tconst seconds = Math.round(ConfirmConfig.duration - elapsedTime);\n\tconst { isMobileDevice } = useDevice();\n\n\tconst alertRef = useRef(null);\n\tconst { control, handleSubmit, getValues, formState } = useForm({\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t\tresolver: yupResolver(schema),\n\t\tdefaultValues: { phone: { code: '', number: '' } },\n\t});\n\tconst phoneNumber = `${getValues('phone.code')} ${getValues('phone.number')}`;\n\n\tconst redirect = () => {\n\t\tif (state?.isCreatingAccount)\n\t\t\tnavigate(`/signup/profile/${product.id ? `?product=${product.name.toLowerCase()}` : ''}`, {\n\t\t\t\tstate: { canComplete: true },\n\t\t\t});\n\t\telse navigate(product.id ? product.callback_url : '/');\n\t};\n\n\tconst onSubmit = async () => {\n\t\tconst response = await validateCode({ code });\n\n\t\tif (response?.data?.active) {\n\t\t\tawait updateUser({ phone_number: phoneNumber });\n\t\t\tredirect();\n\t\t} else alertRef.current?.turnOnAlert();\n\t};\n\n\tconst handleSend = async () => {\n\t\tconst response = await sendCode({ phone_number: phoneNumber });\n\n\t\tif (response?.data.created) {\n\t\t\t// its not possible to start the isPlaying as false and then set it to true\n\t\t\t// so at the component is mounted, the time is playng and we must reset when the code is sent\n\t\t\treset();\n\t\t\tonOpen();\n\t\t} else alertRef.current?.turnOnAlert();\n\t};\n\n\tconst handleResend = async () => {\n\t\tconst response = await sendCode({ phone_number: phoneNumber });\n\n\t\tif (response?.data.created) reset();\n\t\telse alertRef.current?.turnOnAlert();\n\t};\n\n\tuseTitle(translate('validate@title', { name: product.name }));\n\n\tif (!state) return ;\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('validate@profile-title-phone')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{validatingError?.message ?? sendingError?.message}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isOpen\n\t\t\t\t\t\t? translate('validate@profile-subtitle-phone', { phone: Obfuscate.phone(phoneNumber) })\n\t\t\t\t\t\t: translate('validate@profile-subtitle-2-phone')}\n\t\t\t\t\n\t\t\t\t{!isOpen && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t{isOpen ? (\n\t\t\t\t\t\n\t\t\t\t\t\t setCode(value.toUpperCase())} value={code} type=\"alphanumeric\" otp>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tNĆŗmero de telefone\n\t\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{formState.errors.phone?.number?.message && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{formState.errors.phone.number.message}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{isOpen ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('validate@form-resend-button')} {seconds ? `(${String(seconds).padStart(2, '0')}s)` : ''}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('validate@form-continue-button')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('validate@form-continue-button')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('validate@profile-modal-title-phone')}\n\t\t\t\t\t\n\t\t\t\t\t{!isMobileDevice && }\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('validate@profile-modal-text-1-phone')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('validate@profile-modal-text-2-phone')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ValidateCode;\n","import { useEffect, useReducer, useRef } from 'react';\n\nimport { AxiosRequestConfig } from 'axios';\n\nimport http from '~/services/http';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ninterface State {\n\tloading: boolean;\n\tdata?: T;\n\terror?: Error;\n}\n\ntype Action = { type: 'loading' } | { type: 'fetched'; payload: T } | { type: 'error'; payload: Error };\n\ntype FetchOptions = AxiosRequestConfig & {\n\tskipFetch?: boolean;\n\tinitialValue?: object | Array | string | number | T;\n};\n\nfunction useFetch(url?: string, options?: FetchOptions): State {\n\tconst cancelRequest = useRef(false);\n\tconst initialState: State = {\n\t\tloading: false,\n\t\terror: {} as Error,\n\t\tdata: (options?.initialValue || {}) as T,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'loading':\n\t\t\t\treturn { ...initialState, loading: true };\n\t\t\tcase 'fetched':\n\t\t\t\treturn { ...initialState, data: action.payload, loading: false };\n\t\t\tcase 'error':\n\t\t\t\treturn { ...initialState, error: action.payload, loading: false };\n\t\t\tdefault:\n\t\t\t\treturn state;\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tif (!url) return;\n\n\t\tcancelRequest.current = false;\n\n\t\tconst fetchData = async () => {\n\t\t\tdispatch({ type: 'loading' });\n\n\t\t\ttry {\n\t\t\t\tconst response = await http({ url, ...options });\n\n\t\t\t\tif (response.status > 300) {\n\t\t\t\t\tthrow new Error(response.statusText);\n\t\t\t\t}\n\n\t\t\t\tif (cancelRequest.current) return;\n\n\t\t\t\tdispatch({ type: 'fetched', payload: response.data });\n\t\t\t} catch (error) {\n\t\t\t\tif (cancelRequest.current) return;\n\n\t\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t\t}\n\t\t};\n\n\t\tif (!options?.skipFetch) {\n\t\t\tvoid fetchData();\n\t\t}\n\n\t\treturn () => {\n\t\t\tcancelRequest.current = true;\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [url, options?.skipFetch]);\n\n\treturn state;\n}\n\nexport default useFetch;\n","import useFetch from '~/hooks/useFetchApi';\nimport { fetcher } from '~/services/http';\n\nexport interface ResponseProps {\n\tcode: string;\n\tname: string;\n}\n\nconst getLanguages = () => fetcher, unknown>({ url: '/languages/' });\nconst useLanguages = () => useFetch>('/languages/');\n\nexport default useLanguages;\nexport { getLanguages };\n","import useFetch from '~/hooks/useFetchApi';\nimport { fetcher } from '~/services/http';\n\nexport type GenderTypes = 'MALE' | 'FEMALE' | 'CUSTOM' | null;\n\nexport interface AddressProps {\n\tpostal_code: string;\n\taddress: string;\n\tneighborhood: string;\n\tcity: string;\n\tstate: string;\n\tcountry: string;\n\tcomplement: string;\n}\n\nexport interface ResponseProps {\n\tid: string;\n\tname: string;\n\temail: string;\n\tavatar: any | null;\n\tbirthdate: string | null;\n\tgender: GenderTypes | null;\n\tnative_language: string;\n\tphone_number: string;\n\tinstagram: string | null;\n\tfacebook: string | null;\n\ttwitter: string | null;\n\taddress: AddressProps;\n}\n\nconst getUser = () => fetcher({ url: '/users/me/' });\nconst useUser = () => useFetch('/users/me/');\n\nexport { getUser, useUser };\n","export interface BirthdateProps {\n\tday: string;\n\tmonth: string;\n\tyear: string;\n}\n\nconst birthdateValidator = (birthdate: BirthdateProps) => {\n\tconst date = Object.values(birthdate);\n\tconst isBeeingFilled = date && !!date.find((value) => typeof value === 'string');\n\tconst isFilled = date && date.find((value) => value === null || value === '') === undefined;\n\n\treturn { isFilled, isBeeingFilled };\n};\n\nexport default birthdateValidator;\n","const castObject = (object: T, type: K) => {\n\tconst casted = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tlet castedValue!: any;\n\n\t\tswitch (type) {\n\t\t\tcase 'number':\n\t\t\t\tcastedValue = Number(value);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcastedValue = String(value);\n\t\t}\n\n\t\tcasted[key] = castedValue;\n\t}\n\n\treturn casted as { [key: string]: K extends 'string' ? string : number };\n};\n\nexport default castObject;\n","const toFormData = (data: Record) => {\n\tconst formData = new FormData();\n\n\tfor (const key in data) {\n\t\tformData.append(key, data[key]);\n\t}\n\n\treturn formData;\n};\n\nexport default toFormData;\n","/* eslint-disable max-lines */\nimport { useRef } from 'react';\n\nimport {\n\tBox,\n\tButton,\n\tGrid,\n\tFlex,\n\tFormControl,\n\tFormErrorMessage,\n\tFormLabel,\n\tInput,\n\tAspectRatio,\n\tSkeleton,\n} from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { DateTime } from 'luxon';\nimport { Controller, FieldPath, SubmitHandler, useForm } from 'react-hook-form';\nimport { useLocation, Navigate } from 'react-router-dom';\nimport * as Yup from 'yup';\n\nimport useLanguages from '~/api/languages/list';\nimport { GenderTypes, useUser } from '~/api/users/retrieve';\nimport { useUpdateUser } from '~/api/users/update';\nimport { useNavigate, useAuth, useDevice, useTitle } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Select, Option, Photo, Alert, Gender, ImperativeAlertProps, GenderTypes as InputGenderTypes } from '~/theme/components';\nimport birthdateValidator, { BirthdateProps } from '~/utils/birthdate';\nimport castObject from '~/utils/castObject';\nimport toFormData from '~/utils/toFormData';\n\nimport { useLoggedOut } from '../Layout';\nimport { ProductSpan } from '../Layout/components';\n\nexport interface ProfileNavigateProps {\n\tcanComplete: boolean;\n}\n\nexport interface ProfileSignUpProps {\n\tbirthdate: BirthdateProps;\n\tnative_language: string;\n\tgender: GenderTypes;\n\tcustom_gender: string;\n}\n\nconst schema = Yup.object({\n\tbirthdate: Yup.object({\n\t\tday: Yup.string().nullable(),\n\t\tmonth: Yup.string().nullable(),\n\t\tyear: Yup.string().nullable(),\n\t}).nullable(),\n\tnative_language: Yup.string().nullable(),\n\tgender: Yup.string().nullable(),\n\tcustom_gender: Yup.string()\n\t\t.when('gender', {\n\t\t\tis: (value: string) => value === 'CUSTOM',\n\t\t\tthen: Yup.string().required('Informe seu gĆŖnero'),\n\t\t})\n\t\t.nullable(),\n}).required();\n\nexport default function ProfileSignUp() {\n\tconst auth = useAuth();\n\tconst { state } = useLocation() as { state: ProfileNavigateProps };\n\tconst { name, ...product } = useLoggedOut();\n\tconst { isMobileDevice } = useDevice();\n\tconst languages = useLanguages();\n\n\tconst [updateUser, { loading, error }] = useUpdateUser({ headers: { 'Content-Type': 'multipart/form-data' }, method: 'PATCH' });\n\tconst { data: user } = useUser();\n\tconst navigate = useNavigate();\n\tconst { translate } = useNamespace('signUpProfile');\n\tconst alertRef = useRef(null);\n\n\tconst shouldReplaceGender = !Object.values(InputGenderTypes).includes(user?.gender as any as InputGenderTypes) && user?.gender;\n\n\tconst { formState, setValue, register, handleSubmit, watch, getValues, control } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t\tdefaultValues: {\n\t\t\tgender: shouldReplaceGender ? 'CUSTOM' : user?.gender,\n\t\t\tcustom_gender: shouldReplaceGender ? user?.gender : null,\n\t\t\tnative_language: user?.native_language,\n\t\t\tget birthdate() {\n\t\t\t\tif (!user?.birthdate) return null;\n\n\t\t\t\tconst { year, month, day } = DateTime.fromFormat(user.birthdate as unknown as string, 'yyyy-MM-dd');\n\n\t\t\t\treturn castObject({ year, month, day }, 'string') as unknown as BirthdateProps;\n\t\t\t},\n\t\t} as ProfileSignUpProps,\n\t});\n\n\tconst { isFilled, isBeeingFilled } = birthdateValidator({ ...(watch('birthdate') ?? getValues('birthdate')) });\n\n\tconst isCustomGender = watch('gender') === 'CUSTOM';\n\n\tconst onSubmit: SubmitHandler = async ({ birthdate, custom_gender, ...data }) => {\n\t\tconst hasBirthdate = birthdate?.day && birthdate?.month && birthdate?.year;\n\n\t\tconst updatedData = {\n\t\t\t...data,\n\t\t\tgender: data.gender !== InputGenderTypes.CUSTOM ? data.gender : custom_gender,\n\t\t\tbirthdate: hasBirthdate\n\t\t\t\t? DateTime.fromObject(castObject(birthdate as BirthdateProps, 'number')).toFormat('yyyy-MM-dd')\n\t\t\t\t: null,\n\t\t};\n\n\t\tconst user = await updateUser(toFormData(updatedData));\n\n\t\tif (user?.data.id) {\n\t\t\tnavigate(product.id ? product.callback_url : '/');\n\t\t} else alertRef.current?.turnOnAlert();\n\t};\n\n\tconst onUploadPhoto = (avatar: File) => {\n\t\tconst formData = new FormData();\n\n\t\tformData.set('avatar', avatar);\n\n\t\tupdateUser(formData);\n\t};\n\n\tconst handleSkip = () => {\n\t\tnavigate(product?.callback_url ? product?.callback_url : '/');\n\t};\n\n\tconst handler =\n\t\t = FieldPath>(type: K) =>\n\t\t(value: any) => {\n\t\t\tsetValue(type, value, { shouldTouch: true, shouldValidate: true });\n\t\t};\n\n\tuseTitle(translate('signUpProfile@title', { name }));\n\n\tif (!state) return ;\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('signUpProfile@profile-title')}\n\t\t\t\t\n\t\t\t\n\t\t\t{(error || auth.error) && (\n\t\t\t\t\n\t\t\t\t\t{error?.message ?? auth.error?.message}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\t\t\tposition=\"relative\"\n\t\t\t\t\t\t\t\t\t\t\tzIndex=\"1\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{translate('signUpProfile@form-image-label')}\n\t\t\t\t\t\t\t\t\t\t{translate('signUpProfile@form-image-subtitle')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{!isMobileDevice && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{isMobileDevice && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('signUpProfile@form-birthdate-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formState.errors.birthdate &&\n\t\t\t\t\t\t\t\tObject.values(formState.errors.birthdate).map(({ message }) => (\n\t\t\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('signUpProfile@form-lenguage-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{languages.data?.results?.map(({ code, name }) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('signUpProfile@form-send-button')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n}\n","import { useEffect, useRef } from 'react';\n\nimport { Box, Button, FormControl, FormLabel, Flex, FormErrorMessage, Stack } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { SubmitHandler, useForm } from 'react-hook-form';\nimport * as Yup from 'yup';\n\nimport slice from '~/context/features/auth';\nimport { useTitle } from '~/hooks';\nimport useDispatch from '~/hooks/useDispatch';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert, ImperativeAlertProps, Password } from '~/theme/components';\nimport { ArrowLeft } from '~/theme/icons';\nimport { yupTest } from '~/utils/passVerify';\n\nimport { useLoggedOut } from '../Layout';\n\nexport interface ProvisionalFormProps {\n\tpassword: string;\n\tconfirmPassword: string;\n}\n\nconst schema = Yup.object({\n\tpassword: Yup.string()\n\t\t.required('provisional@validation-password-required')\n\t\t.test(...yupTest('provisional')),\n\tconfirmPassword: Yup.string()\n\t\t.oneOf([Yup.ref('password')], 'provisional@validation-confirm-password-invalid')\n\t\t.required('provisional@validation-confirm-password-required'),\n}).required();\n\nfunction Provisional() {\n\tconst { auth, goBack, ...product } = useLoggedOut();\n\tconst { translate } = useNamespace('provisional');\n\tconst dispatch = useDispatch();\n\tconst alertRef = useRef(null);\n\n\tconst { formState, register, handleSubmit } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = async ({ password }) => {\n\t\tauth.completePassword(password);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch(slice.actions.setAuthState(null));\n\t}, [dispatch]);\n\n\tuseTitle(`${translate('provisional@title')} | ${product.name}`);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('provisional@provisional-password-title')}\n\t\t\t\t\n\t\t\t\n\t\t\t{auth.error && (\n\t\t\t\t\n\t\t\t\t\t{auth.error?.message}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('provisional@form-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* {formState.errors.password && (\n {translate(formState.errors.password.message as string)}\n\t\t\t\t\t\t)} */}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('provisional@form-confirm-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.confirmPassword && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.confirmPassword.message as 'provisional@validation-confirm-password-invalid')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('provisional@form-change-password-button')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Provisional;\n\n// const onSubmit: SubmitHandler = async ({ password }) => {\n// setLoading(true);\n// auth.provisional?.user.completeNewPasswordChallenge(password, auth.provisional?.userAttributes, {\n// onSuccess: () => {\n// auth.signIn(auth.provisional?.userAttributes.email as string, password, product?.callback_url);\n// },\n// onFailure: (err) => {\n// setCompletePwdError(err);\n// setLoading(false);\n// },\n// });\n// };\n","import { Box, Button, FormLabel, GridItem, Input, SimpleGrid } from '@chakra-ui/react';\nimport { saveAs } from 'file-saver';\nimport JSZip from 'jszip';\nimport { useForm } from 'react-hook-form';\n\nimport model from './model.json';\n\nconst Generator = () => {\n\tconst { register, handleSubmit } = useForm({ defaultValues: model });\n\n\tconst onSubmit = async (data: typeof model) => {\n\t\tconst zip = new JSZip();\n\t\tconst folder = zip.folder('locale');\n\n\t\tconst model = {};\n\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tconst [ns] = key.split('@');\n\n\t\t\tif (ns in model) model[ns][key] = value;\n\t\t\telse model[ns] = { [key]: value };\n\t\t}\n\n\t\tif (folder) {\n\t\t\tfor (const ns of Object.keys(model)) folder.file(`${ns}.json`, JSON.stringify(model[ns]));\n\n\t\t\tconst content = await zip.generateAsync({ type: 'blob' });\n\n\t\t\tsaveAs(content, 'lang.zip');\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tTraduza as frases abaixo\n\t\t\t\t\n\t\t\t\t{Object.entries(model).map(([key, value]) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Generator;\n","import { useEffect } from 'react';\n\nimport { Box, Button, Flex, FormControl, FormLabel, Input, Spinner } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { SubmitHandler, useForm } from 'react-hook-form';\nimport * as Yup from 'yup';\n\nimport { useDelayedRedirect, useNavigate, useProduct, useQueryParam } from '~/hooks';\nimport useMutate from '~/hooks/useMutateApi';\nimport useNamespace from '~/hooks/useNamespace';\n\nconst schema = Yup.object({\n\temail: Yup.string().email().required(),\n});\n\nconst ENDPOINT = import.meta.env.VITE_API_URL;\n\nfunction Activate() {\n\tconst { brand_color } = useProduct();\n\tconst navigate = useNavigate();\n\tconst query = useQueryParam('product', 'email');\n\tconst { translate } = useNamespace('activate');\n\tconst { register, handleSubmit } = useForm<{ email: string }>({\n\t\tresolver: yupResolver(schema),\n\t\tmode: 'onBlur',\n\t});\n\tconst redirect = useDelayedRedirect('/?product=talks', 1000);\n\tconst [mutate, { loading, error }] = useMutate('auth/activate/', {\n\t\tbaseURL: ENDPOINT as string,\n\t});\n\tconst onSubmit: SubmitHandler<{ email: string }> = async ({ email }) => {\n\t\tconst response = await mutate({ email });\n\n\t\tif (response?.status === 201) {\n\t\t\tconst params = new URLSearchParams(`email=${email}&product=${query.product || ''}`);\n\n\t\t\tnavigate(`/activate/code?${params.toString()}`, {\n\t\t\t\tstate: { email },\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (query.email) {\n\t\t\tonSubmit({ email: query.email });\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [query.email]);\n\n\tconst userNotFound = error?.message?.includes('404');\n\tconst userExists = error?.message?.includes('user already activated');\n\n\tuseEffect(() => {\n\t\tif (userExists || userNotFound) {\n\t\t\tredirect();\n\t\t}\n\t}, [userExists, userNotFound]);\n\n\tif (userExists || userNotFound) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{userNotFound && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('activate@user-not-exists-title')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('activate@user-not-exists-subtitle')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{userExists && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('activate@user-exists-title')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('activate@user-exists-subtitle')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('activate@title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('activate@subtitle')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('activate@form-email-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Activate;\n","import { useState } from 'react';\n\nimport { Box, Button, Flex, PinInput, PinInputField } from '@chakra-ui/react';\n\nimport { useQueryParam } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\n\ntype Props = {\n\tresendCode: () => void;\n\tresendCodeLoading: boolean;\n\tconfirm: (code: string) => void;\n\tconfirmLoading: boolean;\n};\n\nfunction CodeInput({ resendCodeLoading, resendCode, confirmLoading, confirm }: Props) {\n\tconst query = useQueryParam('email');\n\tconst { translate } = useNamespace('activate');\n\tconst [code, setCode] = useState('');\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('activate@email-validate-title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('activate@insert-code-placeholder', { email: query.email })}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t setCode(value.toUpperCase())} value={code}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t confirm(code)}\n\t\t\t\t>\n\t\t\t\t\t{translate('activate@continue-code-button')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default CodeInput;\n","import { Flex, Button, FormLabel, FormControl, FormErrorMessage } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { useForm, SubmitHandler } from 'react-hook-form';\nimport * as Yup from 'yup';\n\nimport useNamespace from '~/hooks/useNamespace';\nimport { Password } from '~/theme/components';\nimport { yupTest } from '~/utils/passVerify';\n\ntype CreatePasswordProps = {\n\tpassword: string;\n\tconfirm_password: string;\n};\n\ntype Props = {\n\tloading: boolean;\n\tcreatePassword: (password: string) => void;\n};\n\nconst schema = Yup.object({\n\tpassword: Yup.string()\n\t\t.required('forgotPassword@validation-password-required')\n\t\t.test(...yupTest('forgotPassword')),\n\tconfirm_password: Yup.string().oneOf([Yup.ref('password'), null], 'forgotPassword@validation-confirm-password-invalid'),\n}).required();\n\nfunction CreatePassword({ createPassword, loading }: Props) {\n\tconst { translate } = useNamespace('forgotPassword');\n\n\tconst { formState, register, handleSubmit } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = async ({ password }) => {\n\t\tcreatePassword(password);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('forgotPassword@form-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('forgotPassword@form-confirm-password-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.confirm_password && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.confirm_password.message as 'forgotPassword@validation-password-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('forgotPassword@create-password-signin')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default CreatePassword;\n","import { useEffect, useState } from 'react';\n\nimport { Box, Button, Center, Flex, Spinner } from '@chakra-ui/react';\n\nimport { useLoggedOut } from '~/auth/Layout';\nimport { useNavigate, useProduct, useQueryParam } from '~/hooks';\nimport useMutate from '~/hooks/useMutateApi';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert } from '~/theme/components';\nimport ArrowLeft from '~/theme/icons/navigation/ArrowLeft';\n\nimport CodeInput from './components/CodeInput';\nimport CreatePassword from './components/CreatePassword';\n\nconst ENDPOINT = import.meta.env.VITE_API_URL as string;\n\nfunction Code() {\n\tconst { brand_color } = useProduct();\n\tconst { goBack } = useLoggedOut();\n\tconst navigate = useNavigate();\n\tconst query = useQueryParam('email', 'product');\n\tconst { translate } = useNamespace('activate');\n\tconst [signInLoading, setSignInLoading] = useState(false);\n\tconst [password, setPassword] = useState('');\n\tconst [passwordState, setPasswordState] = useState<'success' | 'error' | undefined>();\n\tconst { auth } = useLoggedOut();\n\n\tconst [resendCodeMutation, resendCodeMutationConfig] = useMutate('auth/activate/', {\n\t\tbaseURL: ENDPOINT,\n\t});\n\tconst [confirmCodeMutation, confirmCodeMutationConfig] = useMutate('auth/activate/confirm/', {\n\t\tbaseURL: ENDPOINT,\n\t\tmethod: 'POST',\n\t});\n\n\tconst showResendCodeAlert = Object.keys(resendCodeMutationConfig.data as object).length > 0;\n\tconst hash = window.location.hash.split('=');\n\tconst code = hash[0] === '#code' && hash[1] !== undefined && hash[1];\n\n\tconst resendCode = async () => {\n\t\tresendCodeMutation({ email: query.email });\n\t};\n\n\tconst confirmCode = async (code: string) => {\n\t\tconst params = new URLSearchParams(`email=${query.email}&product=${query.product}`);\n\n\t\tnavigate(`?${params}#code=${code}`);\n\t};\n\n\tconst createPasswordAndSignin = async (password: string) => {\n\t\tsetSignInLoading(true);\n\n\t\ttry {\n\t\t\tconst data = await confirmCodeMutation({ email: query.email, password, confirmation_code: code });\n\n\t\t\tif (data?.status && data?.status >= 200 && data?.status < 300) {\n\t\t\t\tsetPasswordState('success');\n\t\t\t\tsetPassword(password);\n\t\t\t} else {\n\t\t\t\tsetPasswordState('error');\n\t\t\t\tsetSignInLoading(false);\n\t\t\t}\n\t\t} catch {\n\t\t\tsetSignInLoading(false);\n\t\t\tsetPasswordState('error');\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tasync function signIn() {\n\t\t\tif (passwordState === 'success') {\n\t\t\t\tif (query.email && password) {\n\t\t\t\t\tconst redirect = 'https://talks.fluency.io/student/profile';\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait auth.signIn(query.email, password, redirect);\n\t\t\t\t\t} catch {\n\t\t\t\t\t\tsetSignInLoading(false);\n\t\t\t\t\t\tsetPasswordState('error');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsignIn();\n\t}, [passwordState, auth, query.email, password]);\n\n\tif (signInLoading || auth.loading) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\tif (passwordState === 'success') {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('activate@redirect-title')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('activate@redirect-subtitle')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t\t\t{!code ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{passwordState === 'error' && {translate('activate@create-password-error')}}\n\t\t\t{showResendCodeAlert && {translate('activate@resend-code-success')}}\n\t\t\n\t);\n}\n\nexport default Code;\n","import useMutate from '~/hooks/useMutateApi';\n\nexport interface ResponseProps {\n\tpostal_code: string;\n\taddress: string;\n\tneighborhood: string;\n\tcity: string;\n\tstate: string;\n\tcountry: string;\n\tcomplement: string;\n}\n\nexport interface RequestProps {\n\tpostal_code: string;\n\taddress: string;\n\tneighborhood: string;\n\tcity: string;\n\tstate: string;\n\tcountry: string;\n\tcomplement: string;\n}\n\nconst useUserAddress = () => useMutate('/users/me/address/', { method: 'PUT' });\n\nexport default useUserAddress;\n","import { ComponentWithAs, Flex, FlexProps } from '@chakra-ui/react';\n\nconst Navbar: ComponentWithAs<'div', FlexProps> = ({ children, ...props }) => (\n\t\n\t\t\n\t\t\t{children}\n\t\t\n\t\n);\n\nexport default Navbar;\n","import { Button } from '@chakra-ui/react';\nimport { useLocation } from 'react-router-dom';\n\nimport useNamespace from '~/hooks/useNamespace';\nimport useNavigate from '~/hooks/useNavigate';\n\nexport default function SignOut() {\n\tconst { search } = useLocation();\n\tconst navigate = useNavigate();\n\tconst { translate } = useNamespace('pageLayout');\n\n\tconst signOut = () => {\n\t\tnavigate(`/signout${search}`);\n\t};\n\n\treturn (\n\t\t\n\t);\n}\n","import { Flex, Box, ComponentWithAs, FlexProps } from '@chakra-ui/react';\n\nimport SignOut from '../SignOut';\n\nconst LeftSideBar: ComponentWithAs<'div', FlexProps> = ({ children, ...props }) => (\n\t\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\nexport default LeftSideBar;\n","import { useEffect } from 'react';\n\nimport { Box, ComponentWithAs, Flex, IconProps, theme } from '@chakra-ui/react';\nimport { useLocation, useMatch, useResolvedPath } from 'react-router-dom';\n\nimport { useNamespace, useNavigate } from '~/hooks';\n\nexport interface NavItemProps {\n\tIcon: ComponentWithAs<'svg', IconProps>;\n\ttitle: string;\n\tto: string | undefined;\n\tisMobile?: boolean;\n}\n\nconst NavItem: ComponentWithAs<'div', NavItemProps> = ({ Icon, title, to, isMobile, ...props }) => {\n\tconst navigate = useNavigate();\n\tconst resolved = useResolvedPath(to as string);\n\tconst { search } = useLocation();\n\tconst match = useMatch({ path: resolved.pathname, end: true });\n\tconst { translate } = useNamespace('pageLayout');\n\n\tconst handleKeyPressed: React.KeyboardEventHandler = (event) => {\n\t\tif (event.code === 'Enter') navigate(`${to}${search}`);\n\t};\n\n\tuseEffect(() => {\n\t\tif (match) {\n\t\t\tdocument.title = `${title} | ${import.meta.env.VITE_APP_TITLE}`;\n\t\t}\n\t}, [match, title]);\n\n\treturn (\n\t\t navigate(`${to}${search}`)}\n\t\t\tonKeyDown={handleKeyPressed}\n\t\t\twhiteSpace=\"nowrap\"\n\t\t\tclassName=\"navitem\"\n\t\t\tsx={\n\t\t\t\tisMobile\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tpx: '2.5',\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\tborderBottomWidth: match ? theme.sizes[1] : '0',\n\t\t\t\t\t\t\tborderBottomColor: match ? 'white' : 'transparent',\n\t\t\t\t\t\t\tmarginBottom: '4',\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tborderLeftWidth: match ? theme.sizes[1] : '0',\n\t\t\t\t\t\t\tborderLeftColor: match ? 'purple.300' : 'transparent',\n\t\t\t\t\t\t\tbgColor: match ? 'purple.50' : 'white',\n\t\t\t\t\t\t\tcolor: match ? 'purple.300' : 'gray.750',\n\t\t\t\t\t\t\tpointerEvents: match ? 'none' : 'auto',\n\t\t\t\t\t\t\tpx: match ? '7' : '8',\n\t\t\t\t\t\t\tpy: '1',\n\t\t\t\t\t\t\theight: '12',\n\t\t\t\t\t }\n\t\t\t}\n\t\t\t{...props}\n\t\t>\n\t\t\t\n\t\t\t{translate(title as 'pageLayout@products-title')}\n\t\t\n\t);\n};\n\nNavItem.defaultProps = {\n\tisMobile: false,\n};\n\nexport default NavItem;\n","import {\n\tDrawer as ChakraDrawer,\n\tDrawerOverlay,\n\tDrawerContent,\n\tDrawerHeader,\n\tDrawerBody,\n\tDrawerFooter,\n\tDrawerProps,\n} from '@chakra-ui/react';\n\nimport useNamespace from '~/hooks/useNamespace';\n\nimport SignOut from '../SignOut';\n\nconst Drawer: React.FC = ({ children, ...props }) => {\n\tconst { translate } = useNamespace('pageLayout');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{translate('pageLayout@products-title')}\n\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Drawer;\n","import { useBreakpointValue, Flex, Button, Box, Grid, AspectRatio, FlexProps, Spinner } from '@chakra-ui/react';\n\nimport { ResponseProps as UserProps } from '~/api/users/retrieve';\nimport { useUpdateUser } from '~/api/users/update';\nimport { useDevice } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Photo } from '~/theme/components';\nimport { F } from '~/theme/icons';\n\nexport interface RightSideBarProps extends FlexProps {\n\tuser: UserProps | undefined;\n}\n\nfunction RightSideBar({ user }: RightSideBarProps) {\n\tconst { isMobileDevice } = useDevice();\n\tconst [updateUser, { loading }] = useUpdateUser({ headers: { 'Content-Type': 'multipart/form-data' } });\n\tconst { translate } = useNamespace('pageLayout');\n\n\tconst stickies = useBreakpointValue([\n\t\t{ position: 'relative', top: '0' },\n\t\t{ position: 'sticky', top: '28' },\n\t]);\n\n\tconst onUploadPhoto = (avatar: File) => {\n\t\tconst formData = new FormData();\n\n\t\tformData.set('avatar', avatar);\n\n\t\tupdateUser(formData);\n\t};\n\n\treturn (\n\t\t\n\t\t\t {\n\t\t\t\t\tconst openUp = (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\n\t\t\t\t\tconst preview = (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t} width=\"100%\" height=\"100%\" position=\"relative\" zIndex=\"1\" />\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{isMobileDevice ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{preview}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{translate('pageLayout@image-mobile-title')}\n\t\t\t\t\t\t\t\t\t\t\t\t{translate('pageLayout@image-subtitle')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{openUp}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{preview}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{translate('pageLayout@image-desktop-title')}\n\t\t\t\t\t\t\t\t\t\t{translate('pageLayout@image-subtitle')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{openUp}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t/>\n\t\t
\n\t);\n}\n\nexport default RightSideBar;\n","import { useMemo } from 'react';\n\nimport { FlexProps } from '@chakra-ui/react';\n\nimport { useDevice } from '~/hooks';\n\nimport Drawer from '../Drawer';\nimport LeftSideBar from '../LeftSideBar';\nimport Navbar from '../Navbar';\n\nexport interface NavigationProps extends Omit {\n\tisOpen: boolean;\n\tonClose(): void;\n\tchildren(isMobileDevice: boolean): JSX.Element;\n}\n\nconst Navigation: ComponentWithoutChildren = ({ isOpen, onClose, children, ...props }) => {\n\tconst { isMobileDevice } = useDevice();\n\n\tconst childList = useMemo(() => children(isMobileDevice), [children, isMobileDevice]);\n\n\tconst NavContainer = isMobileDevice ? Navbar : LeftSideBar;\n\n\treturn (\n\t\t<>\n\t\t\t{!isOpen && {childList}}\n\t\t\t{isMobileDevice && (\n\t\t\t\t\n\t\t\t\t\t{childList}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Navigation;\n","import { Link, Flex, FlexProps, Button } from '@chakra-ui/react';\nimport { NavLink } from 'react-router-dom';\n\nimport { useDevice } from '~/hooks';\nimport theme from '~/theme';\nimport { LanguageMenu } from '~/theme/components/';\nimport { Company, MoreVert } from '~/theme/icons';\n\nexport interface HeaderProps extends FlexProps {\n\tonOpen(): void;\n}\n\nconst Header: React.FC = ({ onOpen, ...props }) => {\n\tconst { isMobileDevice } = useDevice();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t{isMobileDevice && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Header;\n","import { Box, Flex, Grid, GridItem, GridProps, Image, useBreakpointValue, useDisclosure } from '@chakra-ui/react';\nimport { Outlet, useOutletContext } from 'react-router-dom';\n\nimport { ResponseProps as UserProps, useUser } from '~/api/users/retrieve';\nimport { useAuth, useQueryParam } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport theme from '~/theme';\nimport { LoadingPage, SupportButton } from '~/theme/components';\nimport { Password, User, Home, AddressBook, Talks, F } from '~/theme/icons';\n\nimport { NavItem, RightSideBar, Navigation, Header } from './components';\n\nconst navItems = [\n\t{ Icon: User, title: 'pageLayout@config-personal-data-title', to: '/' },\n\t{ Icon: Password, title: 'pageLayout@config-password-title', to: '/password' },\n\t{ Icon: Home, title: 'pageLayout@config-address-title', to: '/address' },\n\t{ Icon: AddressBook, title: 'pageLayout@config-contact-title', to: '/contact' },\n];\n\nconst products = [\n\t{ Icon: Talks, title: 'Talks', to: `https://talks${import.meta.env.VITE_APP_DOMAIN}/student/profile`, key: 'talks_talks' },\n\t{ Icon: F, title: 'Academy', to: `https://academy${import.meta.env.VITE_APP_DOMAIN}`, key: 'fluency_academy' },\n];\n\nfunction Layout() {\n\tconst auth = useAuth();\n\tconst params = useQueryParam('product');\n\tconst { data } = useUser();\n\tconst { onOpen, isOpen, onClose } = useDisclosure();\n\tconst { translate } = useNamespace('pageLayout');\n\n\tconst responsive = useBreakpointValue([\n\t\t{\n\t\t\tpx: '4',\n\t\t\tpb: '8',\n\t\t\tpt: '28',\n\t\t\tgridRowGap: '6',\n\t\t\tgridTemplateColumns: '1fr',\n\t\t\tgridTemplateRows: '0 auto 1fr',\n\t\t\tgridTemplateAreas: `\n\t\t\t\t'navigation'\n\t\t\t\t'profile'\n\t\t\t\t'content'\n\t\t\t`,\n\t\t},\n\t\t{\n\t\t\tpx: 'auto',\n\t\t\tpb: 'auto',\n\t\t\tmt: '16',\n\t\t\tgridColumnGap: '6',\n\t\t\tgridTemplateColumns: `${theme.sizes[80]} ${theme.sizes.xl} ${theme.sizes[56]}`,\n\t\t\tgridTemplateRows: '1fr',\n\t\t\tgridTemplateAreas: `\n\t\t\t\t'navigation content profile'\n\t\t\t`,\n\t\t},\n\t]);\n\n\t// If the user is authenticated and the product is defined, show the loader to redirect the user to the product\n\tif (auth.isUserIn && params.product) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{(isMobileDevice) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{isMobileDevice ? (\n\t\t\t\t\t\t\t\t\t(isOpen ? products : navItems).map((props) => )\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{translate('pageLayout@config-title')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{navItems.map(({ title, ...props }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{translate('pageLayout@products-title')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{products.map((product, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport function useSignedIn() {\n\tconst response = useOutletContext<{ auth: ReturnType; user: UserProps }>();\n\n\treturn response;\n}\n\nexport default Layout;\n","import { useEffect, useRef } from 'react';\n\nimport { Box, Button, Flex, FormControl, FormErrorMessage, FormLabel, Input, SimpleGrid, Skeleton } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport axios from 'axios';\nimport { useForm, SubmitHandler } from 'react-hook-form';\nimport NumberFormat from 'react-number-format';\nimport * as Yup from 'yup';\n\nimport useUserAddress from '~/api/users/address';\nimport { useFetch, useUnfetch } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Select, Option, Alert } from '~/theme/components';\nimport { ImperativeAlertProps } from '~/theme/components/Alert';\n\nimport { useSignedIn } from '../Layout';\n\nexport interface NameProps {\n\tcommon: string;\n\tofficial: string;\n}\n\nexport interface CountriesProps {\n\tname: NameProps;\n\tindependent: boolean;\n}\n\nexport interface AddressProps {\n\tcountry: string;\n\tpostal_code: string;\n\tstate: string;\n\tcity: string;\n\tneighborhood: string;\n\taddress: string;\n\tservice: string;\n\tcomplement: string;\n}\n\nexport interface RegiaoProps {\n\tid: number;\n\tsigla: string;\n\tnome: string;\n}\n\nexport interface UFProps {\n\tid: number;\n\tsigla: string;\n\tnome: string;\n\tregiao: RegiaoProps;\n}\n\nconst schema = Yup.object({\n\tcountry: Yup.string().required('address@validation-country-required'),\n\tpostal_code: Yup.string().when('country', {\n\t\tis: (value: string) => value === 'Brazil',\n\t\tthen: Yup.string()\n\t\t\t.required()\n\t\t\t.test(\n\t\t\t\t'Brazilian postal code',\n\t\t\t\t'address@validation-postal-code-invalid',\n\t\t\t\t(value) => value?.replace('-', '').replaceAll('_', '').length === 8\n\t\t\t),\n\t\totherwise: Yup.string().required(),\n\t}),\n\taddress: Yup.string().required('address@validation-address-required'),\n\tneighborhood: Yup.string().required('address@validation-neighborhood-required'),\n\tcity: Yup.string().required('address@validation-city-required'),\n\tstate: Yup.string().required('address@validation-state-required'),\n\tcomplement: Yup.string().notRequired(),\n}).required();\n\nfunction Address() {\n\tconst { user } = useSignedIn();\n\tconst [requestAddress, { loading, error, data }] = useUserAddress();\n\tconst countries = useFetch('https://restcountries.com/v3.1/all', { params: { fields: 'name,independent' } });\n\tconst [getUfs, ufs] = useUnfetch>('https://servicodados.ibge.gov.br/api/v1/localidades/estados?orderBy=nome');\n\tconst alertRef = useRef(null);\n\tconst { translate } = useNamespace('address');\n\n\tconst { formState, setValue, register, handleSubmit, watch, reset } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t\tdefaultValues: user.address,\n\t});\n\n\tconst address = watch();\n\n\tconst isBrazil = address.country === 'Brazil';\n\n\tconst onSubmit: SubmitHandler = async ({ postal_code, complement, ...data }) => {\n\t\tconst updatedAddress = await requestAddress({\n\t\t\t...data,\n\t\t\tpostal_code: postal_code.replaceAll('-', ''),\n\t\t\tcomplement: `${complement}`,\n\t\t});\n\n\t\talertRef.current?.turnOnAlert();\n\t\treset(updatedAddress?.data);\n\t};\n\n\tconst handler =\n\t\t(type: K) =>\n\t\t(value: any) => {\n\t\t\tsetValue((type as any) === 'street' ? 'address' : type, value);\n\t\t};\n\n\tconst handlePostalCode: React.ChangeEventHandler = async ({ target }) => {\n\t\tif (target.value.length > 0) {\n\t\t\tsetValue('postal_code', target.value, { shouldValidate: true, shouldTouch: true });\n\t\t}\n\t\tconst zipcode = target.value;\n\n\t\tif (/^\\d{5}-\\d{3}$/.test(zipcode)) {\n\t\t\tconst { data } = await axios.get(`https://brasilapi.com.br/api/cep/v1/${zipcode}`);\n\n\t\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\t\thandler(key as keyof AddressProps)(value);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (isBrazil) {\n\t\t\tgetUfs();\n\t\t}\n\t}, [getUfs, isBrazil]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{error?.message ?? (data ? 'AlteraƧƵes salvas!' : undefined)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('address@title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('address@subtitle')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('address@form-country-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{countries.data\n\t\t\t\t\t\t\t\t\t\t?.filter(({ independent }) => independent)\n\t\t\t\t\t\t\t\t\t\t.map(({ name }) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('address@form-postal-code-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.postal_code && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.postal_code.message as 'address@validation-postal-code-invalid')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('address@form-address-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.address && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.address.message as 'address@validation-address-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('address@form-neighborhood-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.neighborhood && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.neighborhood.message as 'address@validation-neighborhood-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('address@form-city-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('address@form-state-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{isBrazil ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{ufs.data?.map(({ sigla, nome }) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.city && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.city.message as 'address@validation-city-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{formState.errors.state && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.state.message as 'address@validation-state-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('address@form-complement-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tSalvar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Address;\n","import { MouseEventHandler, RefObject, useEffect, useRef, useState } from 'react';\n\nimport {\n\tModal,\n\tModalProps as ChakraModalProps,\n\tModalOverlay,\n\tModalContent,\n\tVStack,\n\tBox,\n\tFormLabel,\n\tButton,\n\tGrid,\n\tuseDisclosure,\n\tFlex,\n\tPinInput,\n\tPinInputField,\n\tFormErrorMessage,\n\tFormControl,\n} from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { Controller, useForm } from 'react-hook-form';\nimport { useElapsedTime } from 'use-elapsed-time';\nimport * as Yup from 'yup';\n\nimport { useUpdateUser } from '~/api/users/update';\nimport { useSendPhoneCode } from '~/api/validation/sendPhone';\nimport { useValidatePhoneCode } from '~/api/validation/verifyPhone';\nimport { useNamespace } from '~/hooks';\nimport { Alert, ImperativeAlertProps, Phone, PhoneInputProps } from '~/theme/components';\nimport { ArrowLeft } from '~/theme/icons';\nimport * as Obfuscate from '~/utils/obfuscate';\n\ninterface ChangePhoneModalProps extends Omit {\n\tphone: string;\n\tresetForm: (code: string, phone: string) => void;\n\tpageAlertRef: RefObject;\n}\n\ninterface PhoneProps {\n\tphone: PhoneInputProps;\n}\n\nconst schema = Yup.object({\n\tphone: Yup.object({\n\t\tnumber: Yup.string()\n\t\t\t.test('phone-validation', 'NĆŗmero de telefone incorreto', (password) => !/_/.test(password as string))\n\t\t\t.nullable(),\n\t}),\n});\n\nconst ChangePhoneModal: React.FC = ({ phone, resetForm, pageAlertRef, ...props }) => {\n\tconst { isOpen, onOpen, onClose } = useDisclosure();\n\tconst [sendCode, { loading: isSending, error: sendingError }] = useSendPhoneCode();\n\tconst [validateCode, { loading, error: validatingError }] = useValidatePhoneCode();\n\tconst [updateUser] = useUpdateUser();\n\tconst [code, setCode] = useState('');\n\tconst { elapsedTime, reset: resetTime } = useElapsedTime({ isPlaying: true, duration: 30, updateInterval: 1 });\n\tconst seconds = Math.round(30 - elapsedTime);\n\tconst alertRef = useRef(null);\n\tconst { translate } = useNamespace('contact');\n\n\tconst { control, reset, handleSubmit, getValues, formState } = useForm({\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t\tresolver: yupResolver(schema),\n\t\tdefaultValues: {\n\t\t\tget phone() {\n\t\t\t\tif (!phone) return {};\n\t\t\t\tconst regExp = new RegExp(/^(\\d.+)\\s(\\(.*\\))\\s(\\d.*)/);\n\t\t\t\tconst phoneNumber = regExp.exec(phone);\n\n\t\t\t\tif (!phoneNumber?.length) return {};\n\n\t\t\t\tconst [_, code, ddd, number] = phoneNumber;\n\n\t\t\t\treturn {\n\t\t\t\t\tcode,\n\t\t\t\t\tnumber: `${ddd} ${number}`,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t});\n\tconst phoneNumber = `${getValues('phone.code')} ${getValues('phone.number')}`;\n\n\tconst handleClose = () => {\n\t\tonClose();\n\t\treset();\n\t\tprops.onClose();\n\t};\n\n\tconst handleSend: MouseEventHandler = async (event) => {\n\t\tevent.preventDefault();\n\n\t\tconst response = await sendCode({ phone_number: phoneNumber });\n\n\t\tif (response?.data.created) {\n\t\t\tresetTime();\n\t\t\tonOpen();\n\t\t}\n\t};\n\n\tconst handleResend = async () => {\n\t\tconst response = await sendCode({ phone_number: phoneNumber });\n\n\t\tif (response?.data.created) {\n\t\t\tsetCode('');\n\t\t\tresetTime();\n\t\t}\n\t};\n\n\tconst onSubmit = async () => {\n\t\tconst response = await validateCode({ code });\n\n\t\tif (response?.data?.active) {\n\t\t\tconst code = getValues('phone.code');\n\t\t\tconst number = getValues('phone.number');\n\n\t\t\tawait updateUser({ phone_number: `${code} ${number}` });\n\t\t\tresetForm(code as string, number as string);\n\n\t\t\thandleClose();\n\t\t\tpageAlertRef.current?.turnOnAlert();\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\talertRef.current?.turnOnAlert();\n\t}, [sendingError, validatingError]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{validatingError?.message ?? sendingError?.message}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{isOpen && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('contact@modal-title')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{isOpen ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@modal-description-2', { phone: Obfuscate.phone(phoneNumber) })}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@modal-description-1')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t{isOpen ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t setCode(value.toUpperCase())} value={code} type=\"alphanumeric\" otp>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@modal-label-phone')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{formState.errors.phone?.number?.message && (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{formState.errors.phone.number.message}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{isOpen ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@modal-button-resend')} {seconds ? `${seconds}s` : ''}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@modal-button-confirm')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@modal-button-continue')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ChangePhoneModal;\n","import { useRef } from 'react';\n\nimport { Box, Button, Flex, FormControl, FormLabel, Grid, Input, useDisclosure } from '@chakra-ui/react';\nimport { useForm, Controller } from 'react-hook-form';\nimport { NavLink } from 'react-router-dom';\n\nimport useNamespace from '~/hooks/useNamespace';\nimport { PhoneInputProps, Phone, Alert, ImperativeAlertProps } from '~/theme/components';\n\nimport { useSignedIn } from '../Layout';\nimport { ChangePhoneModal } from './components';\n\nexport interface ContactProps {\n\tphone: PhoneInputProps;\n\temail: string;\n}\n\nfunction Contact() {\n\tconst { user } = useSignedIn();\n\tconst { translate } = useNamespace('contact');\n\tconst modal = useDisclosure();\n\tconst alertRef = useRef(null);\n\n\tconst { control, register, formState, getValues, reset } = useForm({\n\t\tdefaultValues: {\n\t\t\t...user,\n\t\t\tget phone() {\n\t\t\t\tif (!('phone_number' in user)) return {};\n\t\t\t\tconst regExp = new RegExp(/^(\\d.*)\\s\\((.*)\\)\\s(\\d.*)/);\n\t\t\t\tconst phoneNumber = regExp.exec(user.phone_number as string);\n\n\t\t\t\tif (!phoneNumber?.length) return {};\n\n\t\t\t\tconst [_, ddi, ddd, number] = phoneNumber;\n\n\t\t\t\treturn {\n\t\t\t\t\tcode: ddi,\n\t\t\t\t\tnumber: `${ddd} ${number.replace('-', '')}`,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t});\n\n\tconst resetForm = (code: string, number: string) => {\n\t\treset({\n\t\t\tphone: {\n\t\t\t\tcode,\n\t\t\t\tnumber,\n\t\t\t},\n\t\t});\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('contact@form-success-message')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('contact@title')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('contact@subtitle')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@form-phone-number-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@form-email-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('contact@form-email-information-label')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Contact;\n","import { createEndpoint } from '~/api';\n\nexport type AuthStateTypes = 'AUTHENTICATED' | 'NEW_PASSWORD_REQUIRED';\n\nexport interface RequestProps {\n\tprevious_password: string;\n\tnew_password: string;\n}\n\nconst resetPassword = createEndpoint<'POST', RequestProps, any>({ path: '/auth/password/reset/' });\n\nexport default resetPassword;\n","import { useRef, useState } from 'react';\n\nimport { Box, Button, Flex, FormControl, FormErrorMessage, FormLabel } from '@chakra-ui/react';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { useForm, SubmitHandler } from 'react-hook-form';\nimport * as Yup from 'yup';\n\nimport resetPassword from '~/api/auth/resetPassword';\nimport { usePromise } from '~/hooks';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Alert, Password } from '~/theme/components';\nimport { ImperativeAlertProps } from '~/theme/components/Alert';\nimport { yupTest } from '~/utils/passVerify';\n\nexport interface ChangePasswordProps {\n\toldPassword: string;\n\tnewPassword: string;\n\tconfirmPassword: string;\n}\n\nconst schema = Yup.object({\n\toldPassword: Yup.string()\n\t\t.required('changePassword@validation-current-password-required')\n\t\t.test(...yupTest('changePassword')),\n\tnewPassword: Yup.string().test('not-same-password', 'changePassword@validation-new-password-invalid', function () {\n\t\treturn this.parent.oldPassword !== this.parent.newPassword;\n\t}),\n\tconfirmPassword: Yup.string()\n\t\t.oneOf([Yup.ref('newPassword')], 'changePassword@validation-confirm-password-invalid')\n\t\t.required('changePassword@validation-confirm-password-required')\n\t\t.test(...yupTest('changePassword')),\n}).required();\n\nfunction ChangePassword() {\n\tconst alertRef = useRef(null);\n\tconst [status, setStatus] = useState();\n\n\tconst [request, { error, isLoading }] = usePromise(\n\t\tasync (oldPassword: string, newPassword: string) =>\n\t\t\tawait resetPassword.post({ previous_password: oldPassword, new_password: newPassword })\n\t);\n\tconst { translate } = useNamespace('changePassword');\n\n\tconst { formState, register, handleSubmit, reset } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tconst onSubmit: SubmitHandler = async ({ oldPassword, newPassword }) => {\n\t\ttry {\n\t\t\tconst [, response] = await request(oldPassword, newPassword);\n\n\t\t\tsetStatus(response.status);\n\t\t\treset();\n\t\t} finally {\n\t\t\talertRef.current?.turnOnAlert();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{status === 200 ? translate('changePassword@success-message') : error?.message}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('changePassword@title')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('changePassword@form-current-password-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formState.errors.oldPassword && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{translate(formState.errors.oldPassword.message as 'changePassword@validation-current-password-required')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('changePassword@form-new-password-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formState.errors.newPassword && (\n\t\t\t\t\t\t\t\t{translate('changePassword@validation-new-password-invalid')}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('changePassword@form-confirm-password-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formState.errors.confirmPassword && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{translate(formState.errors.confirmPassword.message as 'changePassword@validation-confirm-password-required')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('changePassword@form-save-password-button')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ChangePassword;\n","import { useRef, useEffect, useCallback } from 'react';\n\nimport {\n\tBox,\n\tButton,\n\tFlex,\n\tFormControl,\n\tFormErrorMessage,\n\tFormLabel,\n\tGrid,\n\tInput,\n\tSimpleGrid,\n\tSkeleton,\n\tuseBreakpointValue,\n} from '@chakra-ui/react';\nimport { StringOrNumber } from '@chakra-ui/utils';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { DateTime } from 'luxon';\nimport { useForm, SubmitHandler, Controller } from 'react-hook-form';\nimport * as Yup from 'yup';\n\nimport useLanguages from '~/api/languages/list';\nimport { ResponseProps as UserProps } from '~/api/users/retrieve';\nimport { useUpdateUser } from '~/api/users/update';\nimport useNamespace from '~/hooks/useNamespace';\nimport { Select, Option, Alert, Gender, GenderTypes } from '~/theme/components';\nimport { ImperativeAlertProps } from '~/theme/components/Alert';\nimport birthdateValidator, { BirthdateProps } from '~/utils/birthdate';\nimport castObject from '~/utils/castObject';\n\nimport { useSignedIn } from '../Layout';\n\nexport interface ProfileProps extends Omit {\n\tbirthdate: BirthdateProps;\n\tcustom_gender: string;\n}\n\nconst schema = Yup.object({\n\tname: Yup.string().nullable().required('profile@validation-name-required'),\n\tbirthdate: Yup.object({\n\t\tday: Yup.string().nullable(),\n\t\tmonth: Yup.string().nullable(),\n\t\tyear: Yup.string().nullable(),\n\t}),\n\tgender: Yup.string().nullable(),\n\tcustom_gender: Yup.string()\n\t\t.when('gender', {\n\t\t\tis: (value: string) => value === 'CUSTOM',\n\t\t\tthen: Yup.string().required('profile@validation-gender-required'),\n\t\t})\n\t\t.nullable(),\n\tnative_language: Yup.string().nullable(),\n}).required();\n\nfunction Profile() {\n\tconst languages = useLanguages();\n\tconst { user } = useSignedIn();\n\tconst alertRef = useRef(null);\n\tconst { translate } = useNamespace('profile');\n\tconst [updateUser, { loading, error, data }] = useUpdateUser();\n\tconst shouldReplaceGender = !Object.values(GenderTypes).includes(user?.gender as any as GenderTypes) && user?.gender;\n\n\tconst getDefaultValues = useCallback(\n\t\t() =>\n\t\t\t({\n\t\t\t\t...user,\n\t\t\t\tgender: shouldReplaceGender ? GenderTypes.CUSTOM : user.gender,\n\t\t\t\tcustom_gender: shouldReplaceGender ? user.gender : undefined,\n\t\t\t\tavatar: null,\n\t\t\t\tget birthdate() {\n\t\t\t\t\tif (!user?.birthdate) return null;\n\n\t\t\t\t\tconst { year, month, day } = DateTime.fromFormat(user.birthdate as unknown as string, 'yyyy-MM-dd');\n\n\t\t\t\t\treturn castObject({ year, month, day }, 'string') as unknown as BirthdateProps;\n\t\t\t\t},\n\t\t\t} as ProfileProps),\n\t\t[shouldReplaceGender, user]\n\t);\n\n\tconst { formState, control, register, handleSubmit, watch, reset, getValues } = useForm({\n\t\tresolver: yupResolver(schema),\n\t\treValidateMode: 'onChange',\n\t\tcriteriaMode: 'all',\n\t\tmode: 'all',\n\t});\n\n\tuseEffect(() => {\n\t\treset(getDefaultValues());\n\t}, [user, reset, getDefaultValues]);\n\n\tconst { isFilled, isBeeingFilled } = birthdateValidator({ ...(watch('birthdate') ?? getValues('birthdate')) });\n\n\tconst isCustomGender = watch('gender') === GenderTypes.CUSTOM;\n\n\tconst columns = useBreakpointValue([{ columns: 1 }, { columns: isCustomGender ? 3 : 2 }]);\n\n\tconst onSubmit: SubmitHandler = async ({ birthdate, custom_gender, ...data }) => {\n\t\tconst hasBirthdate = birthdate?.day && birthdate?.month && birthdate?.year;\n\t\tconst updatedData = hasBirthdate\n\t\t\t? {\n\t\t\t\t\t...data,\n\t\t\t\t\tgender: data.gender !== GenderTypes.CUSTOM ? data.gender : custom_gender,\n\t\t\t\t\tbirthdate: DateTime.fromObject(castObject(birthdate as BirthdateProps, 'number')).toFormat('yyyy-MM-dd'),\n\t\t\t }\n\t\t\t: data;\n\t\tconst updatedUser = await updateUser(updatedData);\n\n\t\talertRef.current?.turnOnAlert();\n\t\tconst shouldReplaceGender = !Object.values(GenderTypes).includes(updatedUser?.data?.gender as any as GenderTypes);\n\n\t\tlet updatedBirthdate: BirthdateProps = { day: '', month: '', year: '' };\n\n\t\tif (updatedUser?.data?.birthdate) {\n\t\t\tconst { year, month, day } = DateTime.fromFormat(updatedUser?.data?.birthdate as string, 'yyyy-MM-dd');\n\n\t\t\tupdatedBirthdate = castObject({ year, month, day }, 'string') as unknown as BirthdateProps;\n\t\t}\n\n\t\treset(\n\t\t\t{\n\t\t\t\t...(updatedUser as unknown as ProfileProps),\n\n\t\t\t\tbirthdate: updatedBirthdate,\n\t\t\t\tgender: shouldReplaceGender ? GenderTypes.CUSTOM : updatedUser?.data?.gender,\n\t\t\t\tcustom_gender: shouldReplaceGender ? (updatedUser?.data?.gender as any as GenderTypes) : undefined,\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{error?.message ?? (data ? 'AlteraƧƵes salvas!' : undefined)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('profile@title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{translate('profile@subtitle')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('profile@form-name-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.name && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate(formState.errors.name.message as 'profile@validation-gender-required')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translate('profile@form-birthdate-label')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{formState.errors.birthdate &&\n\t\t\t\t\t\t\tObject.values(formState.errors.birthdate).map(({ message }) => (\n\t\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translate('profile@form-native-lenguage-label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{languages?.data?.results?.map(({ code, name }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translate('profile@form-save-button')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Profile;\n","import { Box, Button, Flex, Image } from '@chakra-ui/react';\n\nimport { Container } from '~/auth/Layout/components';\nimport { useProduct } from '~/hooks';\nimport { TimesCircle, ArrowLeft, Account, Company } from '~/theme/icons';\n\nexport default function Error() {\n\tconst data = useProduct();\n\n\treturn (\n\t\t\n\t\t\t{(goBack) => (\n\t\t\t\t\n\t\t\t\t\t{data?.logo ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tVocĆŖ estĆ” acessando o {data.name}!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEsta pĆ”gina nao existe!\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tClique no botĆ£o de voltar, para retornar a pĆ”gina anterior\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","import { Box } from '@chakra-ui/react';\nimport { matchRoutes, Navigate, Outlet, RouteObject, useLocation } from 'react-router-dom';\n\nimport { goto, useProduct, useQueryParam } from '~/hooks';\nimport useAuth from '~/hooks/useAuth';\nimport { LoadingPage } from '~/theme/components';\n\nexport interface ExceptRoutesProps {\n\texceptRoutes?: RouteObject[];\n}\n\nfunction useSession() {\n\tconst auth = useAuth();\n\tconst location = useLocation();\n\tconst params = useQueryParam('product');\n\tconst product = useProduct();\n\n\t// HOC to add `exceptRoutes` as props\n\tfunction withExceptRoutes(Component: React.ComponentType) {\n\t\treturn ({ exceptRoutes = [], ...props }: React.PropsWithChildren) => (\n\t\t\t\n\t\t);\n\t}\n\n\t// HOC to protect routes for authenticated users\n\tfunction withSession(Component: React.ComponentType) {\n\t\treturn withExceptRoutes(({ exceptRoutes, ...props }) => {\n\t\t\tconst isRouteExcluded = matchRoutes(exceptRoutes!, location) !== null;\n\n\t\t\t// Redirect to the sign-in page if the user is not authenticated\n\t\t\tif (!auth.isUserIn && !isRouteExcluded) {\n\t\t\t\tconst signinPath = params.product ? `/signin/?product=${params.product}` : '/signin/';\n\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\t// Redirect the user to the product if it exists\n\t\t\tif (product.callback_url && !isRouteExcluded) {\n\t\t\t\tif (product.callback_url) {\n\t\t\t\t\tgoto(decodeURIComponent(product.callback_url));\n\t\t\t\t} else {\n\t\t\t\t\tconst redirectUrl = new URLSearchParams(location.search).get('url') as string;\n\n\t\t\t\t\tgoto(decodeURIComponent(redirectUrl));\n\t\t\t\t}\n\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\treturn ;\n\t\t});\n\t}\n\n\t// HOC to protect routes for unauthenticated users\n\tfunction withNoSession(Component: React.ComponentType) {\n\t\treturn withExceptRoutes(({ exceptRoutes, ...props }) => {\n\t\t\tconst isRouteExcluded = matchRoutes(exceptRoutes!, location) !== null;\n\t\t\tconst shouldRedirect = auth.isUserIn && !isRouteExcluded && !auth.validation;\n\n\t\t\tif (shouldRedirect) {\n\t\t\t\t// Redirect the authenticated user to the callback URL or home page\n\t\t\t\tgoto(product.callback_url || '/');\n\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn ;\n\t\t});\n\t}\n\n\t// Component for protected routes\n\tfunction SignedIn(props: React.PropsWithChildren) {\n\t\tconst ProtectedComponent = withSession(Box);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\t// Component for unprotected routes\n\tfunction SignedOut() {\n\t\tconst UnprotectedComponent = withNoSession(Box);\n\n\t\treturn ;\n\t}\n\n\treturn {\n\t\twithNoSession,\n\t\twithSession,\n\t\tSignedIn,\n\t\tSignedOut,\n\t};\n}\n\nexport default useSession;\n","import { withSentryReactRouterV6Routing } from '@sentry/react';\nimport { Route, Routes as Switch } from 'react-router-dom';\n\nimport {\n\tEmailList,\n\tForgotEmail,\n\tForgotPassword,\n\tResetPassword,\n\tSignIn,\n\tSignOut,\n\tSignUp,\n\tValidateEmail,\n\tValidatePhone,\n} from '~/auth';\nimport LoggedOut from '~/auth/Layout';\nimport ProfileSignUp from '~/auth/Profile';\nimport Provisional from '~/auth/Provisional';\nimport Generator from '~/languages/Generator';\nimport Activate from '~/pages/Activate';\nimport Code from '~/pages/Activate/Code';\nimport Address from '~/pages/Address';\nimport Contact from '~/pages/Contact';\nimport LoggedIn from '~/pages/Layout';\nimport ChangePassword from '~/pages/Password';\nimport Profile from '~/pages/Profile';\n\nimport Error from './Error';\nimport useSession from './useSession';\n\nfunction Routes() {\n\tconst { withSession, withNoSession } = useSession();\n\tconst Session = withSession(LoggedIn);\n\tconst NoSession = withNoSession(LoggedOut);\n\tconst SentryRoutes = withSentryReactRouterV6Routing(Switch);\n\n\treturn (\n\t\t\n\t\t\t}>\n\t\t\t\t} index />\n\t\t\t\t} path=\"password\" />\n\t\t\t\t} path=\"address\" />\n\t\t\t\t} path=\"contact\" />\n\t\t\t\n\t\t\t} path=\"/signin/\">\n\t\t\t\t} index />\n\t\t\t\t} path=\"provisional-password\" />\n\t\t\t\t} path=\"forgot-password\" />\n\t\t\t\t} path=\"forgot-password/reset\" />\n\t\t\t\t} path=\"forgot-email\" />\n\t\t\t\t} path=\"forgot-email/list\" />\n\t\t\t\n\t\t\t}\n\t\t\t\tpath=\"/signup/\"\n\t\t\t>\n\t\t\t\t} index />\n\t\t\t\t} path=\"validate-email\" />\n\t\t\t\t} path=\"validate-phone\" />\n\t\t\t\t} path=\"profile\" />\n\t\t\t\n\t\t\t} path=\"/activate\">\n\t\t\t\t} index />\n\t\t\t\t} path=\"code\" />\n\t\t\t\n\t\t\t} path=\"/signout\" />\n\t\t\t} path=\"lang/create\" />\n\t\t\t} path=\"*\" />\n\t\t\n\t);\n}\n\nexport default Routes;\n","import { Provider } from '~/provider';\nimport Routes from '~/routes';\n\nfunction App() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default App;\n","import { useEffect } from 'react';\n\nimport { init, reactRouterV6Instrumentation } from '@sentry/react';\nimport { BrowserTracing } from '@sentry/tracing';\nimport { useLocation, useNavigationType, createRoutesFromChildren, matchRoutes } from 'react-router-dom';\n\nconst initSentry = () => {\n\tif (import.meta.env.PROD)\n\t\tinit({\n\t\t\tdsn: import.meta.env.VITE_SENTRY_DSN as string,\n\t\t\tenvironment: import.meta.env.VITE_FEATURED_FLAG as string,\n\t\t\tintegrations: [\n\t\t\t\tnew BrowserTracing({\n\t\t\t\t\ttracePropagationTargets: [import.meta.env.VITE_API_URL as string],\n\t\t\t\t\troutingInstrumentation: reactRouterV6Instrumentation(\n\t\t\t\t\t\tuseEffect,\n\t\t\t\t\t\tuseLocation,\n\t\t\t\t\t\tuseNavigationType,\n\t\t\t\t\t\tcreateRoutesFromChildren,\n\t\t\t\t\t\tmatchRoutes\n\t\t\t\t\t),\n\t\t\t\t}),\n\t\t\t],\n\t\t\ttracesSampleRate: 1,\n\t\t\tnormalizeDepth: 10,\n\t\t});\n};\n\nexport default initSentry;\n","import React from 'react';\n\nimport { createRoot } from 'react-dom/client';\n\nimport App from './app';\nimport initSentry from './services/sentry';\n\ninitSentry();\n\nconst container = document.getElementById('root');\nconst root = createRoot(container as HTMLElement);\n\nroot.render(\n\t\n\t\t\n\t\n);\n"],"names":["auth","signIn","initialState","getVerification","createFilter","storage","reducer","jwtDecode","store","slice","activate","contact","pageLayout","signUp","password","languageMenu","forgotPassword","address","provisional","profile","changePassword","signUpProfile","validate","genderInput","select","outdoor","config","BrowserLanguageDetector","i18n","Visible","createIcon","displayName","viewBox","path","VisibleOff","ZoomIn","ZoomOut","Password","MoreVert","CheckCircle","AddressBook","TimesCircle","CircleQuestion","ArrowLeft","ChevronDown","User","Home","Search","Account","Company","F","Talks","forwardRef","ref","hint","props","isOpen","isVisible","onToggle","useDisclosure","text","setText","useState","translate","useNamespace","Icon","passLength","length","handleInput","target","value","colorScheme","passVerify","map","label","color","isArray","Array","defaultProps","Scrollbar","width","height","background","mode","gray","borderRadius","fadeColor","boxShadow","direction","useStoreDispatch","useCallback","useFetch","useReducer","useRef","this","useDOMNavigate","children","getInputProps","getCheckboxProps","useRadio","input","checkbox","borderBottomWidth","borderBottomColor","event","code","pointerEvents","memo","Option","PopoverTrigger","OrigPopoverTrigger","Select","name","onChange","onChangeValue","searchable","placeholder","maxHeight","cache","triggerRef","onOpen","onClose","setWidth","query","setQuery","isPicked","on","useBoolean","context","useFormControlContext","useRadioGroup","defaultValue","getRootProps","getRadioProps","setValue","radio","useMemo","ChevronUp","handleClose","handleResize","trigger","current","document","contains","clientWidth","handleKeyPressed","observer","MutationObserver","observe","childList","subtree","disconnect","forEach","defaultChecked","isDisabled","bgColor","opacity","outline","Children","rest","child","regExp","RegExp","String","match","onClick","onKeyDown","isChecked","checked","key","Phone","phone","defaultCountry","countries","find","data","country","tracing","setTracing","number","handleCountry","attributes","getNamedItem","countryCode","index","numberMask","Input","crop","unit","x","y","scale","rotate","state","action","type","Photo","render","src","isMobile","size","useBreakpointValue","canvas","image","preview","dispatch","inputRef","open","useDropzone","disabled","accept","PhotoCrop","maxFiles","multiple","onDrop","file","revokeObjectURL","URL","createObjectURL","onDropAccepted","handler","onImageLoad","currentTarget","handleCrop","toBlob","blob","File","handleZoomIn","handleZoomOut","createElement","setAttribute","onload","naturalWidth","naturalHeight","getContext","drawImage","remove","sizes","centerCrop","makeAspectCrop","url","boxSize","layerStyle","ReactCrop","Image","transform","motion","Box","Alert","duration","autoDisplay","off","timeoutId","setTimeout","turnOnAlert","ChrakraAlert","languages","language","flag","LanguageMenu","isTransparent","i18next","setDefaultLanguage","changeLanguage","selectedLanguage","Button","isSelected","content","display","position","top","left","GenderTypes","Gender","control","isCustomGender","field","formState","errors","custom_gender","SupportButton","Link","styles","Provider","ReduxProvider","componentWillMount","revalidateOnFocus","revalidateOnReconnect","theme","initialColorMode","RouterProvider","product","logo","base","lg","Header","Container","navigate","useNavigate","useProduct","id","useLoggedOut","Phrase","LMS","FluencyIo","Step","useLocation","isCreatingAccount","isMobileDevice","useDevice","pathname","SignIn","StepOne","StepTwo","StepThree","StepFour","includes","Activate","params","useQueryParam","useAuth","background_image","goBack","useOutletContext","verifySchema","Yup","email","required","schema","test","yupTest","ENDPOINT","import","search","translateGeneral","externalLink","goToTalksLink","window","location","href","VITE_FIO_DOMAIN","isTalks","toLowerCase","verifyState","setVerifyState","verifyFormState","register","verifyRegister","handleSubmit","verifyHandleSubmit","getValues","setError","clearErrors","setVerifyValue","useForm","resolver","yupResolver","reValidateMode","criteriaMode","mutate","loading","loadingVerify","error","verifyError","useMutate","baseURL","onVerify","response","status","onSubmit","callback_url","getErrorMessage","message","reset","isDirty","NavLink","isValid","confirm_email","oneOf","useUserSignUp","alertRef","source","toUpperCase","setAuthenticate","isUserIn","signOut","redirect","undefined","domain","confirm_password","setLoading","forgotPasswordReset","post","confirmation_code","elapsedTime","useElapsedTime","isPlaying","ForgotConfig","updateInterval","setCode","seconds","Math","round","handleResend","Obfuscate","padStart","pin","setPin","_data","apiKey","Object","values","ConfirmConfig","validateCode","useValidateVerificationCode","modal","useSWR","http","then","res","revalidateIfStale","active","completeAuthentication","nullable","onComplete","shouldRepeat","sendCode","isSending","sendingError","useSendPhoneCode","validatingError","useValidatePhoneCode","updateUser","useUpdateUser","defaultValues","phoneNumber","canComplete","phone_number","handleSend","created","isSubmitting","birthdate","day","month","year","native_language","gender","when","is","useLanguages","headers","method","user","useUser","shouldReplaceGender","InputGenderTypes","watch","DateTime","fromFormat","castObject","isFilled","isBeeingFilled","birthdateValidator","hasBirthdate","updatedData","CUSTOM","fromObject","toFormat","toFormData","onUploadPhoto","avatar","formData","FormData","set","handleSkip","shouldTouch","shouldValidate","Date","now","results","confirmPassword","useDispatch","completePassword","actions","setAuthState","isSubmitted","Generator","model","zip","JSZip","folder","entries","ns","split","keys","JSON","stringify","generateAsync","brand_color","useDelayedRedirect","URLSearchParams","toString","userNotFound","userExists","resendCodeLoading","resendCode","confirmLoading","confirm","createPassword","signInLoading","setSignInLoading","setPassword","passwordState","setPasswordState","resendCodeMutation","resendCodeMutationConfig","confirmCodeMutation","confirmCodeMutationConfig","showResendCodeAlert","hash","confirmCode","createPasswordAndSignin","Navbar","LeftSideBar","NavItem","title","to","resolved","useResolvedPath","useMatch","end","px","marginBottom","borderLeftWidth","borderLeftColor","py","Drawer","ChakraDrawer","DrawerOverlay","DrawerHeader","DrawerBody","DrawerFooter","stickies","openUp","Navigation","zIndices","docked","navItems","products","responsive","pb","pt","gridRowGap","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","mt","gridColumnGap","xl","borderWidth","borderColor","borderStyle","postal_code","replace","replaceAll","otherwise","neighborhood","city","complement","notRequired","useSignedIn","requestAddress","useUserAddress","fields","getUfs","ufs","useUnfetch","isBrazil","updatedAddress","handlePostalCode","zipcode","axios","get","isValidating","filter","independent","common","NumberFormat","sigla","nome","ChangePhoneModal","resetForm","pageAlertRef","resetTime","exec","_","ddd","preventDefault","FormControl","ddi","oldPassword","newPassword","parent","setStatus","request","isLoading","usePromise","resetPassword","previous_password","new_password","getDefaultValues","columns","updatedUser","updatedBirthdate","Component","exceptRoutes","withExceptRoutes","isRouteExcluded","matchRoutes","signinPath","decodeURIComponent","redirectUrl","validation","ProtectedComponent","withSession","UnprotectedComponent","withNoSession","SignedIn","SignedOut","useSession","Session","LoggedIn","NoSession","LoggedOut","SentryRoutes","withSentryReactRouterV6Routing","Switch","ValidateEmail","ValidatePhone","SignOut","Error","useEffect","initSentry","container","getElementById","root","createRoot"],"mappings":"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"}