{"version":3,"sources":["images/pro.png","assets/locationIcon.svg","images/abc-logo.png","images/no-avatar.png","images/banner-cuid.png","images/partners_house/IconPinHouse.png","images/image-1.png","images/image-2.png","images/image-3.png","images/image-4.png","images/image-5.png","images/logo-cuid.png","styles/global.ts","styles/theme/index.ts","services/api.ts","components/ToastContainer/Toast/styles.ts","components/ToastContainer/Toast/index.tsx","components/ToastContainer/styles.ts","components/ToastContainer/index.tsx","hooks/toast.tsx","hooks/AuthContext.tsx","components/SocialShare/styles.ts","utils/CopyAndPaste/styles.ts","utils/CopyAndPaste/CopyToClipboard.tsx","components/SocialShare/index.tsx","hooks/SocialShareContext.tsx","Routes/route.tsx","utils/formatString.ts","utils/mask.ts","components/NoResult/styles.ts","components/NoResult/index.tsx","pages/FindCaregiver2/styles.ts","pages/FindCaregiver2/index.tsx","utils/mapIcon.ts","components/Header/styles.ts","components/Header/index.tsx","components/Button/styles.ts","components/Button/index.tsx","components/ContactModal/styles.ts","components/ContactModal/index.tsx","pages/CaregiverShare/styles.ts","pages/CaregiverShare/index.tsx","components/Input/styles.ts","components/Input/index.tsx","components/Input/masks.ts","components/Select/styles.ts","components/Select/customStyles.ts","components/Select/index.tsx","components/TextareaComponent/styles.ts","components/TextareaComponent/index.tsx","components/CheckboxInput/styles.ts","components/CheckboxInput/index.tsx","utils/getValidationsErrors.ts","pages/RegisterUser/options.ts","pages/RegisterUser/styles.ts","pages/RegisterUser/index.tsx","pages/Congrats/styles.ts","pages/Congrats/index.tsx","pages/SignIn/styles.ts","pages/SignIn/index.tsx","pages/Profile/styles.ts","pages/Profile/index.tsx","pages/V2/Dashboard/styles.ts","components/Sidebar/styles.ts","components/Sidebar/index.tsx","pages/V2/Dashboard/index.tsx","components/Tooltip/styles.ts","components/Tooltip/index.tsx","pages/EditProfile/styles.ts","pages/EditProfile/index.tsx","pages/EditProfilePassword/styles.ts","pages/EditProfilePassword/index.tsx","pages/ForgotPassword/styles.ts","pages/ForgotPassword/index.tsx","pages/ResetPassword/styles.ts","pages/ResetPassword/index.tsx","pages/Payments/styles.ts","pages/Payments/index.tsx","pages/V2/Partners/styles.ts","utils/mapIconHouse.ts","pages/V2/Partners/index.tsx","pages/V2/DashboardPartners/styles.ts","pages/V2/DashboardPartners/index.tsx","components/RegisterUserModal/styles.ts","components/RegisterUserModal/index.tsx","pages/RegisterUserABC/options.ts","pages/RegisterUserABC/styles.ts","pages/RegisterUserABC/index.tsx","pages/Payments/Monthly/styles.ts","pages/Payments/Monthly/index.tsx","pages/V2/SearchProfessionals/styles.ts","pages/V2/SearchProfessionals/SearchBox.tsx","pages/V2/SearchProfessionals/SearchProfessionals.tsx","Routes/index.tsx","App.tsx","index.tsx","images/circle.svg","images/background.png"],"names":["module","exports","createGlobalStyle","_ref","theme","css","colors","white","api","axios","create","baseURL","toastTypeVariations","info","success","error","Container","styled","animated","div","props","type","hasDescription","icons","React","createElement","FiInfo","size","FiAlertCircle","FiCheckCircle","Toast","message","style","removeToast","useToast","useEffect","timer","setTimeout","id","clearTimeout","description","title","onClick","FiXCircle","ToastContainer","messages","messagesWithTransitions","useTransition","from","right","opacity","enter","leave","map","_ref2","item","key","ToastContext","createContext","ToastProvider","children","setMessages","useState","addToast","useCallback","toast","uuidv4","state","filter","Provider","value","context","useContext","Error","AuthContext","AuthProvider","data","setData","token","localStorage","getItem","caregiver","defaults","headers","authorization","JSON","parse","signIn","async","email","password","response","post","setItem","stringify","signOut","removeItem","updateCaregiver","user","useAuth","WrapperContent","Content","TooltipStyle","CopyToClipboard","constructor","arguments","showTooltip","onCopy","content","this","setState","navigator","clipboard","writeText","handleOnTooltipClose","render","Tooltip","Object","assign","open","leaveDelay","onClose","TooltipProps","copy","SocialShare","shareURL","handleCloseSocialShare","useSocialShare","S","FiX","WhatsappShareButton","url","separator","WhatsappIcon","round","TelegramShareButton","TelegramIcon","FacebookShareButton","quote","FacebookIcon","TwitterShareButton","TwitterIcon","LinkedinShareButton","LinkedinIcon","EmailShareButton","subject","body","EmailIcon","SocialShareContext","SocialShareProvider","setShareURL","setOpen","setTitle","handleOpenSocialShare","slug","toggleSocialShare","prevState","Route","isPrivate","component","Component","rest","ReactDOMRoute","location","Redirect","to","pathname","getFirstAndMiddleName","fullName","nome","split","findSpace","indexOf","initialSecondName","concat","toUpperCase","capitalizeUserName","toLowerCase","mask","pattern","i","v","toString","replace","formatCurrency","String","Number","toLocaleString","currency","NoResult","FiSearch","FindCaregiver","history","useHistory","params","useParams","latitude","setLatitude","longitude","setLongitude","setCaregivers","genre","setGenre","formation","setFormation","occupation","setOccupation","cost","setCost","search","useLocation","cities","setCities","selectCities","setSelectCities","formattedData","get","city","formattedName","name","costFormatted","loadCaregivers","filterCity","saveEmployerInSession","caregiverSlug","push","then","retorno","find","locations","loadCities","Helmet","property","rel","href","className","onSubmit","event","preventDefault","queryString","URLSearchParams","genero","ocupacao","formacao","preco","Link","FiArrowLeft","onChange","newCity","target","required","index","e","length","verified","src","pro","alt","avatar_url","neighborhood","navigateToProfile","uf","window","navigateToWhatsapp","FaWhatsapp","mapIcon","L","icon","iconUrl","mapPinImg","iconSize","iconAnchor","popupAnchor","header","previousPage","back","Header","path","isPartner","includes","logoImg","logoABC","button","shade","Button","loading","CloseButton","SubmitButton","CheckBoxWrapper","_ref3","customStyles","top","left","bottom","marginRight","transform","background","color","borderRadius","width","maxWidth","border","padding","overlay","backgroundColor","paddingLeft","paddingRight","backdropFilter","ContactModal","isOpen","selectOption","setSelectOption","profileUrl","Modal","onRequestClose","contentLabel","placeholder","disabled","selected","htmlFor","main","WrapperShare","Avatar","DetailsContainer","section","WrapperMap","_ref4","WrapperCards","ContactButtons","ContactButton","_ref5","CaregiverShare","setCaregiver","isContactModalOpen","setIsContactModalOpen","res","fetch","method","Priority","Tags","Fragment","FiShare2","textTransform","bio","FiMail","Map","center","zoom","height","borderTopLeftRadius","borderTopRightRadius","dragging","touchZoom","zoomControl","scrollWheelZoom","doubleClickZoom","TileLayer","Marker","interactive","position","zIndexOffset","FiMapPin","FiCalendar","availability","FiShield","FiFlag","isFocused","isFilled","isErrored","isValid","Input","label","cepValidate","cpfErrorMessage","setIsFocused","setIsFilled","inputRef","useRef","fieldName","defaultValue","registerField","useField","ref","current","handleKeyUp","currentTarget","phoneMask","cepMask","handleInputFocus","handleInputBlur","_inputRef$current","onFocus","onBlur","onKeyUp","option","provided","isSelected","control","boxShadow","minHeight","fontSize","fontFamily","borderWidth","menu","selectProps","singleValue","isDisabled","indicatorSeparator","hasValue","container","input","display","textAlign","alignItems","default","Select","selectRef","getValue","isMulti","ReactSelect","styles","classNamePrefix","TextArea","textareaRef","_textareaRef$current","CheckboxInput","options","inputRefs","defaultChecked","getValidationErros","err","validationErrors","inner","forEach","optionsAvailability","optionsOccupation","optionsGenre","optionsEntity","WrapperToggleButton","warningText","checkboxOptions","RegisterUser","zip","setZip","address","setAddress","setNeighborhood","setCity","setUf","costValue","setCostValue","isActiveCoren","setIsActiveCore","setBio","birthday","setBirthday","userCPF","setUserCPF","setCpfErrorMessage","parceiro","setParceiro","avgCostPerShift","setAvgCostPerShift","isActiveAvgCostInfo","setIsActiveAvgCostInfo","setIsErrored","formRef","initialFormDatas","loadLocationData","venue","responseObject","handleToggle","getAvgCostPerShift","formattedAmount","Intl","NumberFormat","format","cep","erro","checkIfCepExists","cpf","cpfFormatted","validateCPF","Form","initialData","formattedFormData","numberHouse","whatsapp","origin","schema","Yup","shape","matches","trim","coren","min","max","test","moment","diff","validate","abortEarly","_formRef$current","errors","getValidationErrors","setErrors","maxLength","readOnly","data-date-format","_formRef$current2","_formRef$current3","setFieldError","_formRef$current4","warnMessage","_formRef$current5","selectedOption","cursor","marginBottom","alert","Wrapper","Title","text","Description","ConfettiComponent","Confetti","Congrats","FiLogIn","apperFromLeft","keyframes","AnimationContainer","SignIn","handleSubmit","HeaderContent","Profile","SignOutButton","sectionStyle","sectionInformationStyle","SectionBanner","VerifiedDocs","_ref6","PaymentButton","SectionAvatar","PersonalInformation","SupportButton","_ref7","ShareProfile","_ref8","dateFormatted","Date","maskPhone","maskCPF","maskZIP","maskCost","stripePromise","loadStripe","isCopied","setIsCopied","userEmailName","userEmailDomain","nameFormatted","FiLogOut","FiUploadCloud","payment_status","role","stripe","session","result","redirectToCheckout","sessionId","UpgradePlan","aside","bgimg","Main","SearchBox","Dataset","RSideBar","User","About","LSideBar","Menu","Sidebar","logo","Home","set","stroke","Lock","InfoSquare","Logout","Dashboard","layUserName","registry_code","street","number","additional_details","zipcode","country","FiMenu","Message","Notification","_await$result","_await$result2","console","log","Actions","Show","Send","Download","data-title","Label","WrapperSlugEdit","personalizeLink","span","UpdateButton","Information","defaultMessage","alerMessage","EditProfile","zipFormatted","setSlug","cpfMask","whatsappFormatted","phone","year","month","day","initialFormaData","fullDate","slugify","replacement","remove","put","handleAvatarChange","files","FormData","append","patch","imgNoProfile","FiCamera","multiple","accept","FiLink","FiEdit3","handleChange","EditProfilePassword","formData","old_password","when","is","val","otherwise","password_confirmation","oneOf","autoComplete","RecoveryPasswordButton","Background","signInBackground","ForgotPassword","setLoading","gerValidationErrors","ResetPassword","FiLock","Success","innerWidth","innerHeight","Name","Gallery","WrapperMap2","mapIconHouse","mapPinHouseImg","PartnerProfile","layNameBusiness","replaceAll","nameBusiness","isActive","setIsActive","FiShare","Heart","img1","FiArrowRight","img2","img3","img4","img5","FiCheck","rows","Metrics","DashboardPartners","RegisterUserModal","page","entity","permissionContact","existsAccount","RegisterUserABC","Section","Product","PaymentMonthly","Separator","Filters","ModalContainer","ModalHeader","ModalContentRegister","ModalContent","FilterOptions","CardContainer","Card","onSearch","geocoderRef","geocoderInstanceRef","marker","setMarker","searchAddress","setSearchAddress","geocoder","MapboxGeocoder","accessToken","mapboxgl","language","countries","on","geometry","coordinates","lng","lat","place_name","cityContext","newMarker","setLngLat","addTo","flyTo","essential","addControl","appendChild","onAdd","removeControl","inputElement","document","querySelector","setInput","filtersOptions","SearchProfessionals","professionals","setProfessionals","selectedProfessional","setSelectedProfessional","selectedFilter","setSelectedFilter","currentLocation","setCurrentLocation","isPendingFetch","setIsPendingFetch","mapContainerRef","mapRef","selectedMarkerRef","lineLayerRef","_mapRef$current","NavigationControl","_mapRef$current2","cidadePesquisa","getSearchCity","searchCity","fetchProfessionals","price","undefined","gender","profissional","cidade","encodeURIComponent","ok","status","json","markersRef","professional","parseFloat","isNaN","setPopup","Popup","offset","setHTML","charAt","slice","parseCost","lineCoordinates","getLayer","removeLayer","removeSource","addSource","properties","addLayer","source","layout","paint","filterFromUrl","filteredProfessionals","distance","calculateDistance","lat1","lng1","lat2","lng2","toRad","Math","PI","dLat","dLng","a","sin","cos","atan2","sqrt","sort","b","_a$distance","_b$distance","Infinity","costString","cleanedCost","handleSearch","place","features","feature","place_type","getCityFromCoordinates","isRegisterModalOpen","setIsRegisterModalOpen","isFilterModalOpen","setIsFilterModalOpen","openFilterModal","isOrderModalOpen","setIsOrderModalOpen","queryParams","costFromUrl","genreFromUrl","selectedOrder","setSelectedOrder","countFilters","sortProfessionals","order","sortByPhoto","_a$distance2","_b$distance2","countAppliedFilters","currentFilters","getUserLocation","geolocation","getCurrentPosition","coords","enableHighAccuracy","timeout","maximumAge","caregiverPage","FiSliders","delete","handleFilterClick","FiLayers","texto","toFixed","handleCardClick","Routes","BrowserRouter","Switch","exact","setAppElement","App","ThemeProvider","GlobalStyle","ReactDOM","getElementById"],"mappings":"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","file":"static/js/main.c3e0909e.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/pro.e6ce7840.png\";","module.exports = __webpack_public_path__ + \"static/media/locationIcon.b314b76b.svg\";","module.exports = __webpack_public_path__ + \"static/media/abc-logo.95460902.png\";","module.exports = __webpack_public_path__ + \"static/media/no-avatar.bd3e020f.png\";","module.exports = __webpack_public_path__ + \"static/media/banner-cuid.26d7ba8b.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/image-1.78252798.png\";","module.exports = __webpack_public_path__ + \"static/media/image-2.6ab46b0e.png\";","module.exports = __webpack_public_path__ + \"static/media/image-3.89cf6288.png\";","module.exports = __webpack_public_path__ + \"static/media/image-4.65876cea.png\";","module.exports = __webpack_public_path__ + \"static/media/image-5.aeecf5c6.png\";","module.exports = __webpack_public_path__ + \"static/media/logo-cuid.bf24b327.png\";","import { createGlobalStyle, css } from 'styled-components';\n\nimport 'leaflet/dist/leaflet.css';\n\nexport default createGlobalStyle`\n\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n border: 0;\n -webkit-font-smoothing: antialiased;\n }\n html {\n font-size: 62.5%; /* 1rem to equal 10px */\n }\n @media (max-width: 1080px) {\n html {\n font-size: 56.25%; /* 0.9rem to equal 9px */\n }\n }\n @media (max-width: 1024px) and (height: 1366px) {\n html {\n font-size: 62.5%; /* 1rem to equal 10px */\n }\n }\n @media (max-width: 720px) {\n html {\n font-size: 50%; /* 0.8rem to equal 8px */\n }\n }\n body {\n ${({ theme }) => css`\n color: ${theme.colors.white};\n background: ${theme.colors['shade-100']};\n `}\n }\n /* comitando */\n body,\n input,\n button,\n textarea,\n select {\n font-family: 'Poppins', sans-serif;\n font-weight: 300;\n font-size: 1.6rem;\n }\n button {\n cursor: pointer;\n }\n a {\n text-decoration: none;\n color: inherit;\n }\n\n .leaflet-container {\n z-index: 1;\n }\n\n /* .leaflet-pane .leaflet-marker-pane img {\n z-index: 0;\n } */\n\n .map-popup .leaflet-popup-content-wrapper {\n width: 30rem;\n\n display: flex;\n flex-direction: column;\n\n justify-content: center;\n align-items: center;\n }\n\n .map-popup .leaflet-popup-content {\n padding: 0;\n margin: 0;\n width: 100%;\n\n display: flex;\n flex-direction: column;\n\n justify-content: center;\n align-items: center;\n }\n\n .map-popup .leaflet-popup-tip-container {\n display: none;\n }\n .leaflet-container a.leaflet-popup-close-button {\n padding-top: 1rem;\n padding-right: 2.5rem;\n font-size: 3rem;\n }\n\n .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {\n display: none;\n}\n\n .leaflet-popup-content-wrapper, .leaflet-popup-tip {\n margin: 0;\n padding: 0;\n }\n\n .leaflet-marker-icon {\n z-index: 1 !important;\n }\n\n /* .modal--contact-report {\n z-index: 999999;\n } */\n`;\n","import { DefaultTheme } from 'styled-components';\n\nconst theme: DefaultTheme = {\n colors: {\n white: '#FFFFFF',\n\n 'shade-100': '#efefef',\n 'shade-150': '#f8f8fc',\n 'shade-300': '#777',\n 'shade-900': '#fff',\n\n 'green-600': '#04d361',\n 'green-900': '#1c3438',\n 'green-910': '#13b35e',\n\n 'blue-50': '#d3e2e5',\n 'blue-light-100': '#b3dae2',\n 'blue-light-120': '#b3dae29d',\n 'blue-light-900': '#0089a5',\n\n 'blue-shade-200': '#8fa7b3',\n 'blue-shade-300': '#1c3438',\n 'blue-shade-400': '#1c3438',\n 'blue-shade-700': '#3C4858',\n\n 'blue-dark-500': '#2d294e',\n\n 'red-800': '#F03442',\n },\n};\n\nexport { theme };\n","import axios from 'axios';\n\nconst api = axios.create({\n baseURL: 'https://api.cuid.com.br/',\n // baseURL: 'http://192.168.0.10:3333/',\n // baseURL: 'http://localhost:3333/',\n});\n\nexport default api;\n","import styled, { css } from 'styled-components';\nimport { animated } from 'react-spring';\n\ninterface ContainerProps {\n type?: 'success' | 'error' | 'info';\n hasDescription: 'active' | '';\n}\n\nconst toastTypeVariations = {\n info: css`\n background: #ebf8ff;\n color: #3172b7;\n `,\n success: css`\n background: #e6fffa;\n color: #13aa52;\n `,\n error: css`\n background: #fddede;\n color: #c53030;\n `,\n};\n\nexport const Container = styled(animated.div)`\n width: 360px;\n position: relative;\n padding: 16px 30px 16px 16px;\n border-radius: 10px;\n box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\n display: flex;\n & + div {\n margin-top: 8px;\n }\n ${props => toastTypeVariations[props.type || 'info']}\n > svg {\n margin: 4px 12px 0 0;\n }\n div {\n flex: 1;\n p {\n margin-top: 4px;\n font-size: 14px;\n opacity: 0.8;\n line-height: 20px;\n }\n }\n button {\n position: absolute;\n right: 16px;\n top: 19px;\n border: 0;\n background: transparent;\n color: inherit;\n }\n ${props =>\n props.hasDescription === 'active' &&\n css`\n align-items: center;\n svg {\n margin-top: 0;\n }\n `}\n`;\n","import React, { useEffect } from 'react';\nimport { Container } from './styles';\nimport { ToastMessage, useToast } from '../../../hooks/toast';\n\nimport {\n FiAlertCircle,\n FiCheckCircle,\n FiInfo,\n FiXCircle,\n} from 'react-icons/fi';\n\ninterface ToastProps {\n message: ToastMessage;\n style: object;\n}\n\nconst icons = {\n info: ,\n error: ,\n success: ,\n};\n\nconst Toast: React.FC = ({ message, style }) => {\n const { removeToast } = useToast();\n\n useEffect(() => {\n const timer = setTimeout(() => {\n removeToast(message.id);\n }, 3000);\n\n return () => {\n clearTimeout(timer);\n };\n }, [message.id, removeToast]);\n\n return (\n \n {icons[message.type || 'info']}\n\n
\n {message.title}\n {message.description &&

{message.description}

}\n
\n\n \n \n );\n};\n\nexport default Toast;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: absolute;\n right: 0;\n top: 0;\n padding: 30px;\n overflow: hidden;\n`;\n","import React from 'react';\nimport Toast from './Toast';\nimport { useTransition } from 'react-spring';\n\nimport { ToastMessage } from '../../hooks/toast';\nimport { Container } from './styles';\n\ninterface ToastContainerProps {\n messages: ToastMessage[];\n}\n\nconst ToastContainer: React.FC = ({ messages }) => {\n const messagesWithTransitions = useTransition(\n messages,\n message => message.id,\n {\n from: { right: '-120%', opacity: 0 },\n enter: { right: '0%', opacity: 1 },\n leave: { right: '-120%', opacity: 0 },\n },\n );\n return (\n \n {messagesWithTransitions.map(({ item, key, props }) => (\n \n ))}\n \n );\n};\n\nexport default ToastContainer;\n","import React, { createContext, useContext, useCallback, useState } from 'react';\nimport ToastContainer from '../components/ToastContainer';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport interface ToastMessage {\n id: string;\n type?: 'success' | 'error' | 'info';\n title: string;\n description?: string;\n}\n\ninterface ToastContextData {\n addToast(message: Omit): void;\n removeToast(id: string): void;\n}\n\nconst ToastContext = createContext({} as ToastContextData);\n\nconst ToastProvider: React.FC = ({ children }) => {\n const [messages, setMessages] = useState([]);\n\n const addToast = useCallback(\n ({ type, title, description }: Omit) => {\n const id = uuidv4();\n\n const toast = {\n id,\n type,\n title,\n description,\n };\n\n setMessages(state => [...state, toast]);\n },\n [],\n );\n\n const removeToast = useCallback((id: string) => {\n setMessages(state => state.filter(message => message.id !== id));\n }, []);\n\n return (\n \n {children}\n \n \n );\n};\n\nfunction useToast(): ToastContextData {\n const context = useContext(ToastContext);\n\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n\n return context;\n}\n\nexport { ToastProvider, useToast };\n","import React, { createContext, useCallback, useState, useContext } from 'react';\nimport api from '../services/api';\nimport { ToastProvider } from './toast';\n\ninterface User {\n id: string;\n slug: string;\n name: string;\n avatar_url: string;\n bio: string;\n email: string;\n whatsapp: string;\n cpf: string;\n zip: string;\n address: string;\n numberHouse: string;\n neighborhood: string;\n city: string;\n uf: string;\n longitude: number;\n latitude: number;\n birthday: string;\n occupation: string;\n cost: number;\n payment_status: boolean;\n availability: string;\n formation: string;\n genre: string;\n verified: boolean;\n created_at: string;\n}\n\ninterface AuthState {\n caregiver: User;\n token: string;\n}\n\ninterface SignInCredentials {\n email: string;\n password: string;\n}\n\ninterface AuthContextData {\n user: User;\n signIn(credentials: SignInCredentials): Promise;\n signOut(): void;\n updateCaregiver(caregiver: User): void;\n}\n\nconst AuthContext = createContext({} as AuthContextData);\n\n// eslint-disable-next-line react/prop-types\nconst AuthProvider: React.FC = ({ children }) => {\n const [data, setData] = useState(() => {\n const token = localStorage.getItem('@Cuid:token');\n const caregiver = localStorage.getItem('@Cuid:user');\n\n if (token && caregiver) {\n api.defaults.headers.authorization = `Bearer ${token}`;\n return { token, caregiver: JSON.parse(caregiver) };\n }\n\n return {} as AuthState;\n });\n\n const signIn = useCallback(async ({ email, password }) => {\n const response = await api.post('sessions', {\n email,\n password,\n });\n\n const { token, caregiver } = response.data;\n\n localStorage.setItem('@Cuid:token', token);\n localStorage.setItem('@Cuid:user', JSON.stringify(caregiver));\n\n setData({ token, caregiver });\n }, []);\n\n const signOut = useCallback(() => {\n localStorage.removeItem('@Cuid:token');\n localStorage.removeItem('@Cuid:user');\n\n setData({} as AuthState);\n }, []);\n\n const updateCaregiver = useCallback(\n async (caregiver: User) => {\n localStorage.setItem('@Cuid:user', JSON.stringify(caregiver));\n\n setData({\n token: data.token,\n caregiver,\n });\n },\n [data.token],\n );\n\n return (\n \n {children}\n \n );\n};\n\nfunction useAuth(): AuthContextData {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error('useAuth must be used within a AuthProvider');\n }\n\n return context;\n}\n\nexport { useAuth, AuthProvider };\n","import styled, { css } from 'styled-components';\n\nexport const Container = styled.div`\n background: rgba(0, 0, 0, 0.6);\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const WrapperContent = styled.div`\n ${({ theme }) => css`\n background: ${theme.colors.white};\n border-radius: 1rem;\n max-width: 600px;\n width: 100%;\n padding: 1.8rem;\n margin: 0 3.2rem;\n position: relative;\n `}\n`;\n\nexport const Content = styled.div`\n ${({ theme }) => css`\n > div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n strong {\n color: ${theme.colors['blue-shade-700']};\n font-size: 1.6rem;\n }\n\n button {\n font-size: 0;\n padding: 1rem;\n border: none;\n background: transparent;\n\n position: absolute;\n top: 0;\n right: 0;\n\n svg {\n width: 3.2rem;\n height: 3.2rem;\n color: ${theme.colors['shade-300']};\n }\n\n &:hover svg {\n filter: brightness(0.7);\n }\n }\n }\n\n section {\n display: flex;\n align-items: center;\n margin-top: 1rem;\n\n scroll-padding-left: 10%;\n overflow-x: auto;\n padding: 3.2rem 0;\n\n div {\n text-align: center;\n\n & + div {\n margin-left: 1.8rem;\n }\n\n svg {\n width: 2.5rem;\n height: 6rem;\n border-radius: 50%;\n\n transition: filter 0.2s;\n\n &:hover {\n filter: brightness(0.7);\n }\n }\n\n span {\n display: block;\n color: ${theme.colors['shade-900']};\n font-size: 1.3.2rem;\n }\n }\n }\n\n footer {\n width: 100%;\n margin-top: 3.2rem;\n padding-top: 3.2rem;\n border-top: 1px solid ${theme.colors['shade-300']};\n\n button {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border: 1px solid ${theme.colors['shade-150']};\n background: transparent;\n\n padding: 1rem;\n font-weight: 500;\n color: ${theme.colors['blue-light-900']};\n\n span {\n color: ${theme.colors['blue-shade-300']};\n\n max-width: 70%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:hover {\n opacity: 0.8;\n }\n }\n }\n `}\n`;\n","import styled from 'styled-components';\n\nexport const TooltipStyle = styled.div`\n.MuiButton-root {\n text-transform: lowercase;\n}\n`;\n","import Tooltip, { TooltipProps } from '@material-ui/core/Tooltip';\nimport { TooltipStyle } from './styles';\nimport * as React from 'react';\n\ninterface ChildProps {\n copy: (content: any) => void;\n}\n\ninterface Props {\n TooltipProps?: Partial;\n children: (props: ChildProps) => React.ReactElement;\n}\n\ninterface OwnState {\n showTooltip: boolean;\n}\n\n/**\n * Render prop component that wraps element in a Tooltip that shows \"Copied to clipboard!\" when the\n * copy function is invoked\n */\nclass CopyToClipboard extends React.Component {\n public state: OwnState = { showTooltip: false };\n\n public render() {\n return (\n \n \n {\n this.props.children({\n copy: this.onCopy,\n }) as React.ReactElement\n }\n \n \n );\n }\n\n private onCopy = (content: any) => {\n this.setState({ showTooltip: true });\n navigator.clipboard.writeText(content);\n };\n\n private handleOnTooltipClose = () => {\n this.setState({ showTooltip: false });\n };\n}\n\nexport default CopyToClipboard;\n","import React from 'react';\nimport {\n EmailIcon,\n EmailShareButton,\n FacebookIcon,\n FacebookShareButton,\n LinkedinIcon,\n LinkedinShareButton,\n TelegramIcon,\n TelegramShareButton,\n TwitterIcon,\n TwitterShareButton,\n WhatsappIcon,\n WhatsappShareButton,\n} from 'react-share';\nimport { FiX } from 'react-icons/fi';\n\nimport { useSocialShare } from '../../hooks/SocialShareContext';\n\nimport * as S from './styles';\nimport CopyToClipboard from '../../utils/CopyAndPaste/CopyToClipboard';\n\ntype SocialShareProps = {\n title?: string;\n};\n\nexport function SocialShare({ title }: SocialShareProps): JSX.Element {\n const { shareURL, handleCloseSocialShare } = useSocialShare();\n\n return (\n \n \n \n
\n Compartilhar:\n\n \n
\n\n
\n
\n \n \n \n\n WhatsApp\n
\n\n
\n \n \n \n\n Telegram\n
\n\n
\n \n \n \n\n Facebook\n
\n\n
\n \n \n \n\n Twitter\n
\n\n
\n \n \n \n\n Linkedin\n
\n\n
\n \n \n \n\n Email\n
\n
\n\n
\n \n {({ copy }) => (\n \n )}\n \n
\n
\n
\n
\n );\n}\n","import React, { createContext, ReactNode, useContext, useState } from 'react';\nimport { SocialShare } from '../components/SocialShare';\n\ntype ShareContextProviderProps = {\n children: ReactNode;\n};\n\ntype ShareContextData = {\n shareURL: string;\n open: boolean;\n handleOpenSocialShare: (slug: string) => void;\n toggleSocialShare: (slug: string, title: string) => void;\n handleCloseSocialShare: () => void;\n};\n\nconst SocialShareContext = createContext({} as ShareContextData);\n\nexport function SocialShareProvider({\n children,\n}: ShareContextProviderProps): JSX.Element {\n const [shareURL, setShareURL] = useState('');\n const [open, setOpen] = useState(false);\n const [title, setTitle] = useState('');\n\n function handleOpenSocialShare(slug: string) {\n setOpen(true);\n setShareURL(slug);\n }\n\n function handleCloseSocialShare() {\n setOpen(false);\n }\n\n function toggleSocialShare(slug: string, title: string) {\n setOpen(prevState => !prevState);\n setShareURL(slug);\n setTitle(title);\n }\n\n return (\n \n {children}\n {open && }\n \n );\n}\n\nexport const useSocialShare = () => useContext(SocialShareContext);\n","import React from 'react';\nimport {\n Route as ReactDOMRoute,\n RouteProps as ReactDOMROuterProps,\n Redirect,\n} from 'react-router-dom';\n\nimport { useAuth } from '../hooks/AuthContext';\n\ninterface RouteProps extends ReactDOMROuterProps {\n isPrivate?: boolean;\n component: React.ComponentType;\n}\n\nconst Route: React.FC = ({\n isPrivate = false,\n component: Component,\n ...rest\n}) => {\n const { user } = useAuth();\n\n return (\n \n isPrivate === !!user ? (\n \n ) : (\n \n )\n }\n />\n );\n};\n\nexport default Route;\n","export function getFirstAndMiddleName(fullName: string) {\n const [nome] = fullName.split(' ');\n\n const findSpace = fullName.indexOf(' ') + 1;\n if (findSpace < 0) {\n return nome;\n }\n\n let initialSecondName = fullName[findSpace].concat('.');\n return nome.concat(' ', initialSecondName).toUpperCase();\n}\n\nexport function capitalizeUserName(fullName: string) {\n return fullName.toLowerCase();\n}\n\nexport function getFormatNeighborhood(neighborhood: string) {\n const arr = neighborhood.split(' ');\n\n let formattedNeighborhood;\n\n if (arr.length < 2) {\n formattedNeighborhood = arr[0];\n }\n\n if (arr.length === 2) {\n formattedNeighborhood = arr[0].concat(' ', arr[1]);\n }\n\n if (arr.length >= 3) {\n formattedNeighborhood = arr[0].concat(` ${arr[1]}...`);\n }\n\n return formattedNeighborhood;\n};\n","export function mask(value: number | string, pattern: string) {\n let i = 0;\n const v = value.toString();\n\n return pattern.replace(/#/g, () => v[i++] || '');\n}\n\n\nexport function formatCurrency(value: number | string) {\n\n value = String(value).replace(/\\D/g, '');\n\n value = Number(value) / 100\n\n value = value.toLocaleString('pt-BR', {\n style: \"currency\",\n currency: 'BRL'\n })\n\n return value;\n}\n\nexport function cpfMask(\n value: string,\n): string {\n let cpf;\n\n cpf = value.replace(/\\D/gi, '');\n cpf = value.replace(/^(\\d{3})(\\d{3})(\\d{3})(\\d{2})/g, '$1.$2.$3-$4');\n\n return cpf;\n}\n\nexport function phoneMask(\n value: string,\n): string {\n let phone;\n\n phone = value.replace(/\\D/gi, '');\n phone = value.replace(/^(\\d{2})(\\d{5})(\\d{4})/g, '($1) $2-$3');\n\n return phone;\n ;\n}\n\n\nexport function cepMask(\n value: string,\n): string {\n let cep;\n\n cep = value.replace(/\\D/gi, '');\n cep = value.replace(/(\\d{5})(\\d{3})/g, '$1-$2');\n\n return cep;\n}\n\n// 00/00\nexport function expiresCardMask(\n value: string,\n): string {\n\n let expiresCard;\n expiresCard = value.replace(/\\D/g, '')\n expiresCard = value.replace(/(\\d{2})(\\d)/, \"$1/$2\")\n expiresCard = value.replace(/(\\d{2})(\\d)/, \"$1/$2\")\n expiresCard = value.replace(/(\\d{2})(\\d)/, \"$1/$2\")\n\n return expiresCard;\n}\n\n// 0000 0000 0000 0000\nexport function creditCardMask(\n value: string,\n): string {\n\n let creditCard;\n creditCard = value.replace(/\\D/g, '')\n creditCard = value.replace(/(\\d{2})(\\d)/, \"$1/' '/$2\")\n creditCard = value.replace(/(\\d{2})(\\d)/, \"$1 $2\")\n creditCard = value.replace(/(\\d{4})(\\d)/, \"$1 $2\")\n\n return creditCard;\n}\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n margin: 32rem 0;\n padding: 2rem 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n border: 2px dashed #ddd;\n border-radius: 8px;\n text-align: center;\n\n svg {\n height: 80px;\n width: 80px;\n margin-bottom: 2rem;\n padding: 2rem;\n background: #ddd;\n border-radius: 50%;\n color: #0118;\n }\n`;\n","import React from 'react';\nimport { FiSearch } from 'react-icons/fi';\n\nimport * as S from './styles';\n\nfunction NoResult() {\n\n return (\n \n \n

Tente mudar os filtros selecionados para encontrar novos resultados.

\n
\n\n\n );\n}\nexport default NoResult;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n h1, h2, h3, h4, h5 {\n font-family: 'Poppins', sans-serif;\n color: var(--grey-900);\n line-height: 25px;\n }\n\n background: #fff;\n margin: 0;\n padding: 0;\n color: #1c3438;\n overflow-x: hidden;\n\n width: 100%;\n height: 100vh;\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n small {\n padding: 1rem 0;\n }\n\n .sidebar,\n .mapa {\n width: 50vw;\n height: 100vh;\n }\n\n .mapa {\n flex: 1;\n }\n\n .sidebar {\n padding: 3rem;\n\n width: 50%;\n }\n\n .sidebar .filters {\n margin: 2rem 0;\n width: 100%;\n display: flex;\n justify-content: flex-start;\n\n select,\n input {\n color: rgb(119, 119, 119);\n margin-right: 2rem;\n padding: 1rem;\n border-radius: 8px;\n width: 100%;\n border: 1px solid #ddd;\n background: rgb(248,248,252);\n outline: 0;\n cursor: pointer;\n }\n\n select:last-child {\n margin-right: 0;\n }\n }\n\n .topbar {\n background: #fff;\n width: 50%;\n top: 0;\n left: 0;\n padding: 2rem;\n position: fixed;\n\n a {\n display: flex;\n align-items: center;\n }\n\n .topbar-row {\n margin-top: 1.5rem;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n\n\n\n select {\n background: inherit;\n outline: 0;\n padding-top: 0.5rem;\n margin-left: .3rem;\n font-size: 2.2rem;\n font-weight: bold;\n width: fit-content;\n }\n\n }\n\n .cityInList {\n border: 0;\n margin-left: .3rem;\n background: inherit;\n font-size: 2.5rem;\n outline: 0;\n }\n }\n\n .sidebar .topbar button {\n margin-top: 1rem;\n height: 6rem;\n width: 100%;\n cursor: pointer;\n border-radius: 8px;\n color: #fff;\n transition: .2s;\n background: rgb(4,211,97);\n font-weight: bold;\n bottom: 0;\n\n &:hover {\n background: rgb(4,211,97, .8);\n }\n }\n\n .list {\n margin-top: 34rem;\n width: 100%;\n\n display: flex;\n justify-content: space-between;\n }\n\n .list-card {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n width: 100%;\n gap: 2rem;\n }\n\n .card {\n width: 47%;\n padding: 2rem ;\n border: 1px solid #ddd;\n border-radius: 10px;\n line-height: 2.8rem;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n transition: .2s;\n box-shadow: 0 2px 9px 0 rgb(158 184 209 / 41%);\n\n\n &:hover {\n background: rgb(4,211,97, .1);\n transition: .2s;\n border-color: rgb(4,211,97, 1);\n cursor: pointer;\n }\n\n > img {\n width: 100px;\n height: 100px;\n border-radius: 50%;\n object-fit: cover;\n margin-top: 3rem;\n }\n\n .badge-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n gap: 1rem;\n height: 40px;\n\n color: rgb(5,150,105);\n background: rgb(240,255,244);\n border-radius: 50px;\n\n & img {\n width: 35px;\n height: 35px;\n }\n }\n\n .npro {\n color:rgb(28, 52, 56);\n background: transparent;\n height: 0px;\n\n }\n\n strong {\n font-size: 2rem;\n }\n\n\n\n .name {\n font-size: 1.7rem;\n font-weight: 700;\n }\n\n .occupation {\n margin-top: 1.35rem;\n font-size: 1.4rem;\n }\n\n .price {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 1.35rem;\n bottom: 0;\n\n strong {\n font-size: 1.7rem;\n }\n }\n\n .inline-btn {\n width: 100%;\n display: flex;\n gap: 1rem;\n\n }\n\n #profile {\n background: transparent;\n color: rgb(4,211,97);\n border: 1px solid rgb(4,211,97);\n }\n\n button {\n margin: 1rem 0;\n height: 5rem;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n cursor: pointer;\n border-radius: 8px;\n color: #fff;\n transition: .2s;\n background: rgb(4,211,97);\n font-weight: bold;\n font-size: 1.3rem;\n bottom: 0;\n\n &:hover {\n background: rgb(4,211,97, .8);\n }\n }\n\n .neighborhood {\n font-size: 1.35rem;\n line-height: 1.7rem;\n margin: 1.5rem 0;\n height: 5rem;\n color: rgb(119, 119, 119);\n text-align: center;\n }\n }\n\n hr {\n margin: 2.5rem 0;\n border: .5px solid #ddd;\n height: 1px;\n padding: 0;\n}\n\n .mapa {\n background: rgb(4,211,97, .1);\n position: fixed;\n right: 0;\n flex: 1;\n }\n\n @media (max-width: 1024px) {\n\n .mapa {\n display: none;\n }\n\n .sidebar {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n small {\n font-size: 2rem;\n }\n\n .topbar {\n position: relative;\n width: 100%;\n height: 0;\n }\n\n .topbar-row {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n }\n\n .list-card {\n margin-top: 5rem;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n\n .card {\n margin-top: 2rem;\n width: 90%;\n\n .occupation,\n .name,\n .neighborhood,\n .price {\n font-size: 2rem;\n line-height: 3.5rem;\n }\n }\n }\n }\n }\n\n @media (max-width: 830px) {\n .mapa {\n display: none;\n }\n\n .sidebar {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n small {\n font-size: 2rem;\n }\n\n .topbar {\n position: relative;\n width: 100%;\n margin-bottom: 10rem;\n height: 0;\n\n .filters {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n width: 100%;\n flex-wrap: wrap;\n }\n #city {\n width: 100%;\n }\n select {\n margin: 0;\n padding: 0;\n width: 48%;\n height: 45px;\n }\n\n select:nth-child(3),\n select:nth-child(4) {\n margin-top: 2rem;\n }\n }\n\n .list-card {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n\n .card {\n margin-top: 5rem;\n width: 90%;\n\n .occupation,\n .name,\n .neighborhood,\n .price {\n font-size: 2rem;\n line-height: 3.5rem;\n }\n }\n }\n }\n }\n`;\n\nexport const InformationContainer = styled.div`\n width: 25rem;\n margin: 2rem;\n padding: 0rem;\n font-family: 'Poppins', sans-serif;\n font-size: 2rem;\n color: #1c3438;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n line-height: 2.5rem;\n text-align: center;\n\n span {\n font-size: 2rem;\n line-height: 3rem;\n }\n\n strong {\n margin: 1rem 0;\n font-size: 2.2rem;\n line-height: 2.5rem;\n text-align: center;\n color: #1c3438;\n }\n\n > img {\n margin: 2.5rem 0;\n width: 120px;\n height: 120px;\n object-fit: cover;\n border-radius: 50%;\n }\n\n button {\n margin-top: 1rem;\n height: 6rem;\n width: 100%;\n cursor: pointer;\n border-radius: 8px;\n color: #fff;\n transition: .2s;\n background: rgb(4,211,97);\n font-weight: bold;\n bottom: 0;\n\n &:hover {\n background: rgb(4,211,97, .8);\n }\n }\n\n`;\n","import React, { useEffect, useState } from 'react';\nimport { Link, useHistory, useLocation, useParams } from 'react-router-dom';\n// import { Map, TileLayer, Marker, Popup } from 'react-leaflet';\nimport mapIcon from '../../utils/mapIcon';\nimport { Helmet } from 'react-helmet';\nimport api from '../../services/api';\nimport { getFirstAndMiddleName } from '../../utils/formatString';\nimport { formatCurrency } from '../../utils/mask';\nimport NoResult from '../../components/NoResult';\nimport * as S from './styles';\nimport axios from 'axios';\nimport { FiArrowLeft } from 'react-icons/fi';\nimport { FaWhatsapp } from 'react-icons/fa';\nimport pro from '../../images/pro.png';\nconst logo = '../src/images/logo-cuid.png';\n\ninterface Caregiver {\n verified: string;\n id: number;\n avatar_url: string;\n name: string;\n formattedName: string;\n whatsapp: string;\n neighborhood: string;\n city: string;\n uf: string;\n latitude: number;\n longitude: number;\n formation: string;\n occupation: string;\n genre: string;\n slug: string;\n cost: string;\n costFormatted: string;\n payment_status: boolean;\n}\n\ninterface CaregiverParams {\n city: string;\n}\n\ninterface CitiesList {\n nome: string;\n latitude: number;\n longitude: number;\n}\n\ninterface AllCities {\n index: number;\n city: string;\n}\n\nfunction FindCaregiver() {\n const history = useHistory();\n const imgNoProfile = 'https://app-cuid.s3.amazonaws.com/no-avatar.png';\n const params = useParams();\n const [latitude, setLatitude] = useState(Number(0));\n const [longitude, setLongitude] = useState(Number(0));\n const [caregiver, setCaregivers] = useState([]);\n const [genre, setGenre] = useState('');\n const [formation, setFormation] = useState('');\n const [occupation, setOccupation] = useState('');\n const [cost, setCost] = useState('');\n const { search, pathname } = useLocation();\n const [cities, setCities] = useState('');\n\n const [selectCities, setSelectCities] = useState([]); // retornar cidades dos cuidadores\n\n useEffect(() => {\n async function loadCaregivers() {\n const response = await api.get(\n `/cadastro/profissionais/busca/${params.city}${search}`,\n );\n\n const formattedData = response.data.caregiver.map(\n (caregiver: Caregiver) => {\n return {\n ...caregiver,\n formattedName: getFirstAndMiddleName(caregiver.name),\n costFormatted: formatCurrency(caregiver.cost),\n };\n },\n );\n setCaregivers(formattedData);\n }\n loadCaregivers();\n }, [params.city, search]);\n\n const filterCity = pathname.replace('/busca/', '');\n\n function handleApplyFilters(event: React.FormEvent) {\n event.preventDefault(); // Adicione isso para prevenir o comportamento padrão do formulário\n\n const queryString = new URLSearchParams({\n genero: genre,\n ocupacao: occupation,\n formacao: formation,\n preco: cost,\n }).toString();\n\n history.push(`/busca/${cities || filterCity}?${queryString}`);\n }\n\n useEffect(() => {\n axios\n .get(\n 'https://raw.githubusercontent.com/kelvins/Municipios-Brasileiros/main/json/municipios.json',\n )\n .then(response => {\n const retorno = response.data.find(name => name.nome === filterCity);\n\n if (!retorno) {\n return ;\n }\n\n const { latitude, longitude } = retorno;\n setLatitude(Number(latitude));\n setLongitude(Number(longitude));\n });\n }, [filterCity]);\n\n useEffect(() => {\n async function loadCities() {\n const response = await api.get('/cadastro/profissionais/locations');\n\n const formattedData = response.data.locations.map((city: AllCities) => {\n return {\n city,\n };\n });\n setSelectCities(formattedData);\n }\n loadCities();\n }, []);\n\n function handleCityChange(event: React.ChangeEvent) {\n const newCity = event.target.value;\n setCities(newCity);\n }\n\n function saveEmployerInSession(caregiverSlug: string) {\n localStorage.setItem('@Cuid:page', `/me/${caregiverSlug}`);\n localStorage.setItem('@Cuid:city', filterCity);\n history.push('/cadastro/contratante');\n }\n\n function navigateToProfile(caregiverSlug: string) {\n const existsAccount = localStorage.getItem('@Cuid:contratante');\n if (!existsAccount) {\n saveEmployerInSession(caregiverSlug);\n } else {\n history.push(`/me/${caregiverSlug}`);\n }\n }\n\n function navigateToWhatsapp(\n caregiverSlug: string,\n name: string,\n occupation: string,\n city: string,\n uf: string,\n ) {\n const existsAccount = localStorage.getItem('@Cuid:contratante');\n if (!existsAccount) {\n saveEmployerInSession(caregiverSlug);\n } else {\n window.open(\n `https://wa.me/5511959984119?text=Ol%C3%A1!%0A%0AGostaria%20de%20mais%20informa%C3%A7%C3%B5es%20referente%20ao%20profissional%20abaixo:%0A%0ANome%20do%20Profissional: ${\n name.split(' ')[0]\n }%0ACargo: ${occupation}%0ACidade: ${city}%0AUF: ${uf}%0ALink do perfil: http://app.cuid.com.br/me/${caregiverSlug}`,\n );\n }\n }\n\n return (\n \n \n Cuid | Encontre cuidadores em {filterCity}\n \n \n \n \n \n \n
\n
\n
\n \n \n Voltar\n \n
\n

Encontrar profissionais em

\n \n \n {selectCities.map((selectCities, index) => (\n \n ))}\n \n
\n
\n setGenre(e.target.value)}\n >\n \n \n \n \n\n setOccupation(e.target.value)}\n >\n \n \n \n \n \n \n\n setCost(e.target.value)}\n >\n \n \n \n \n \n \n
\n \n
\n
\n \n {' '}\n {caregiver.length}\n {caregiver.length > 1\n ? ' profissionais disponíveis'\n : ' profissional disponível'}\n \n
\n
\n\n {!caregiver.length ? (\n \n ) : (\n
\n
\n {caregiver.map(caregiver => {\n return (\n
\n {caregiver.verified ? (\n
\n Profissional Verificado\n \"Usuário\n
\n ) : (\n
\n \n
\n )}\n {caregiver.avatar_url ? (\n \n ) : (\n \"Profissional\n )}\n

\n {caregiver.genre === 'Feminino' &&\n caregiver.occupation === 'Cuidador de Idosos'\n ? 'Cuidadora de Idosos'\n : caregiver.occupation}\n

\n

{caregiver.formattedName}

\n

{caregiver.neighborhood}

\n
\n

\n A partir de {caregiver.costFormatted}\n

\n
\n
\n navigateToProfile(caregiver.slug)}\n >\n Ver mais\n \n \n navigateToWhatsapp(\n caregiver.slug,\n caregiver.name,\n caregiver.occupation,\n caregiver.city,\n caregiver.uf,\n )\n }\n >\n Contatar via \n \n
\n
\n );\n })}\n
\n
\n )}\n
\n
MAPA
\n
\n );\n}\n\nexport default FindCaregiver;\n","import L from 'leaflet';\n\nimport mapPinImg from '../assets/locationIcon.svg';\n\nconst mapIcon = L.icon({\n iconUrl: mapPinImg,\n iconSize: [120, 120],\n iconAnchor: [29, 68],\n popupAnchor: [105, -20],\n});\n\nexport default mapIcon;\n","import styled, { css } from 'styled-components';\n\nexport const Container = styled.header`\n ${({ theme }) => css`\n padding: 0.2rem 0;\n background: ${theme.colors.white};\n box-shadow: 0 2px 9px 0 rgb(158 184 209 / 41%);\n `}\n`;\n\nexport const Content = styled.div`\n ${({ theme }) => css`\n max-width: 1120px;\n margin: 0 auto;\n padding: 0 3.2rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n img {\n width: 11rem;\n }\n\n a, button {\n display: flex;\n align-items: center;\n background: transparent;\n color: ${theme.colors['green-900']};\n font-size: 1.8rem;\n\n padding: 3rem 0 3rem 3.2rem;\n\n transition: filter 0.2s;\n }\n\n svg {\n margin-right: 1rem;\n width: 2.5rem;\n height: 2.5rem;\n }\n\n a:hover,\n button:hover {\n filter: brightness(0.8);\n }\n `}\n`;\n\n","import React from 'react';\nimport { FiArrowLeft } from 'react-icons/fi';\n\nimport logoImg from '../../images/logo-cuid.png';\nimport logoABC from '../../images/abc-logo.png';\n\nimport * as S from './styles';\n\ntype HeaderProps = {\n path?: string;\n};\n\nfunction previousPage() {\n window.history.back()\n}\n\nexport default function Header({ path }: HeaderProps): JSX.Element {\n const isPartner = window.location.pathname.includes('abc-cuidadores');\n\n return (\n \n \n \"Logo\n {isPartner && \"Logo}\n\n \n \n \n );\n}\n","import styled, { css } from 'styled-components';\nimport { shade } from 'polished';\n\nexport const Container = styled.button`\n ${({ theme }) => css`\n background: ${theme.colors['green-600']};\n height: 5.6rem;\n border-radius: 1rem;\n border: 0;\n padding: 0 16px;\n color: ${theme.colors.white};\n width: 100%;\n font-weight: bold;\n /* margin-top: 16px; */\n transition: background-color 0.2s;\n &:hover {\n background: ${shade(0.2, theme.colors['green-600'])};\n cursor: pointer;\n }\n `}\n`;\n","import React, { ButtonHTMLAttributes } from 'react';\n\nimport { Container } from './styles';\n\ntype ButtonProps = ButtonHTMLAttributes & {\n loading?: boolean;\n};\n\nconst Button: React.FC = ({ children, loading, ...rest }) => (\n \n {loading ? 'Carregando...' : children}\n \n);\n\nexport default Button;","import styled, { css } from 'styled-components';\n\nimport Button from '../Button';\n\nexport const CloseButton = styled.button`\n ${({ theme }) => css`\n font-size: 0;\n border: none;\n background: transparent;\n\n position: absolute;\n top: 2rem;\n right: 2rem;\n\n svg {\n width: 2rem;\n height: 2rem;\n color: ${theme.colors['blue-shade-400']};\n }\n `}\n`;\n\nexport const Container = styled.div`\n ${({ theme }) => css`\n padding: 4rem 5.6rem;\n border-radius: 1.2rem;\n background: ${theme.colors.white};\n position: relative;\n\n form {\n display: flex;\n flex-direction: column;\n }\n\n select,\n textarea,\n input + input {\n margin-top: 2rem;\n }\n\n select {\n option.option-placeholder {\n color: ${theme.colors['shade-300']}\n }\n }\n\n select,\n textarea,\n input {\n width: 100%;\n padding: 0 1.6rem;\n height: 5.6rem;\n font-family: 'Poppins', sans-serif;\n font-size: 1.8rem;\n color: #1c3438;\n background: rgb(248, 248, 252);\n border-radius: 0.8rem;\n border: none;\n outline: 0;\n }\n\n input:-webkit-autofill {\n -webkit-box-shadow: 0 0 0px 1000px white inset;\n }\n\n textarea {\n height: 10rem;\n resize: none;\n padding: 1.6rem;\n }\n `}\n`;\nexport const SubmitButton = styled(Button)`\n max-width: 30rem;\n margin-top: 2rem;\n`;\n\nexport const CheckBoxWrapper = styled.div`\n ${({ theme }) => css`\n margin-top: 2rem;\n display: flex;\n align-items: center;\n position: relative;\n\n input {\n -webkit-appearance: none;\n width: 3rem;\n height: 3rem;\n border: 1px solid ${theme.colors['blue-50']};\n border-radius: 1rem;\n vertical-align: sub;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n outline: none;\n\n &:checked {\n background-color: ${theme.colors['green-600']};\n border-color: ${theme.colors['green-600']};\n\n & + label {\n color: ${theme.colors['blue-shade-200']};\n font-weight: 600;\n background-color: hsl(0, 0%, 97%);\n }\n\n &:focus,\n &:hover {\n box-shadow: 0 0 0 3px ${theme.colors['green-600']};\n border-color: ${theme.colors['green-600']};\n }\n }\n\n &:after {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjZmZmZmZmIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgdmVyc2lvbj0iMS4xIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPmljb25fYnlfUG9zaGx5YWtvdjEwPC90aXRsZT48ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz48ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyBmaWxsPSIjZmZmZmZmIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNi4wMDAwMDAsIDI2LjAwMDAwMCkiPjxwYXRoIGQ9Ik0xNy45OTk5ODc4LDMyLjQgTDEwLjk5OTk4NzgsMjUuNCBDMTAuMjI2Nzg5MSwyNC42MjY4MDE0IDguOTczMTg2NDQsMjQuNjI2ODAxNCA4LjE5OTk4Nzc5LDI1LjQgTDguMTk5OTg3NzksMjUuNCBDNy40MjY3ODkxNCwyNi4xNzMxOTg2IDcuNDI2Nzg5MTQsMjcuNDI2ODAxNCA4LjE5OTk4Nzc5LDI4LjIgTDE2LjU4NTc3NDIsMzYuNTg1Nzg2NCBDMTcuMzY2ODIyOCwzNy4zNjY4MzUgMTguNjMzMTUyOCwzNy4zNjY4MzUgMTkuNDE0MjAxNCwzNi41ODU3ODY0IEw0MC41OTk5ODc4LDE1LjQgQzQxLjM3MzE4NjQsMTQuNjI2ODAxNCA0MS4zNzMxODY0LDEzLjM3MzE5ODYgNDAuNTk5OTg3OCwxMi42IEw0MC41OTk5ODc4LDEyLjYgQzM5LjgyNjc4OTEsMTEuODI2ODAxNCAzOC41NzMxODY0LDExLjgyNjgwMTQgMzcuNzk5OTg3OCwxMi42IEwxNy45OTk5ODc4LDMyLjQgWiI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\");\n background-size: 40px;\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:focus,\n &:hover {\n box-shadow: 0 0 0 3px rgba(60, 220, 140, 0.2);\n border-color: ${theme.colors['green-600']};\n }\n }\n\n label {\n margin-left: 4rem;\n color: ${theme.colors['blue-shade-400']};\n }\n `}\n`;\n","import React, { useState } from 'react';\nimport Modal from 'react-modal';\nimport { FiX } from 'react-icons/fi';\n\nimport * as S from './styles';\nimport { theme } from '../../styles/theme';\n\nconst customStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n background: 'transparent',\n color: '#000000',\n borderRadius: '0',\n width: '100%',\n maxWidth: '100rem',\n border: 'none',\n padding: '0',\n },\n overlay: {\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n paddingLeft: '4px',\n paddingRight: '4px',\n backdropFilter: 'blur(8px)',\n },\n};\n\ntype ModalProps = {\n isOpen: boolean;\n onClose: () => void;\n}\n\nexport default function ContactModal({ isOpen, onClose }: ModalProps) {\n const [selectOption, setSelectOption] = useState('');\n\n const profileUrl = window.location.href;\n\n return (\n \n \n onClose()}>\n \n soefiwoeifjwoefij\n \n\n
\n \n\n\n \n\n \n\n\n \n\n\n setSelectOption(event.target.value)}\n >\n Qual motivo?\n \n \n \n \n \n \n\n \n\n\n \n\n\n \n \n\n \n\n \n\n \n Enviar\n \n \n
\n \n );\n}\n","import { shade } from 'polished';\nimport styled, { css } from 'styled-components';\n\nexport const Container = styled.div`\n padding: 5rem 3.2rem;\n\n @media (max-width: 600px) {\n padding: 3.2rem 3.2rem;\n height: 210rem;\n }\n`;\n\nexport const Content = styled.main`\n ${({ theme }) => css`\n margin: 0 auto;\n padding: 7rem;\n max-width: 800px;\n border-radius: 1.2rem;\n border: 1px solid #eee;\n background: #fff;\n box-shadow: 0 2px 9px 0 rgb(158 184 209 / 41%);\n\n @media (max-width: 800px) {\n padding: 6rem;\n }\n\n @media (max-width: 700px) {\n padding: 5rem;\n }\n\n @media (max-width: 600px) {\n padding: 2.5rem;\n }\n\n @media (max-width: 500px) {\n padding: 3.2rem;\n }\n `}\n`;\n\nexport const WrapperShare = styled.div`\n ${({ theme }) => css`\n button {\n background: transparent;\n border: none;\n font-size: 1.2.5rem;\n font-weight: bold;\n color: ${theme.colors['blue-shade-400']};\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n margin-right: 0.8rem;\n width: 2.5rem;\n height: 2.5rem;\n }\n\n &:hover {\n filter: brightness(0.8);\n }\n }\n `}\n`;\n\nexport const Avatar = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 2.5rem 0;\n\n img {\n width: 25rem;\n height: 25rem;\n border-radius: 50%;\n object-fit: cover;\n }\n`;\n\nexport const DetailsContainer = styled.section`\n ${({ theme }) => css`\n h1 {\n color: ${theme.colors['blue-shade-400']};\n font-size: 5.2.5rem;\n line-height: 5.2.5rem;\n margin-bottom: 0.8rem;\n }\n\n p {\n margin-top: 2.5rem;\n line-height: 2.8rem;\n color: ${theme.colors['blue-shade-300']};\n }\n\n h2 {\n margin-top: 2.5rem;\n font-size: 3.6rem;\n line-height: 6rem;\n color: ${theme.colors['blue-shade-400']};\n }\n\n @media (max-width: 600px) {\n h1 {\n font-size: 5rem;\n }\n\n h2 {\n font-size: 2.3.2rem;\n }\n }\n\n @media (max-width: 500px) {\n h1 {\n font-size: 2.5rem;\n }\n\n h2 {\n font-size: 3.2rem;\n }\n }\n `}\n`;\n\nexport const WrapperMap = styled.section`\n ${({ theme }) => css`\n margin-top: 5rem;\n background: ${theme.colors['blue-light-120']};\n border: 1px solid ${theme.colors['blue-light-100']};\n border-radius: 3.2rem;\n\n footer {\n padding: 3.2rem 0;\n line-height: 2.5rem;\n color: ${theme.colors['blue-light-900']};\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n margin-right: 1rem;\n width: 2.5rem;\n height: 2.5rem;\n }\n }\n\n @media (max-width: 420px) {\n font-size: 1.2.5rem;\n\n svg {\n width: 3.2rem;\n height: 3.2rem;\n }\n }\n `}\n`;\n\nexport const WrapperCards = styled.section`\n margin-top: 3.2rem;\n display: flex;\n align-items: center;\n gap: 3.2rem;\n\n div {\n width: 100%;\n min-height: 20rem;\n height: auto;\n padding: 3.2rem 2.5rem;\n border-radius: 3.2rem;\n line-height: 2.8rem;\n\n background: linear-gradient(154.16deg, #edfff6 7.85%, #ffffff 91.03%);\n border: 1px solid #a1e9c5;\n color: #37c77f;\n\n display: flex;\n flex-direction: column;\n\n svg {\n margin-bottom: 3.2rem;\n width: 3.2rem;\n height: 3.2rem;\n }\n\n .hour {\n background: linear-gradient(149.97deg, #e6f7fb 8.13%, #ffffff 92.67%);\n border: 1px solid #b3dae2;\n color: #1c3438;\n }\n\n .dont-open {\n background: linear-gradient(154.16deg, #fdf8f5 7.85%, #ffffff 91.03%);\n border: 1px solid #ffbcd4;\n color: #ff6690;\n\n svg {\n color: #ff6690;\n }\n }\n }\n\n @media (max-width: 600px) {\n flex-direction: column;\n\n margin-top: 2rem;\n padding-top: 5.2rem;\n }\n`;\n\nexport const ContactButtons = styled.div`\n margin-top: 5rem;\n\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n gap: 3.2rem;\n\n button {\n max-width: 50%;\n width: 100%;\n height: 5rem;\n padding: 0 1.8rem;\n border: 0;\n cursor: pointer;\n background: rgb(4, 211, 97);\n border-radius: 1rem;\n color: #ffffff;\n font-weight: 600;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n transition: background-color 0.2s;\n\n > svg {\n margin-right: 1rem;\n width: 2.5rem;\n height: 2.5rem;\n color: #ffffff;\n }\n\n &:hover {\n background: ${shade(0.2, '#3cdc8c')};\n }\n\n &:last-child {\n background: #1c3438;\n\n &:hover {\n background: ${shade(0.2, '#1c3438')};\n }\n }\n }\n\n @media (max-width: 610px) {\n flex-direction: column;\n position: fixed;\n float: left;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n padding: 1rem;\n gap: 1rem;\n justify-content: left;\n align-items: left;\n z-index: 10;\n background: #fff;\n\n button {\n max-width: 100%;\n height: 7rem;\n border-radius: 4px;\n font-size: 2rem;\n\n svg {\n width: 3rem;\n height: 3rem;\n left: 0;\n }\n }\n }\n`;\n\nexport const ContactButton = styled.button`\n ${({ theme }) => css`\n margin: 4rem auto 0;\n border: none;\n border-radius: 5rem;\n background: transparent;\n color: ${theme.colors['blue-shade-400']};\n display: flex;\n align-items: center;\n gap: 1rem;\n svg {\n width: 2rem;\n height: 2rem;\n }\n `}\n`;\n","import React, { useEffect, useState } from 'react';\n\nimport { FaWhatsapp } from 'react-icons/fa';\nimport {\n FiCalendar,\n FiInfo,\n FiMapPin,\n FiShield,\n FiMail,\n FiShare2,\n FiFlag,\n} from 'react-icons/fi';\nimport { Map, Marker, TileLayer } from 'react-leaflet';\nimport { useParams } from 'react-router-dom';\n\nimport api from '../../services/api';\n\nimport mapIcon from '../../utils/mapIcon';\nimport { formatCurrency } from '../../utils/mask';\n\nimport Header from '../../components/Header';\nimport ContactModal from '../../components/ContactModal';\n\nimport * as S from './styles';\nimport { useSocialShare } from '../../hooks/SocialShareContext';\nimport { getFirstAndMiddleName } from '../../utils/formatString';\ninterface Caregiver {\n id: number;\n name: string;\n latitude: number;\n longitude: number;\n occupation: string;\n cost: number;\n avatar_url: string;\n bio: string;\n neighborhood: string;\n city: string;\n uf: string;\n formation: string;\n availability: string;\n whatsapp: string;\n email: string;\n genre: string;\n slug: string;\n}\ninterface CaregiverParams {\n slug: string;\n}\n\nexport default function CaregiverShare(): JSX.Element {\n const params = useParams();\n const [caregiver, setCaregiver] = useState();\n const [isContactModalOpen, setIsContactModalOpen] = useState(false);\n\n const { toggleSocialShare } = useSocialShare();\n\n useEffect(() => {\n api.get(`/cadastro/profissionais/${params.slug}`).then(res => {\n setCaregiver(res.data.caregiver);\n });\n }, [params.slug]);\n\n if (!caregiver) {\n return

Carregando...

;\n }\n\n fetch('https://ntfy.sh/202211_NOTIFICATIONS_ABOUT_CUID', {\n method: 'POST',\n body: `Estão visualizando o perfil de ${caregiver.name} no link: ${window.location.href}`,\n headers: {\n Priority: '2',\n Tags: 'loudspeaker',\n },\n });\n\n function sendMessageOnWhatsapp() {\n fetch('https://ntfy.sh/202211_NOTIFICATIONS_ABOUT_CUID', {\n method: 'POST',\n body: `Solicitação de contato por Whatsapp no perfil de ${caregiver?.name} no link: ${window.location.href}`,\n headers: {\n Priority: '2',\n Tags: 'loudspeaker',\n },\n });\n }\n\n function sendMessageOnEmail() {\n fetch('https://ntfy.sh/202211_NOTIFICATIONS_ABOUT_CUID', {\n method: 'POST',\n body: `Solicitação de contato por Email no perfil de ${caregiver?.name} no link: ${window.location.href}`,\n headers: {\n Priority: '2',\n Tags: 'loudspeaker',\n },\n });\n }\n\n const costFormatted = formatCurrency(caregiver.cost);\n const formattedName = getFirstAndMiddleName(caregiver.name);\n const slug = caregiver.slug;\n return (\n <>\n \n\n
\n\n \n \n \n \n toggleSocialShare(\n `https://app.cuid.com.br/me/${slug}`,\n 'Veja esse profissional que encontrei na Cuid',\n )\n }\n >\n \n Compartilhe este perfil\n \n \n\n \n {caregiver.avatar_url ? (\n {formattedName}\n ) : (\n \n )}\n \n\n \n

{formattedName}

\n

\n {caregiver.genre === 'Feminino' &&\n caregiver.occupation === 'Cuidador de Idosos'\n ? 'Cuidadora de Idosos'\n : caregiver.occupation}\n

\n

\n {costFormatted}\n /Plantão\n

\n\n

Resumo

\n

{caregiver.bio}

\n\n \n \n\n \n \n\n \n {!isContactModalOpen && (\n \n \n\n \n \n )}\n\n
\n \n {`${caregiver.neighborhood}, ${caregiver.city}`}\n
\n
\n\n \n
\n \n Disponibilidade
\n para {caregiver.availability}\n
\n\n {caregiver.formation !== '' ? (\n
\n \n {caregiver.formation === 'true' || 'Profissional certificado'\n ? 'Profissional certificado'\n : 'Não possui certificação'}\n
\n ) : (\n
\n \n Profissional
\n não possui certificação\n
\n )}\n
\n
\n
\n\n setIsContactModalOpen(true)}\n >\n \n Denunciar este perfil\n \n
\n\n setIsContactModalOpen(false)}\n />\n \n );\n}\n","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isErrored: boolean;\n isFocused: boolean;\n isFilled: boolean;\n isValid: boolean;\n}\n\nexport const Container = styled.div`\n ${({ theme, isFocused, isFilled, isErrored, isValid }) => css`\n position: relative;\n margin: 0.8rem 0;\n border-radius: 0.8rem;\n width: 100%;\n\n & + div {\n margin: 1.8rem 0;\n }\n\n ${isErrored &&\n css`\n border-color: ${theme.colors['red-800']};\n\n span {\n visibility: visible;\n }\n `}\n\n ${isFilled &&\n css`\n border-color: ${theme.colors['green-600']};\n `}\n\n ${isFocused &&\n css`\n border-color: ${theme.colors['green-600']};\n color: ${theme.colors['green-900']};\n `}\n\n input {\n width: 100%;\n padding: 0 1rem;\n height: 5.6rem;\n font-family: 'Poppins', sans-serif;\n font-size: 1.8rem;\n color: ${theme.colors['green-900']};\n background: #ffffff;\n border-radius: 0.8rem;\n border: 1px solid rgba(0,0,0, .1);\n outline: 0;\n\n &:-webkit-autofill {\n -webkit-box-shadow: 0 0 0px 1000px white inset;\n -webkit-text-fill-color: ${theme.colors['green-900']};\n }\n\n &:read-only {\n color: ${theme.colors['green-900']};\n }\n\n ${isFilled &&\n css`\n color: ${theme.colors['blue-shade-400']};\n border-color: ${theme.colors['green-600']};\n `}\n\n @media (max-width: 550px) {\n height: 5rem;\n font-size: 1.2.5rem;\n }\n }\n\n span {\n position: absolute;\n top: 2.5rem;\n right: 2.5rem;\n\n font-size: 1.2.5rem;\n color: ${theme.colors['red-800']};\n\n ${isValid &&\n css`\n color: ${theme.colors['green-600']};\n `}\n }\n\n &:focus-within::after {\n content: '';\n position: absolute;\n left: 1.8rem;\n right: 1.8rem;\n width: calc(100% - 3.2rem);\n bottom: 0;\n height: 3.2rem;\n }\n\n @media (max-width: 720px) {\n .input-block input {\n width: 100%;\n }\n }\n `}\n`;\n","import React, {\n InputHTMLAttributes,\n useCallback,\n useEffect,\n useRef,\n useState,\n FormEvent,\n} from 'react';\nimport { IconBaseProps } from 'react-icons';\nimport { useField } from '@unform/core';\n\nimport { cepMask, phoneMask } from './masks';\n\nimport * as S from './styles';\n\ntype CepMessage = {\n key: 'valid' | 'invalid' | '';\n message: string;\n};\n\ninterface InputProps extends InputHTMLAttributes {\n label?: string;\n name: string;\n placeholder?: string;\n mask?: 'cep' | 'phone' | 'cpf';\n cepValidate?: CepMessage;\n cpfErrorMessage?: string;\n icon?: React.ComponentType;\n}\n\nconst Input: React.FC = ({\n label,\n name,\n placeholder,\n mask,\n cepValidate,\n cpfErrorMessage,\n ...rest\n}) => {\n const [isFocused, setIsFocused] = useState(false);\n const [isFilled, setIsFilled] = useState(false);\n\n const inputRef = useRef(null);\n const { fieldName, defaultValue, error, registerField } = useField(name);\n\n useEffect(() => {\n registerField({\n name: fieldName,\n ref: inputRef.current,\n path: 'value',\n });\n }, [fieldName, registerField]);\n\n const handleKeyUp = useCallback(\n (event: FormEvent) => {\n if (mask === 'cep') {\n cepMask(event);\n return;\n }\n\n if (mask === 'phone') {\n phoneMask(event);\n }\n },\n [mask],\n );\n\n const handleInputFocus = useCallback(() => {\n setIsFocused(true);\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setIsFocused(false);\n\n setIsFilled(!!inputRef.current?.value);\n }, []);\n\n return (\n \n {/* {label && } */}\n \n {!!error\n && (!!cepValidate?.message && cepValidate?.message.length) < 1 && (\n {error}\n )}\n\n {!!cepValidate && cepValidate.message.length > 1 && (\n {cepValidate.message}\n )}\n\n {cpfErrorMessage && {cpfErrorMessage}}\n \n );\n};\n\nexport default Input;\n","import { FormEvent } from 'react';\n\nexport function cepMask(\n event: FormEvent,\n): FormEvent {\n let { value } = event.currentTarget;\n\n value = value.replace(/\\D/gi, '');\n value = value.replace(/^(\\d{5})(\\d{3})/g, '$1-$2');\n\n // eslint-disable-next-line no-param-reassign\n event.currentTarget.value = value;\n\n return event;\n}\n\n\nexport function phoneMask(\n event: FormEvent,\n): FormEvent {\n let { value } = event.currentTarget;\n\n value = value.replace(/\\D/gi, '');\n value = value.replace(/^(\\d{2})(\\d{5})(\\d{4})/g, '($1) $2-$3');\n\n // eslint-disable-next-line no-param-reassign\n event.currentTarget.value = value;\n\n return event;\n}\n\nexport function cpfMask(\n event: FormEvent,\n): FormEvent {\n let { value } = event.currentTarget;\n\n value = value.replace(/\\D/gi, '');\n value = value.replace(/^(\\d{3})(\\d{3})(\\d{3})(\\d{2})/g, '$1.$2.$3-$4');\n\n // eslint-disable-next-line no-param-reassign\n event.currentTarget.value = value;\n\n return event;\n}\n\n","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isErrored: boolean;\n}\n\nexport const Container = styled.div`\n ${({ theme, isErrored }) => css`\n border: 1px solid;\n border-color: ${theme.colors['blue-50']};\n border-radius: 0.5rem;\n color: ${theme.colors['blue-shade-300']};\n position: relative;\n\n span {\n position: absolute;\n top: 2.5rem;\n right: 2.5rem;\n\n font-size: 1.2.5rem;\n color: ${theme.colors['red-800']};\n }\n\n ${isErrored\n && css`\n border-color: ${theme.colors['red-800']};\n\n span {\n visibility: visible;\n }\n `}\n\n &:focus-within {\n border-color: ${theme.colors['green-900']};\n }\n\n .react-select__menu-list:hover {\n background-color: red,\n }\n `}\n\n`;\n","const customStyles = {\n option: (provided: any, state: any) => ({\n ...provided,\n color: state.isSelected ? '#1c3438' : '#333',\n backgroundColor: state.isSelected ? '#d3e2e5' : '#fff',\n }),\n control: (provided: any) => ({\n ...provided,\n boxShadow: null,\n minHeight: '5rem',\n fontSize: '1.6rem',\n fontFamily: 'Poppins',\n borderWidth: 0,\n borderRadius: '0.5rem',\n backgroundColor: '#f5f8fa',\n color: '#1c3438',\n }),\n menu: (provided: any, state: any) => ({\n ...provided,\n width: state.selectProps.width,\n color: '#1c3438',\n padding: 20,\n }),\n singleValue: (provided: any, state: any) => ({\n ...provided,\n color: '#1c3438',\n padding: '1.8rem',\n opacity: state.isDisabled ? 0.5 : 1,\n }),\n indicatorSeparator: (provided: any, state: any) => ({\n ...provided,\n backgroundColor: !state.hasValue ? 'transparent' : 'transparent',\n }),\n container: (provided: any, state: any) => ({\n ...provided,\n width: '100%',\n\n }),\n input: (provided: any, state: any) => ({\n ...provided,\n height: '5rem',\n display: 'flex',\n textAlign: 'center',\n alignItems: 'center',\n }),\n placeholder: (provided: any, state: any) => ({\n ...provided,\n }),\n default: (provided: any, state: any) => ({\n ...provided,\n\n color: state.isFocused ? '#1c3438' : '',\n }),\n};\n\nexport default customStyles;\n","import React, { useRef, useEffect } from 'react';\nimport ReactSelect, {\n OptionTypeBase,\n Props as SelectProps,\n} from 'react-select';\nimport { useField } from '@unform/core';\n\nimport { Container } from './styles';\nimport customStyles from './customStyles';\n\ninterface Props extends SelectProps {\n name: string;\n}\n\nexport default function Select({ name, ...rest }: Props) {\n const selectRef = useRef(null);\n const { fieldName, defaultValue, registerField, error } = useField(name);\n useEffect(() => {\n registerField({\n name: fieldName,\n ref: selectRef.current,\n getValue: (ref: any) => {\n if (rest.isMulti) {\n if (!ref.state.value) {\n return [];\n }\n return ref.state.value.map((option: OptionTypeBase) => option.value);\n }\n if (!ref.state.value) {\n return '';\n }\n return ref.state.value.value;\n },\n });\n }, [fieldName, registerField, rest.isMulti]);\n\n return (\n \n \n\n {!!error && (\n {error}\n )}\n \n );\n};\n","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isErrored: boolean;\n isFocused: boolean;\n isFilled: boolean;\n}\n\nexport const Container = styled.div`\n ${({ theme, isFocused, isFilled, isErrored }) => css`\n position: relative;\n background: ${theme.colors['shade-150']};\n border: 1px solid ${theme.colors['blue-50']};\n border-radius: 0.8rem;\n width: 100%;\n color: ${theme.colors['blue-shade-400']};\n\n\n ${isErrored\n && css`\n border-color: ${theme.colors['red-800']};\n\n span {\n visibility: visible;\n }\n `}\n\n ${isFilled\n && css`\n border-color: ${theme.colors['green-600']};\n `}\n\n ${isFocused\n && css`\n border-color: ${theme.colors['green-600']};\n color: ${theme.colors['green-900']};\n `}\n\n textarea {\n flex: 1;\n width: 100%;\n background: ${theme.colors['shade-150']};\n border: none;\n border-radius: 0.8rem;\n outline: none;\n color: ${theme.colors['blue-shade-300']};\n\n min-height: 13.2rem;\n max-height: 22.5rem;\n resize: vertical;\n padding: 16px;\n line-height: 2.8rem;\n\n ${isFilled\n && css`\n color: ${theme.colors['blue-dark-500']};\n border-color: ${theme.colors['green-600']};\n `}\n\n @media (max-width: 550px) {\n height: 5rem;\n font-size: 1.2.5rem;\n }\n }\n\n span {\n position: absolute;\n top: 0.6rem;\n right: 2.5rem;\n\n font-size: 1.2.5rem;\n color: ${theme.colors['red-800']};\n }\n\n @media (max-width: 720px) {\n .input-block input {\n width: 100%;\n }\n }\n `}\n`;\n","import React, { TextareaHTMLAttributes, useCallback, useEffect, useRef, useState } from 'react';\nimport { useField } from '@unform/core';\n\nimport * as S from './styles';\n\ninterface TextAreaProps extends TextareaHTMLAttributes {\n label?: string;\n name: string;\n placeholder?: string;\n}\n\nexport const TextArea: React.FC = ({\n label,\n name,\n placeholder,\n ...rest\n}) => {\n const [isFocused, setIsFocused] = useState(false);\n const [isFilled, setIsFilled] = useState(false);\n\n const textareaRef = useRef(null);\n const { fieldName, defaultValue, error, registerField } = useField(name);\n\n useEffect(() => {\n registerField({\n name: fieldName,\n ref: textareaRef.current,\n path: 'value',\n });\n }, [fieldName, registerField]);\n\n const handleInputFocus = useCallback(() => {\n setIsFocused(true);\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setIsFocused(false);\n\n setIsFilled(!!textareaRef.current?.value);\n }, []);\n\n return (\n \n \n {!!error && (\n {error}\n )}\n\n \n );\n};\n","\nimport styled, { css } from 'styled-components';\n\n\nexport const Container = styled.div`\n ${({ theme }) => css`\n display: flex;\n align-items: center;\n\n p {\n padding-top: 1.8rem;\n color: ${theme.colors['blue-shade-200']};\n font-size: 1.8rem;\n\n a {\n font-weight: bold;\n margin: 0 0.8rem;\n text-decoration: underline;\n\n }\n }\n\n label {\n display: flex;\n align-items: center;\n padding-left: 40px;\n position: relative;\n\n margin-bottom: 16px;\n\n\n input {\n -webkit-appearance: none;\n width: 3rem;\n height: 3rem;\n border: 1px solid ${theme.colors['blue-50']};\n border-radius: 1rem;\n vertical-align: sub;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n outline: none;\n\n &:checked {\n background-color: ${theme.colors['green-600']};\n border-color: ${theme.colors['green-600']};\n\n & + label {\n text-decoration: line-through;\n color: ${theme.colors['blue-shade-200']};\n font-weight: 600;\n background-color: hsl(0, 0%, 97%);\n }\n\n &:focus,\n &:hover {\n box-shadow: 0 0 0 3px ${theme.colors['green-600']};\n border-color: ${theme.colors['green-600']};\n }\n }\n\n &:after {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjZmZmZmZmIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgdmVyc2lvbj0iMS4xIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPmljb25fYnlfUG9zaGx5YWtvdjEwPC90aXRsZT48ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz48ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyBmaWxsPSIjZmZmZmZmIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNi4wMDAwMDAsIDI2LjAwMDAwMCkiPjxwYXRoIGQ9Ik0xNy45OTk5ODc4LDMyLjQgTDEwLjk5OTk4NzgsMjUuNCBDMTAuMjI2Nzg5MSwyNC42MjY4MDE0IDguOTczMTg2NDQsMjQuNjI2ODAxNCA4LjE5OTk4Nzc5LDI1LjQgTDguMTk5OTg3NzksMjUuNCBDNy40MjY3ODkxNCwyNi4xNzMxOTg2IDcuNDI2Nzg5MTQsMjcuNDI2ODAxNCA4LjE5OTk4Nzc5LDI4LjIgTDE2LjU4NTc3NDIsMzYuNTg1Nzg2NCBDMTcuMzY2ODIyOCwzNy4zNjY4MzUgMTguNjMzMTUyOCwzNy4zNjY4MzUgMTkuNDE0MjAxNCwzNi41ODU3ODY0IEw0MC41OTk5ODc4LDE1LjQgQzQxLjM3MzE4NjQsMTQuNjI2ODAxNCA0MS4zNzMxODY0LDEzLjM3MzE5ODYgNDAuNTk5OTg3OCwxMi42IEw0MC41OTk5ODc4LDEyLjYgQzM5LjgyNjc4OTEsMTEuODI2ODAxNCAzOC41NzMxODY0LDExLjgyNjgwMTQgMzcuNzk5OTg3OCwxMi42IEwxNy45OTk5ODc4LDMyLjQgWiI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPg==\");\n background-size: 40px;\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:focus,\n &:hover {\n box-shadow: 0 0 0 3px rgba(60, 220, 140, 0.2);\n border-color: ${theme.colors['green-600']};\n }\n }\n }\n `}\n`;\n\n","import React, { useEffect, useRef, InputHTMLAttributes } from \"react\";\nimport { useField } from \"@unform/core\";\n\nimport * as S from './styles';\n\ninterface Props extends InputHTMLAttributes {\n name: string;\n options: {\n id: string;\n value: string;\n label: string;\n }[];\n}\n\nconst CheckboxInput: React.FC = ({ name, options, ...rest }) => {\n const inputRefs = useRef(null);\n const { fieldName, registerField, defaultValue = [] } = useField(name);\n\n useEffect(() => {\n registerField({\n name: fieldName,\n ref: inputRefs.current,\n path: 'value',\n });\n }, [fieldName, registerField]);\n\n return (\n \n {options.map(option => (\n \n ))}\n

\n Ao clicar em salvar, você assume que leu e concorda com os\n termos de uso\n da plataforma.\n

\n
\n );\n};\n\nexport default CheckboxInput;\n","import { ValidationError } from 'yup';\n\ninterface Errors {\n [key: string]: string;\n}\n\nexport default function getValidationErros(err: ValidationError): Errors {\n const validationErrors: Errors = {};\n\n err.inner.forEach(error => {\n const key = error.path as string;\n\n validationErrors[key] = error.message;\n });\n\n return validationErrors;\n}\n","export const optionsAvailability = [\n { value: '', label: 'Selecionar disponibilidade..' },\n { value: 'Diarista', label: 'Diarista' },\n { value: 'Folguista', label: 'Folguista' },\n { value: 'Mensalista', label: 'Mensalista' }\n];\n\nexport const optionsOccupation = [\n { value: '', label: 'Selecionar perfil...' },\n { value: 'Auxiliar de Enfermagem', label: 'Auxiliar de Enfermagem' },\n { value: 'Babá', label: 'Babá' },\n { value: 'Cuidador de Idosos', label: 'Cuidador de Idosos' },\n { value: 'Técnico de Enfermagem', label: 'Técnico de Enfermagem' },\n];\n\nexport const optionsGenre = [\n { value: '', label: 'Selecionar gênero...' },\n { value: 'Feminino', label: 'Feminino' },\n { value: 'Masculino', label: 'Masculino' },\n];\n\nexport const optionsEntity = [\n { value: '', label: 'Selecionar perfil' },\n { value: 'Familia', label: 'Sou Familiar' },\n { value: 'Empresa', label: 'Sou Empresa' },\n];\n","import styled, { css } from 'styled-components';\nimport Button from '../../components/Button';\n\nexport const Container = styled.div``;\n\nexport const Content = styled.main`\n ${({ theme }) => css`\n flex: 1;\n margin: 0 auto;\n padding: 0 3.2rem;\n\n form {\n max-width: 700px;\n margin: 6.2rem auto;\n\n display: flex;\n flex-direction: column;\n\n background: ${theme.colors.white};\n border: 1px solid ${theme.colors['blue-50']};\n border-radius: 0.5rem;\n\n padding: 5rem 8rem;\n\n overflow: hidden;\n\n fieldset {\n border: 0;\n\n & + fieldset {\n margin-top: 8rem;\n }\n\n legend {\n width: 100%;\n\n font-size: 3.2rem;\n line-height: 2.5rem;\n font-weight: 400;\n color: ${theme.colors['blue-shade-400']};\n\n border-bottom: 1px solid ${theme.colors['blue-50']};\n margin-bottom: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n input {\n border: .1rem solid rgb(231, 229, 229);\n }\n }\n\n label {\n display: flex;\n align-items: baseline;\n color: ${theme.colors['blue-shade-200']};\n margin: 2.5rem 0 0.8rem;\n line-height: 2.5rem;\n\n span {\n font-size: 1.2.5rem;\n color: #8fa7b3;\n margin-left: 2.5rem;\n line-height: 2.5rem;\n }\n }\n\n @media (max-width: 600px) {\n padding: 3.2rem 2.5rem;\n }\n\n @media (max-width: 420px) {\n padding: 1.8rem 3.2rem;\n\n fieldset {\n border: 0;\n\n & + fieldset {\n margin-top: 2.5rem;\n }\n\n legend {\n width: 100%;\n\n font-size: 3.2rem;\n line-height: 2.8rem;\n margin-bottom: 3.2rem;\n padding-bottom: 1.3.2rem;\n }\n }\n\n label {\n margin: 3.2rem 0 0.6rem;\n line-height: 2.5rem;\n\n span {\n font-size: 1.2.5rem;\n color: #8fa7b3;\n margin-left: 3.2rem;\n line-height: 3.2rem;\n }\n }\n }\n }\n `}\n`;\n\nexport const WrapperToggleButton = styled.div`\n width: 100%;\n display: flex;\n\n button {\n width: 100%;\n height: 5rem;\n background: #f5f8fa;\n border: 6.2rem auto;\n color: #1c3438;\n cursor: pointer;\n\n &.active {\n background: #edfff6;\n border: 1px solid #a1e9c5;\n color: #37c77f;\n }\n\n &:first-child {\n border-radius: 0.5rem 0 0 0.5rem;\n }\n\n &:last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n border-left: 0;\n }\n }\n`;\n\nexport const SubmitButton = styled(Button)`\n margin-top: 2.5rem;\n`;\n\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Form } from '@unform/web';\nimport { FormHandles } from '@unform/core';\nimport axios from 'axios';\nimport * as Yup from 'yup';\nimport { cpf } from 'cpf-cnpj-validator';\n\nimport Header from '../../components/Header';\nimport Input from '../../components/Input';\nimport Select from '../../components/Select';\nimport { TextArea } from '../../components/TextareaComponent';\nimport CheckboxInput from '../../components/CheckboxInput';\n\nimport getValidationErrors from '../../utils/getValidationsErrors';\nimport { formatCurrency } from '../../utils/mask';\nimport api from '../../services/api';\n\nimport {\n optionsAvailability,\n optionsOccupation,\n optionsGenre,\n} from './options';\n\nimport * as S from './styles';\nimport { useToast } from '../../hooks/toast';\nimport moment from 'moment';\n\nconst warningText = 'número máximo de caracteres excedido!';\n\ntype OptionType = {\n value: string;\n label: string;\n};\n\ninterface CheckboxOption {\n id: string;\n value: string;\n label: string;\n}\n\ntype CepMessage = {\n key: 'valid' | 'invalid' | '';\n message: string;\n};\n\ntype SubmitFormData = {\n name: string;\n genre: string;\n email: string;\n password: string;\n whatsapp: string;\n cpf: string;\n zip: string;\n address: string;\n numberHouse: string;\n neighborhood: string;\n city: string;\n uf: string;\n longitude: string | number;\n latitude: string | number;\n birthday: string;\n bio: string;\n availability: string;\n formation: boolean;\n occupation: string;\n cost: string;\n checkbox?: boolean;\n};\n\ninterface CaregiverLocation {\n responseObject: {\n longitude: number;\n latitude: number;\n zipcode: string;\n venue: string;\n neighborhood: string;\n city: string;\n state: string;\n };\n}\n\nconst checkboxOptions: CheckboxOption[] = [\n {\n id: 'checkbox',\n value: 'checkbox',\n label: ``,\n },\n];\n\nexport default function RegisterUser() {\n const [zip, setZip] = useState('');\n const [address, setAddress] = useState('');\n const [neighborhood, setNeighborhood] = useState('');\n const [city, setCity] = useState('');\n const [uf, setUf] = useState('');\n const [longitude, setLongitude] = useState();\n const [latitude, setLatitude] = useState();\n const [formation, setFormation] = useState(true);\n const [costValue, setCostValue] = useState('');\n const [isActiveCoren, setIsActiveCore] = useState(false);\n const [bio, setBio] = useState('');\n const [birthday, setBirthday] = useState('');\n const [occupation, setOccupation] = useState('');\n\n const [userCPF, setUserCPF] = useState('');\n const [cpfErrorMessage, setCpfErrorMessage] = useState('');\n const [parceiro, setParceiro] = useState('Cuid');\n const [avgCostPerShift, setAvgCostPerShift] = useState('');\n const [isActiveAvgCostInfo, setIsActiveAvgCostInfo] = useState(true);\n\n const [isErrored, setIsErrored] = useState({\n key: '',\n message: '',\n });\n\n const formRef = useRef(null);\n const history = useHistory();\n const { addToast } = useToast();\n\n const initialFormDatas = {\n address,\n city,\n neighborhood,\n uf,\n };\n\n const loadLocationData = useCallback(() => {\n axios\n .get(\n `https://api.famyle.com/api/locations/zipcode/${zip}`,\n )\n .then(response => {\n const { longitude, latitude, venue, neighborhood, city, state } =\n response.data.responseObject;\n\n setAddress(venue);\n setCity(city);\n setNeighborhood(neighborhood);\n setUf(state);\n setLatitude(latitude);\n setLongitude(longitude);\n });\n }, [zip]);\n\n useEffect(() => {\n async function checkIfCepExists() {\n setIsErrored({ key: '', message: '' });\n const cep = zip.replace(/\\D/gi, '');\n\n axios.get(`https://viacep.com.br/ws/${cep}/json/`).then(response => {\n if (response.data.erro === true) {\n setIsErrored({\n key: 'invalid',\n message: 'Cep inválido!',\n });\n } else {\n loadLocationData();\n }\n });\n }\n\n checkIfCepExists();\n }, [zip, loadLocationData]);\n\n useEffect(() => {\n function validateCPF() {\n const result = cpf.isValid(userCPF);\n\n if (!result && userCPF.length > 1) {\n setCpfErrorMessage('CPF inválido');\n return;\n }\n\n setCpfErrorMessage('');\n const cpfFormatted = cpf.format(userCPF);\n\n setUserCPF(cpfFormatted);\n }\n\n validateCPF();\n }, [userCPF]);\n\n useEffect(() => {\n // Get the URLSearchParams object from the current URL\n const params = new URLSearchParams(window.location.search);\n\n // Get the value of the 'parceiro' parameter from the URL\n const parceiro = params.get('parceiro');\n\n if (!parceiro) {\n setParceiro('Cuid');\n } else {\n setParceiro(parceiro);\n }\n }, []);\n\n async function handleTestSubmit(data: SubmitFormData) {\n const formattedFormData = {\n name: data.name,\n genre: data.genre,\n email: data.email,\n password: data.password,\n address: data.address,\n numberHouse: data.numberHouse,\n neighborhood: data.neighborhood,\n city: data.city,\n uf: data.uf.toUpperCase(),\n birthday: data.birthday,\n bio: data.bio,\n availability: data.availability,\n occupation: data.occupation,\n cost: data.cost.toString().replace(/\\D/gi, ''),\n cpf: data.cpf.replace(/\\D/gi, ''),\n whatsapp: data.whatsapp.replace(/\\D/gi, ''),\n zip: data.zip.replace(/\\D/gi, ''),\n latitude,\n longitude,\n formation,\n origin: parceiro,\n };\n\n try {\n const schema = Yup.object().shape({\n name: Yup.string()\n .matches(\n /^[a-zA-Z\\wÀ-ú]+(?:\\s[a-zA-Z\\wÀ-ú]+)+$/,\n 'Digito o nome completo',\n )\n .trim()\n .required('Nome é obrigatório!'),\n coren: Yup.string(),\n email: Yup.string()\n .email('Entre com um e-mail válido!')\n .required('E-mail é obrigatório!'),\n password: Yup.string()\n .min(6, 'No mínimo 6 digitos!')\n .required('Senha é obrigatória!'),\n whatsapp: Yup.string().required('Whatsapp é obrigatório'),\n cpf: Yup.string()\n .max(11, 'No máximo 11 digitos!')\n .required('CEP é obrigatório!'),\n zip: Yup.string()\n .max(8, 'No máximo 8 digitos!')\n .required('CEP é obrigatório!'),\n address: Yup.string()\n .max(100, 'número máximo de caracteres excedido!')\n .required('Endereço é obrigatório!'),\n numberHouse: Yup.string()\n .max(10, 'número máximo de caracteres excedido!')\n .required('número é obrigatório!'),\n neighborhood: Yup.string()\n .max(50, warningText)\n .required('Bairro é obrigatório!'),\n city: Yup.string()\n .max(50, warningText)\n .required('Cidade é obrigatório!'),\n uf: Yup.string().max(10, warningText).required('Estado é obrigatório!'),\n birthday: Yup.string()\n .test('Validate age', 'É preciso ser maior de 18 anos', value => {\n return moment().diff(moment(value), 'days') >= 6570; // 6570 days in 18 years\n })\n .required('Data de nascimento é obrigatório!'),\n bio: Yup.string()\n .min(120, 'No mínimo 120 catacteres!')\n .required('conte um pouquinho sobre você!'),\n occupation: Yup.string().required('selecione uma das opções!'),\n cost: Yup.string().required('informe o valor do plantão!'),\n availability: Yup.string().required('selecione uma das opções!'),\n formation: Yup.boolean(),\n genre: Yup.string().required('selecione uma das opções!'),\n });\n\n await schema.validate(formattedFormData, { abortEarly: false });\n\n await api.post('cadastro', formattedFormData);\n\n const { name, occupation, email } = formattedFormData;\n\n fetch('https://ntfy.sh/202211_NOTIFICATIONS_ABOUT_CUID', {\n method: 'POST',\n body: `Novo cadastro realizado: Nome: ${name}, Profissional: ${occupation}, Email: ${email}`,\n headers: {\n Priority: '2',\n Tags: 'loudspeaker',\n },\n });\n\n history.push('/cadastro-realizado');\n } catch (err) {\n if (err instanceof Yup.ValidationError) {\n const errors = getValidationErrors(err);\n\n formRef.current?.setErrors(errors);\n\n return;\n }\n\n addToast({\n type: 'error',\n title: 'Erro no cadastro',\n description:\n 'Ocorreu um erro ao realizar o seu cadastro, tente novamente.',\n });\n }\n }\n\n function handleToggle() {\n setFormation(prevState => !prevState);\n }\n\n function handleChangeIsActiveAvgCostInfo() {\n if (!city) {\n alert('Informe seu endereço para usar a calculadora!');\n return;\n }\n setIsActiveAvgCostInfo(true);\n }\n\n async function getAvgCostPerShift() {\n const response = await api.get(\n `cadastro/plantoes/${city}?ocupacao=${occupation}`,\n );\n\n const avgCostPerShift = response.data;\n\n const formattedAmount = new Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL',\n }).format(avgCostPerShift / 100);\n\n setAvgCostPerShift(formattedAmount);\n }\n\n useEffect(() => {\n getAvgCostPerShift();\n }, [occupation]);\n\n return (\n \n
\n\n \n \n
\n Perfil\n\n \n \n\n \n \n\n \n setUserCPF(e.target.value)}\n cpfErrorMessage={cpfErrorMessage}\n />\n\n \n \n\n \n setZip(e.target.value)}\n />\n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n {\n setBirthday(e.target.value);\n\n if (moment().diff(moment(e.target.value), 'days') < 6570) {\n formRef.current?.setFieldError(\n 'birthday',\n 'É preciso ser maior de 18 anos',\n );\n } else {\n formRef.current?.setFieldError('birthday', '');\n }\n }}\n />\n\n \n {\n if (e.target.value.length > 1 && e.target.value.length < 120) {\n const charactersLeft = 120 - e.target.value.length;\n const warnMessage = `No mínimo ${charactersLeft} catacteres!`;\n\n formRef.current?.setFieldError('bio', warnMessage);\n } else {\n formRef.current?.setFieldError('bio', '');\n }\n\n setBio(e.target.value);\n }}\n />\n
\n\n
\n Profissional\n\n \n {\n // It turns available COREN field if Auxiliar de enfermagem is selected\n const value = (selectedOption as OptionType).value;\n\n setIsActiveCore(value === optionsOccupation[1].value);\n setOccupation(value);\n }}\n />\n\n {isActiveCoren && ( // It's true if Auxiliar de enfermagem was selected\n <>\n \n \n \n )}\n\n \n \n {\n handleChangeIsActiveAvgCostInfo();\n getAvgCostPerShift();\n }}\n >\n Ver média de plantão\n \n \n \n {isActiveAvgCostInfo ? (\n

\n {`Um plantão médio de 12h para um ${\n occupation ? occupation : 'Profissional'\n } em ${city}, é de: ${avgCostPerShift}`}\n

\n ) : (\n ''\n )}\n
\n setCostValue(e.target.value)}\n />\n\n \n \n\n \n\n \n \n Sim\n \n \n Não\n \n \n
\n\n
\n Criar conta\n\n \n \n\n \n \n\n \n
\n\n Salvar\n \n
\n \n );\n}\n","import styled, { css } from 'styled-components';\nimport Confetti from 'react-confetti';\n\nexport const Wrapper = styled.div`\n width: 100%;\n height: 100vh;\n\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Container = styled.section`\n ${({ theme }) => css`\n /* flex: 1; */\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n padding: 0 2.5rem;\n\n > svg {\n width: 15rem;\n height: 15rem;\n color: ${theme.colors['green-900']};\n margin-bottom: 3rem;\n }\n\n a {\n color: ${theme.colors.white};\n display: block;\n margin-top: 2.5rem;\n text-decoration: none;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${theme.colors['green-900']};\n padding: 1rem;\n border-radius: 0.5rem;\n\n &:hover {\n filter: brightness(0.9);\n }\n\n > svg {\n margin-right: 1rem;\n width: 3.2rem;\n height: 3.2rem;\n }\n }\n `}\n`;\n\nexport const Title = styled.text`\n font-size: 3.2rem;\n color: ${({ theme }) => theme.colors['green-900']};\n text-align: center;\n `;\n\nexport const Description = styled.text`\ncolor: ${({ theme }) => theme.colors['blue-shade-700']};\ntext-align: center;\n`;\n\nexport const ConfettiComponent = styled(Confetti)`\n width: 100%;\n height: 100vh;\n`;\n","import React from 'react';\nimport { FiCheckCircle, FiLogIn } from 'react-icons/fi';\n\nimport { Wrapper, Container, Title, Description, ConfettiComponent } from './styles';\n\nconst Congrats: React.FC = () => {\n\n return (\n \n \n \n Cadastro realizado com sucesso!\n Estamos felizes com a sua chegada.\n\n \n \n Fazer login\n \n \n \n \n );\n};\n\nexport default Congrats;\n","import styled, { css, keyframes } from 'styled-components';\n\nimport { shade } from 'polished';\n\nconst apperFromLeft = keyframes`\n from {\n opacity: 0;\n transform: translateX(-50px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nexport const Container = styled.div`\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: stretch;\n`;\n\nexport const Content = styled.div`\n max-width: 66rem;\n width: 100%;\n padding: 0 3.2rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`;\n\nexport const AnimationContainer = styled.div`\n ${({ theme }) => css`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n animation: ${apperFromLeft} 1s;\n\n img {\n max-width: 30rem;\n max-height: 20.6rem;\n }\n\n form {\n margin: 3.2rem 0;\n max-width: 36rem;\n width: 100%;\n display: flex;\n flex-direction: column;\n text-align: center;\n\n input {\n border: .1rem solid rgb(231, 229, 229);\n }\n\n h1 {\n margin-bottom: 2.5rem;\n color: ${theme.colors['blue-shade-700']};\n }\n\n a {\n color: ${theme.colors['blue-shade-700']};\n display: block;\n margin-top: 2.5rem;\n text-decoration: none;\n\n transition: color 0.2s;\n\n &:hover {\n color: ${shade(0.3, theme.colors['blue-shade-700'])};\n }\n }\n }\n\n > a {\n color: ${theme.colors['green-900']};\n display: block;\n margin-top: 16px;\n text-decoration: none;\n transition: color 0.2s;\n display: flex;\n align-items: center;\n\n svg {\n margin-right: 1.8rem;\n }\n\n &:hover {\n color: ${shade(0.2, theme.colors['green-900'])};\n }\n }\n `}\n`;\n","import React, { useRef, useCallback } from 'react';\nimport { FiLogIn } from 'react-icons/fi';\nimport { FormHandles } from '@unform/core';\nimport { Form } from '@unform/web';\nimport * as Yup from 'yup';\n\nimport { useAuth } from '../../hooks/AuthContext';\nimport { useToast } from '../../hooks/toast';\nimport getValidationErrors from '../../utils/getValidationsErrors';\nimport { Link } from 'react-router-dom';\n\nimport Input from '../../components/Input';\nimport Button from '../../components/Button';\n\nimport logoImg from '../../images/logo-cuid.png';\nimport * as S from './styles';\ninterface SignInFormData {\n email: string;\n password: string;\n}\n\nconst SignIn: React.FC = () => {\n const formRef = useRef(null);\n\n const { signIn } = useAuth();\n const { addToast } = useToast();\n\n const handleSubmit = useCallback(\n async (data: SignInFormData) => {\n try {\n formRef.current?.setErrors({});\n\n const schema = Yup.object().shape({\n email: Yup.string()\n .required('Informe seu email')\n .email('Digite um email válido'),\n password: Yup.string().required('Informe sua senha'),\n });\n\n await schema.validate(data, {\n abortEarly: false,\n });\n\n await signIn({\n email: data.email,\n password: data.password,\n });\n } catch (err) {\n if (err instanceof Yup.ValidationError) {\n const errors = getValidationErrors(err);\n\n formRef.current?.setErrors(errors);\n\n return;\n }\n\n addToast({\n type: 'error',\n title: 'Erro na autenticação',\n description: 'Ocorreu um erro ao fazer login',\n });\n }\n },\n [addToast, signIn],\n );\n return (\n \n \n \n \"Logo\n\n
\n

Bem-vindo

\n\n \n\n \n\n \n\n Esqueci minha senha\n
\n \n \n Criar conta\n \n
\n
\n
\n );\n};\n\nexport default SignIn;\n","import styled, { css } from 'styled-components';\nimport Button from '../../components/Button';\n\nexport const Container = styled.div`\n flex: 1;\n`;\n\nexport const Main = styled.main`\n display: flex;\n`;\n\nexport const Content = styled.div`\n max-width: 740px;\n margin: 6.2rem auto;\n padding: 0 3.2rem;\n height: calc(100% - 12.5rem);\n\n @media(max-width: 420px) {\n margin: 3.2rem auto;\n }\n`;\n\nexport const Header = styled.div`\n ${({ theme }) => css`\n height: 12.5rem;\n background: ${theme.colors['shade-900']};\n box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16), 0 0.3rem 0.6rem rgba(0,0,0,0.23);\n display: flex;\n align-items: center;\n `}\n`;\n\nexport const HeaderContent = styled.div`\n max-width: 1120px;\n width: 100%;\n margin: 0 auto;\n padding: 0 3.2rem;\n display: flex;\n align-items: center;\n\n > img {\n width: 11rem;\n margin-right: 8rem;\n }\n\n @media(max-width: 500px) {\n > img {\n display: none;\n }\n }\n`;\n\nexport const Profile = styled.div`\n ${({ theme }) => css`\n display: flex;\n align-items: center;\n\n img {\n width: 5.6rem;\n height: 5.6rem;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 1.8rem;\n }\n\n div {\n display: flex;\n flex-direction: column;\n\n span {\n color: #1c3438;\n }\n\n a {\n strong {\n display: block;\n color: #1c3438;\n }\n\n span:last-child {\n display: block;\n margin-top: 0.8rem;\n font-size: 1.3.2rem;\n\n transition: filter 0.1s;\n\n &:hover {\n filter: brightness(0.8);\n }\n }\n }\n }\n `}\n`;\n\nexport const SignOutButton = styled.button`\n ${({ theme }) => css`\n background: transparent;\n border: none;\n /* padding: 3rem 0 3rem 2.5rem; */\n width: 13rem;\n height: 9rem;\n margin-left: auto;\n cursor: pointer;\n\n color: #1c3438;\n font-size: 1.8rem;\n font-weight: 500;\n\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n transition: filter 0.1s;\n\n svg {\n color: #1c3438;\n width: 3.2rem;\n height: 3.2rem;\n margin-right: 1rem;\n }\n\n &:hover {\n filter: opacity(0.8);\n }\n `}\n`;\n\nconst sectionStyle = css`\n ${({ theme }) => css`\n width: 100%;\n margin: 5rem 0;\n padding: 5rem 8rem;\n border-radius: 5px;\n border: 1px solid ${theme.colors['blue-50']};\n background: ${theme.colors.white};\n\n @media(max-width: 500px) {\n margin: 3.2rem 0;\n padding: 3.2rem 2.5rem;\n }\n\n @media(max-width: 420px) {\n margin: 1.8rem 0;\n padding: 1.8rem 3.2rem;\n }\n `}\n`;\n\nconst sectionInformationStyle = css`\n ${({ theme }) => css`\n strong {\n display: block;\n\n font-size: 3.2rem;\n font-weight: 400;\n line-height: 2.5rem;\n color: #1c3438;\n\n border-bottom: 1px solid ${theme.colors['blue-50']};\n margin-bottom: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n span {\n display: block;\n color: ${theme.colors['blue-shade-200']};\n margin-bottom: 0.8rem;\n line-height: 2.5rem;\n }\n\n div {\n color: #1c3438;\n & + div {\n margin-top: 2.5rem;\n }\n }\n\n @media(max-width: 500px) {\n strong {\n font-size: 2.8rem;\n }\n }\n\n @media(max-width: 420px) {\n strong {\n font-size: 3.2rem;\n }\n }\n `}\n`;\n\nexport const SectionBanner = styled.section`\n ${sectionStyle};\n p {\n font-size: 1.5rem;\n line-height: 2.5rem;\n text-align: center;\n color: #1c3438;\n flex: 1;\n }\n`;\n\nexport const VerifiedDocs = styled.section`\n div {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #1c3438;\n font-size: 1.5rem;\n\n svg {\n width: 5rem;\n height: 5rem;\n margin: auto 1.5rem;\n }\n }\n\n .verified {\n svg {\n width: 2rem;\n height: 2rem;\n margin: auto 1.5rem;\n color: green;\n }\n }\n\n ${sectionStyle};\n p {\n line-height: 2.5rem;\n flex: 1;\n }\n`;\n\nexport const ContactButton = styled.button`\n ${({ theme }) => css`\n margin: 4rem auto 0;\n border: none;\n border-radius: 5rem;\n background: transparent;\n color: ${theme.colors['blue-shade-400']};\n display: flex;\n align-items: center;\n gap: 1rem;\n svg {\n width: 2rem;\n height: 2rem;\n }\n\n`}\n`;\n\nexport const PaymentButton = styled(Button)`\n margin: 1rem;\n\n p{\n\n color: #fff;\n }\n`;\n\nexport const SectionAvatar = styled.section`\n ${sectionStyle};\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n img {\n width: 20rem;\n height: 20rem;\n border-radius: 50%;\n object-fit: cover;\n }\n`;\n\nexport const PersonalInformation = styled.section`\n ${sectionStyle};\n ${sectionInformationStyle};\n\n p {\n display: flex;\n flex: 1;\n }\n`;\n\nexport const ProfessionalInformation = styled.section`\n ${sectionStyle};\n ${sectionInformationStyle};\n`;\n\nexport const SupportButton = styled.div`\n ${({ theme }) => css`\n z-index: 10;\n position: fixed;\n right: 6rem;\n bottom: 3rem;\n\n cursor: pointer;\n\n height: 10rem;\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: space-between;\n\n\n\n span {\n position: absolute;\n background-color: ${theme.colors['green-910']};\n color: #fff;\n border-radius: 0.6rem;\n padding: 0.3rem 1rem;\n z-index: 1;\n top: 0;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);\n\n &::after {\n position: absolute;\n content: \"\";\n left: 50%;\n bottom: -10px;\n margin-left: -5px;\n border-width: 5px;\n border-style: solid;\n border-color: ${theme.colors['green-910']} transparent transparent transparent;\n visibility: visible;\n }\n\n @media(max-width: 420px) {\n font-size: 1.3.2rem;\n font-weight: 500;\n }\n }\n\n a {\n margin-top: 2.5rem;\n padding: 0.8rem;\n border-radius: 50%;\n background: ${theme.colors['green-910']};\n\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n transition: filter 0.1s;\n\n svg {\n width: 2.5rem;\n height: 2.5rem;\n color: ${theme.colors.white};\n }\n\n &:hover {\n filter: brightness(0.8);\n }\n\n\n @media(max-width: 420px) {\n margin-top: 3rem;\n\n svg {\n width: 2.5rem;\n height: 2.5rem;\n }\n }\n }\n\n @media(max-width: 600px) {\n & {\n right: 3rem;\n bottom: 3rem;\n }\n }\n\n @media(max-width: 420px) {\n right: 3rem;\n bottom: 0.5rem;\n }\n `}\n`;\n\nexport const Biography = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n\n padding: 15px;\n margin-top: 10px;\n\n a {\n text-decoration: none;\n span {\n display: flex;\n flex-direction: column;\n font-size: 15px;\n color: #ee4644;\n\n &:hover {\n opacity: .8;\n }\n }\n }\n\n > img {\n width: 100px;\n height: 100px;\n border-radius: 50%;\n }\n\n div {\n margin-left: 16px;\n line-height: 24px;\n }\n`;\n\nexport const About = styled.div`\n margin-top: 64px;\n\n strong {\n font-size: 16px;\n font-weight: 400;\n }\n\n div {\n background: #fff;\n font-size: 16px;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: left;\n padding: 16px 24px;\n border-radius: 10px;\n margin: 12px;\n\n }\n\n p {\n margin-left: 20px;\n }\n\n`;\n\nexport const ShareProfile = styled.div`\n ${({ theme }) => css`\n z-index: 10;\n position: fixed;\n right: 6rem;\n bottom: 18rem;\n\n cursor: pointer;\n\n height: 10rem;\n display: flex;\n align-items: center;\n flex-direction: column;\n\n\n\n span {\n position: absolute;\n text-align: center;\n background-color: ${theme.colors['blue-shade-400']};\n color: ${theme.colors.white};\n border-radius: 0.6rem;\n padding: 0.3rem 1rem;\n z-index: 1;\n top: 0;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);\n\n &::after {\n position: absolute;\n content: \"\";\n left: 50%;\n bottom: -10px;\n margin-left: -5px;\n border-width: 5px;\n border-style: solid;\n border-color: ${theme.colors['blue-shade-400']} transparent transparent transparent;\n visibility: visible;\n }\n\n @media(max-width: 420px) {\n font-size: 1.3.2rem;\n font-weight: 500;\n }\n }\n\n button {\n background: ${theme.colors['blue-shade-400']};\n color: ${theme.colors.white};\n border: none;\n margin-top: 6rem;\n padding: 0.8rem;\n border-radius: 50%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);\n\n svg {\n width: 2.5rem;\n height: 2.5rem;\n margin-left: -0.1rem;\n color: ${theme.colors.white};\n }\n\n @media(max-width: 420px) {\n margin-top: 4.5rem;\n\n svg {\n width: 2.5rem;\n height: 2.5rem;\n }\n }\n }\n\n @media(max-width: 600px) {\n & {\n right: 3rem;\n /* bottom: 3rem; */\n }\n }\n\n @media(max-width: 420px) {\n right: 3rem;\n bottom: 10rem;\n }\n `}\n`;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { format } from 'date-fns';\nimport { loadStripe } from '@stripe/stripe-js';\nimport { FaWhatsapp } from 'react-icons/fa';\nimport {\n FiLogOut,\n FiShare2,\n FiInfo,\n FiUploadCloud,\n FiCheckCircle,\n} from 'react-icons/fi';\n\nimport { useAuth } from '../../hooks/AuthContext';\nimport { mask, formatCurrency } from '../../utils/mask';\nimport api from '../../services/api';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\nimport * as S from './styles';\n\nimport logoImg from '../../images/logo-cuid.png';\nimport { getFirstAndMiddleName } from '../../utils/formatString';\nimport { useSocialShare } from '../../hooks/SocialShareContext';\n\nconst imgNoProfile = 'https://app-cuid.s3.amazonaws.com/no-avatar.png';\n\nconst Profile: React.FC = () => {\n const { signOut, user } = useAuth();\n const { toggleSocialShare } = useSocialShare();\n const dateFormatted = format(new Date(user.birthday), 'dd/MM/yyyy');\n const maskPhone = mask(`${user.whatsapp}`, '(##) #####-####');\n const maskCPF = mask(`${user.cpf}`, '###.###.###-##');\n const maskZIP = mask(`${user.zip}`, '#####-###');\n const maskCost = formatCurrency(`${user.cost}`);\n const stripePromise = loadStripe(\n 'pk_live_51IcJg5FxYI3sgKUsiC2NoBcCJoeWz2bep1hQZ4ZGj0onr7F8gH8koJoBijSzWIry3k7VLiOByKnn7v426j47zqRT00qxUoWYF6',\n );\n const handleClick = async (_event: any) => {\n const stripe = await stripePromise;\n\n const response = await api.post('/create-checkout-session', {\n method: 'POST',\n });\n\n const session = await response.data;\n // When the customer clicks on the button, redirect them to Checkout.\n const result = await stripe?.redirectToCheckout({\n sessionId: session.id,\n });\n\n if (result?.error) {\n // If `redirectToCheckout` fails due to a browser or network\n // error, display the localized error message to your customer\n // using `result.error.message`.\n }\n };\n const pixKey =\n '00020101021126360014br.gov.bcb.pix011445696763000157520400005303986540514.905802BR5915Cuid Tecnologia6009SAO PAULO62070503***6304AE2A';\n async function handleCopyPix() {\n setIsCopied(!isCopied);\n }\n const [isCopied, setIsCopied] = useState(false);\n const [userEmailName, userEmailDomain] = user.email.split('@');\n const nameFormatted = getFirstAndMiddleName(user.name);\n\n function sendNotificationAboutDocs() {\n fetch('https://ntfy.sh/202211_NOTIFICATIONS_ABOUT_CUID', {\n method: 'POST',\n body: `Envio de documentos do usuário ${user.email}`,\n headers: {\n Priority: '2',\n Tags: 'loudspeaker',\n },\n });\n }\n\n return (\n \n \n \n \"Logo\n\n \n {user.avatar_url ? (\n {user.name}\n ) : (\n {user.name}\n )}\n\n
\n Olá,\n\n \n {nameFormatted}\n Editar perfil\n \n
\n
\n\n \n \n Sair\n \n
\n
\n\n \n {user.verified ? (\n \n
\n \n

Sua conta foi verificada com sucesso.

\n
\n
\n ) : (\n \n
\n \n \n Precisamos validar suas informações, para isso tenha em mãos seu\n documento de identificação com foto.\n \n
\n\n \n \n \n Enviar documentos\n \n \n
\n )}\n\n {user.verified && !user.payment_status ? (\n \n

\n Assine o plano mensal por R$ 14,90 e seja encontrado por familias\n em qualquer lugar do Brasil, por menos de R$ 0,50 por dia.\n

\n \n Pagar com cartão de crédito\n \n

ou

\n \n \n alert('Chave pix copiada para a área de transferência')\n }\n >\n

{isCopied ? 'Chave pix copiada!' : 'Pagar com pix'}

\n \n
\n\n

\n {isCopied\n ? 'No aplicativo do seu banco, ao pagar use a opção \"Copia e Cola\".'\n : ''}\n

\n
\n ) : (\n ''\n )}\n\n {user.payment_status ? (\n \n
\n \n

Sua assinatura premium foi ativada com sucesso.

\n
\n
\n ) : (\n ''\n )}\n\n {/* {user.payment_status ? (\n \n

\n 🎉\n Sua assinatura premium foi ativada com sucesso!

\n
\n\n ) : (\n \n

\n Assine o plano mensal por R$ 14,90 e seja encontrado por familias em qualquer\n lugar do Brasil, por menos de R$ 0,50 por dia.\n

\n \n Pagar com cartão de crédito\n \n

ou

\n \n alert('Chave pix copiada para a área de transferência')}>\n

{isCopied ? 'Chave pix copiada!' : 'Pagar com pix'}

\n \n
\n\n

{isCopied ? 'No aplicativo do seu banco, ao pagar use a opção \"Copia e Cola\".' : ''}

\n
\n )} */}\n \n {user.avatar_url ? (\n {user.name}\n ) : (\n \"usuário\n )}\n \n\n \n Perfil\n\n
\n Nome completo\n {user.name}\n
\n\n
\n Email\n

\n {userEmailName}\n \n {`@${userEmailDomain}`}\n

\n
\n\n
\n Data de nascimento\n {dateFormatted}\n
\n\n
\n CPF\n {maskCPF}\n
\n\n
\n Telefone\n {maskPhone}\n
\n\n
\n Endereço\n {`${user.address}, ${user.numberHouse} - ${user.neighborhood} - ${user.city}`}\n
\n\n
\n Estado\n {user.uf}\n
\n\n
\n CEP\n {maskZIP}\n
\n
\n\n \n Profissional\n\n
\n Perfil\n {user.occupation}\n
\n\n
\n Valor/Plantão\n {maskCost}\n
\n\n
\n Bio\n {user.bio}\n
\n\n
\n Disponibilidade\n {user.availability}\n
\n\n
\n Formação\n {user.formation === 'true' || 'Possui formação'\n ? 'Possui formação'\n : 'Não possui formação'}\n
\n
\n\n \n Compartilhar perfil\n\n \n toggleSocialShare(\n `https://app.cuid.com.br/me/${user.slug}`,\n 'Veja meu perfil profissional na Cuid: ',\n )\n }\n >\n \n \n \n\n \n Suporte\n\n \n \n \n \n
\n
\n );\n};\n\nexport default Profile;\n","import styled, { css } from 'styled-components';\nimport bgimg from '../../../images/circle.svg';\n\nexport const Container = styled.div`\n width: 100%;\n height: 100%;\n display: flex;\n padding: 32px;\n gap: 32px;\n background: #efefef;\n font-family: 'Manrope', sans-serif;\n\n svg {\n color: #53d574;\n }\n\n .top-menu {\n display: none;\n }\n\n @media (max-width: 1024px) {\n width: 100vw;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .top-menu {\n display: block;\n z-index: 20;\n }\n\n svg {\n width: 34px;\n height: 34px;\n color: #3d3d3d;\n }\n }\n\n .unavailable {\n cursor: not-allowed;\n transition: ease-in 0.2s;\n }\n`;\n\nexport const LSideBar = styled.aside`\n width: 250px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: stretch;\n gap: 24px;\n\n .logo {\n margin: auto;\n width: 120px;\n height: auto;\n }\n\n li {\n text-transform: capitalize;\n }\n\n @media (max-width: 1024px) {\n width: 100%;\n }\n`;\n\nexport const Menu = styled.div`\n width: 100%;\n height: 100%;\n background: #fefefede;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n\n ul {\n width: 100%;\n margin: 32px 0;\n }\n\n li {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n list-style: none;\n margin: 10px 32px;\n font-size: 14px;\n font-weight: bold;\n color: #989898;\n cursor: pointer;\n transition: ease-in 0.2s;\n padding: 1rem;\n border-radius: 8px;\n\n svg {\n width: 18px;\n height: 18px;\n margin-right: 2rem;\n }\n\n &:hover {\n color: #e1e8ec;\n background: #3a4450;\n }\n }\n\n .active {\n color: #3d3d3d;\n }\n\n #Danger {\n color: #cd5656;\n\n svg {\n color: #cd5656;\n }\n }\n\n .divider {\n width: 70%;\n height: 2px;\n background: #53d574;\n\n &::after {\n content: '';\n }\n }\n\n @media (max-width: 1024px) {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 24px;\n }\n`;\n\nexport const UpgradePlan = styled.div`\n width: 100%;\n height: 22rem;\n padding: 2rem;\n background-image: url(${bgimg});\n background-color: #fefefede;\n background-repeat: no-repeat;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n transition: 0.2s ease-in;\n font-weight: bold;\n\n &:hover {\n cursor: pointer;\n filter: brightness(0.9);\n }\n\n p {\n text-align: center;\n font-size: 2rem;\n }\n\n .upgrade {\n width: 50%;\n height: 45px;\n margin: 2rem 0;\n font-size: 2rem;\n font-weight: bold;\n display: flex;\n gap: 2rem;\n justify-content: center;\n align-items: center;\n border-radius: 8px;\n }\n\n button {\n margin: 1rem;\n padding: 1rem;\n border-radius: 8px;\n }\n\n @media (max-width: 1024px) {\n height: 255px;\n\n .upgrade {\n width: 100%;\n height: 255px;\n padding: 2rem;\n margin: 2rem;\n font-weight: normal;\n }\n }\n`;\n\nexport const Main = styled.main`\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: stretch;\n gap: 24px;\n\n .searchbox-container {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 24px;\n }\n\n .actions {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n ul {\n display: flex;\n width: 100%;\n gap: 24px;\n\n li {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 20px;\n list-style: none;\n background: #fefefede;\n width: 92px;\n height: 72px;\n transition: ease-in 0.2s;\n cursor: pointer;\n\n &:hover {\n color: #e1e8ec;\n background: #3a4450;\n }\n\n svg {\n width: 32px;\n height: 32px;\n }\n }\n }\n }\n\n @media (max-width: 1024px) {\n .actions {\n display: none;\n }\n }\n`;\n\nexport const SearchBox = styled.div`\n width: 100%;\n height: 72px;\n display: flex;\n padding: 25px 30px;\n align-items: baseline;\n background: #fefefede;\n border-radius: 20px;\n transition: ease-in 0.2s;\n cursor: pointer;\n color: #3d3d3d;\n\n h2 {\n text-transform: capitalize;\n }\n\n p {\n margin-right: 0.5rem;\n }\n`;\n\nexport const Metrics = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 24px;\n\n .metrics-container {\n width: 100%;\n display: flex;\n gap: 24px;\n }\n\n .card {\n width: 100%;\n height: 152px;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-shadow: 4px 24px 45px -20px rgba(31, 154, 63, 0.1);\n\n span {\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #3d3d3d;\n }\n\n span svg {\n margin-right: 1rem;\n width: 24px;\n height: auto;\n }\n\n strong {\n font-size: 27px;\n text-transform: uppercase;\n color: #3d3d3d;\n }\n }\n\n .finance,\n .expense {\n width: 50%;\n background: #fefefede;\n color: #1f9a3f;\n }\n\n .card-graphic {\n height: 331px;\n box-shadow: none;\n font-size: 14px;\n }\n\n .help-text {\n font-weight: lighter;\n margin-top: 0.8rem;\n font-size: 12px;\n color: #989898 !important;\n }\n\n @media (max-width: 1024px) {\n width: 100%;\n\n .metrics-container {\n display: none;\n }\n\n .card {\n width: 100%;\n }\n }\n`;\n\nexport const Dataset = styled.div`\n width: 100%;\n padding: 27px 30px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n background: #fefefede;\n border-radius: 20px;\n color: #3d3d3d;\n\n p {\n font-weight: bold;\n color: #989898;\n }\n\n table {\n width: 100%;\n font-size: 12px;\n font-weight: bold;\n border-collapse: collapse;\n }\n\n td,\n th {\n text-align: left;\n padding: 10px;\n width: 23%;\n }\n\n th {\n color: #989898;\n }\n\n tr {\n transition: ease-in 0.2s;\n }\n\n tr:nth-child(1n + 2):hover {\n color: #e1e8ec;\n background: #3a4450;\n cursor: pointer;\n }\n\n .flex {\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 16px;\n width: 100%;\n\n img {\n width: 27px;\n height: 27px;\n border-radius: 100%;\n }\n }\n\n svg {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const VerifiedDocs = styled.section`\n div {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #1c3438;\n font-size: 1.5rem;\n\n svg {\n width: 5rem;\n height: 5rem;\n margin: auto 1.5rem;\n }\n }\n\n .verified {\n svg {\n width: 2rem;\n height: 2rem;\n margin: auto 1.5rem;\n color: green;\n }\n }\n`;\n\nexport const ContactButton = styled.button`\n ${({ theme }) => css`\n margin: 4rem auto 0;\n border: none;\n border-radius: 5rem;\n background: transparent;\n color: ${theme.colors['blue-shade-400']};\n display: flex;\n align-items: center;\n gap: 1rem;\n svg {\n width: 2rem;\n height: 2rem;\n }\n `}\n`;\n\nexport const RSideBar = styled.aside`\n width: 326px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: stretch;\n gap: 24px;\n\n @media (max-width: 1024px) {\n width: 100%;\n display: flex;\n flex-direction: column;\n }\n`;\n\nexport const Profile = styled.div`\n width: 100%;\n padding: 30px;\n background: #fefefede;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n\n img {\n width: 96px;\n height: 96px;\n object-fit: cover;\n border-radius: 100%;\n border: 2px solid #1f9a3f;\n padding: 4px;\n }\n\n .divider {\n width: 100%;\n height: 2px;\n background: #53d574;\n margin-bottom: 40px;\n\n &::after {\n content: '';\n }\n }\n`;\n\nexport const User = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n strong {\n font-weight: 900;\n color: #3d3d3d;\n text-transform: capitalize;\n }\n\n .actions {\n width: 100%;\n\n ul {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 24px;\n margin: 24px 0 40px 0;\n }\n\n li {\n list-style: none;\n background: #f1fcf3;\n width: 70px;\n height: 59px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 10px;\n cursor: pointer;\n transition: ease-in 0.2s;\n\n &:hover {\n filter: brightness(0.9);\n }\n }\n }\n\n .tooltip {\n position: relative;\n display: inline-block;\n }\n\n /* Tooltip text */\n .tooltip .tooltiptext {\n visibility: hidden;\n background-image: url(${bgimg});\n color: #fff;\n text-align: center;\n font-weight: bold;\n font-size: 12px;\n padding: 0.5rem;\n border-radius: 6px;\n\n /* Position the tooltip text */\n position: absolute;\n z-index: 1;\n }\n\n .tooltip:hover .tooltiptext {\n visibility: visible;\n }\n\n strong {\n padding-top: 8px;\n font-size: 16px;\n color: #3d3d3d;\n }\n\n p {\n font-weight: bold;\n font-size: 12px;\n color: #989898;\n }\n`;\n\nexport const About = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n font-weight: bold;\n gap: 8px;\n\n strong {\n font-size: 14px;\n color: #3d3d3d;\n }\n\n p {\n font-size: 12px;\n color: #989898;\n line-height: 24px;\n }\n`;\n\nexport const StatusAccont = styled.div`\n width: 100%;\n height: 100%;\n line-height: 24px;\n font-size: 12px;\n\n padding: 30px;\n background: #fefefede;\n border-radius: 20px;\n\n strong {\n font-weight: 900;\n color: #3d3d3d;\n font-size: 14px;\n display: flex;\n justify-content: start;\n align-items: flex-start;\n gap: 20px;\n }\n\n p {\n font-weight: bold;\n color: #989898;\n }\n\n ul {\n display: flex;\n flex-direction: column;\n margin: 30px 0;\n gap: 24px;\n\n li {\n list-style: none;\n display: flex;\n align-items: center;\n gap: 20px;\n\n svg {\n width: 24px;\n height: 24px;\n color: #fabe25;\n }\n }\n }\n`;\n","import styled from 'styled-components';\n\nexport const LSideBar = styled.aside`\n width: 400px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: stretch;\n gap: 24px;\n\n .logo {\n margin: auto;\n width: 120px;\n height: auto;\n }\n\n li {\n text-transform: capitalize;\n }\n\n @media (max-width: 1024px) {\n width: 100%;\n }\n`;\n\nexport const Menu = styled.div`\n width: 100%;\n height: 100%;\n background: #fefefede;\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n\n ul {\n width: 100%;\n margin: 32px 0;\n }\n\n li {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n list-style: none;\n margin: 10px 32px;\n font-size: 14px;\n font-weight: bold;\n color: #989898;\n cursor: pointer;\n transition: ease-in 0.2s;\n padding: 1rem;\n border-radius: 8px;\n\n svg {\n width: 18px;\n height: 18px;\n margin-right: 2rem;\n }\n\n &:hover {\n color: #e1e8ec;\n background: #3a4450;\n }\n }\n\n .active {\n color: #3d3d3d;\n }\n\n #Danger {\n color: #cd5656;\n\n svg {\n color: #cd5656;\n }\n }\n\n .divider {\n width: 70%;\n height: 2px;\n background: #53d574;\n\n &::after {\n content: '';\n }\n }\n\n @media (max-width: 1024px) {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 24px;\n }\n`;\n","import React from 'react';\nimport { Home, InfoSquare, User, Logout, Bag, Lock } from 'react-iconly';\nimport * as S from './styles';\n\nimport logo from '../../images/logo-cuid.png';\nimport { useAuth } from '../../hooks/AuthContext';\nimport { Link } from 'react-router-dom';\n\nconst Sidebar: React.FC = () => {\n const { signOut } = useAuth();\n\n return (\n \n \"Logo\n \n
\n \n
\n\n
\n
    \n
  • \n \n Sair\n
  • \n
\n
\n
\n
\n );\n};\n\nexport default Sidebar;\n","import React, { useState } from 'react';\nimport { Link, useHistory } from 'react-router-dom';\nimport { loadStripe } from '@stripe/stripe-js';\nimport * as Yup from 'yup';\nimport * as S from './styles';\nimport api from '../../../services/api';\nimport { useAuth } from '../../../hooks/AuthContext';\nimport { capitalizeUserName } from '../../../utils/formatString';\nimport Sidebar from '../../../components/Sidebar';\nimport {\n Send,\n Activity,\n Show,\n Message,\n Notification,\n Paper,\n Danger,\n Download,\n Buy,\n} from 'react-iconly';\nimport {\n FiCheckCircle,\n FiInfo,\n FiMenu,\n FiUploadCloud,\n FiX,\n} from 'react-icons/fi';\nimport { useSocialShare } from '../../../hooks/SocialShareContext';\n\nconst imgNoProfile = 'https://app-cuid.s3.amazonaws.com/no-avatar.png';\n\nconst Dashboard: React.FC = () => {\n const { toggleSocialShare } = useSocialShare();\n\n const { user } = useAuth();\n const layUserName = capitalizeUserName(user.name);\n const slug = user.slug;\n\n const [isOpen, setOpen] = useState(true);\n function showMobileMenu() {\n setOpen(!isOpen);\n }\n\n const [name] = useState(user.name.toUpperCase());\n const [email] = useState(user.email);\n const [registry_code] = useState(user.cpf);\n const [street] = useState(user.address);\n const [number] = useState(user.numberHouse);\n const [neighborhood] = useState(user.neighborhood);\n const [additional_details] = useState('');\n const [zipcode] = useState(user.zip);\n const [city] = useState(user.city);\n const [state] = useState(user.uf);\n const [whatsapp] = useState(user.whatsapp);\n const [country] = useState('BR');\n const history = useHistory();\n\n const makePayment = async () => {\n const stripe = await loadStripe(\n 'pk_live_51IcJg5FxYI3sgKUsiC2NoBcCJoeWz2bep1hQZ4ZGj0onr7F8gH8koJoBijSzWIry3k7VLiOByKnn7v426j47zqRT00qxUoWYF6',\n );\n\n const response = await api.post('payments/create-checkout-session');\n\n const session = await response.data;\n const result = stripe?.redirectToCheckout({\n sessionId: session.id,\n });\n\n if ((await result)?.error) {\n console.log((await result)?.error);\n }\n };\n\n function sendNotificationAboutDocs() {\n fetch('https://ntfy.sh/202211_NOTIFICATIONS_ABOUT_CUID', {\n method: 'POST',\n body: `Envio de documentos do usuário ${name} - ${user.email}`,\n headers: {\n Actions: `view, Abrir Whatsapp, https://wa.me/55${whatsapp}?text=Ol%C3%A1!%20Precisa%20de%20ajuda%20para%20verificar%20o%20seu%20perfil?`,\n },\n });\n }\n\n return (\n \n
\n {isOpen ? : }\n
\n {isOpen ? : ''}\n\n \n
\n \n

Olá, {layUserName}

\n
\n
\n
    \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n
\n\n {user.payment_status ? (\n \n

Seu plano esta ativo!

\n

\n Agora você recebe a prioridade nas vagas de parceiros da Cuid!\n

\n
\n ) : (\n \n

Potencialize seu perfil!

\n

\n Ative o plano premium em seu perfil por R$ 29,90/mês e aumente\n suas chances de conseguir mais plantões!\n

\n \n
\n )}\n\n {/** \n
\n
\n \n \n Visualizações\n \n EM BREVE\n Pessoas visitaram seu perfil\n
\n
\n \n \n Cliques no Whatsapp\n \n EM BREVE\n \n Pessoas entraram em contato por whatsapp\n \n
\n
\n \n \n Cliques no Email\n \n EM BREVE\n Pessoas entraram em contato por email.\n .\n
\n
\n
\n\n \n Documentos e Manuais\n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n
\n
\n \n \n\n \n \n \n \n \n \n \n
DocumentoCriado emDownload
\n \n Contrato de Trabalho\n 01/04/2023\n \n
\n \n Controle de Sinais Vitais\n 01/04/2023\n \n
\n \n Controle de Horas\n 01/04/2023\n \n
\n
*/}\n\n \n {user.verified ? (\n \n
\n \n

Sua conta foi verificada com sucesso.

\n
\n
\n ) : (\n \n
\n \n

\n Precisamos validar suas informações, para isso tenha em mãos\n seu documento de identificação com foto.\n

\n
\n\n \n \n \n Enviar documentos\n \n \n
\n )}\n
\n
\n\n \n \n \n {user.avatar_url ? (\n {user.name}\n ) : (\n {user.name}\n )}\n {layUserName}\n

{user.occupation}

\n\n
\n
    \n \n
    \n Ver perfil\n
  • \n \n
  • \n
    \n \n\n \n toggleSocialShare(\n `https://app.cuid.com.br/me/${slug}`,\n 'Veja meu perfil profissional na Cuid',\n )\n }\n >\n Compartilhar\n
  • \n \n
  • \n
\n\n
\n Baixar Currículo\n
  • \n \n
  • \n
    \n \n \n
    \n
    \n \n Sobre mim\n

    {user.bio}

    \n
    \n
    \n\n {/**\n * \n Seu Perfil\n

    \n Para aumentar suas chances de conseguir um plantão, revise os itens\n abaixo:\n

    \n
      \n
    • \n \n
      \n

      Foto de perfil

      \n
      \n
    • \n
    • \n \n
      \n

      Whatsapp

      \n
      \n
    • \n
    • \n \n
      \n

      Resumo

      \n
      \n
    • \n
    • \n \n
      \n

      Valor do plantão

      \n
      \n
    • \n
    \n
    \n *\n */}\n
    \n
    \n );\n};\n\nexport default Dashboard;\n","/* eslint-disable indent */\nimport styled, { css } from 'styled-components';\n\nexport const Container = styled.div`\n ${({ theme }) =>\n theme &&\n css`\n position: relative;\n cursor: help;\n\n &::after {\n content: attr(data-title);\n\n position: absolute;\n display: block;\n width: max-content;\n padding: 0.8rem;\n border-radius: 0.6rem;\n\n background: ${theme.colors['green-600']};\n color: ${theme.colors.white};\n font-weight: 500;\n font-size: 1.3.2rem;\n\n bottom: calc(100% + 1.3.2rem);\n\n left: 50%;\n transform: translateX(-50%);\n }\n\n &::before {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n top: -1.3rem;\n bottom: 0;\n\n border-left: 0.8rem solid transparent;\n border-right: 0.8rem solid transparent;\n\n border-top: 0.8rem solid ${theme.colors['green-600']};\n\n left: 50%;\n transform: translateX(-50%);\n }\n\n &::after,\n ::before {\n opacity: 0;\n visibility: hidden;\n transition: 0.4s ease-in-out;\n }\n\n &:hover {\n ::after,\n ::before {\n opacity: 1;\n visibility: visible;\n }\n }\n `}\n`;\n","import React from 'react';\n\nimport { Container } from './styles';\n\ninterface TooltipProp {\n title: string;\n className?: string;\n children: React.ReactNode;\n}\n\nexport function Tooltip({\n title,\n className,\n children,\n}: TooltipProp): JSX.Element {\n return (\n \n {children}\n \n );\n}\n","import styled, { css } from 'styled-components';\n\nimport { Tooltip } from '../../components/Tooltip';\nimport Button from '../../components/Button';\n\nexport const Container = styled.div``;\n\nexport const Content = styled.main`\n ${({ theme }) => css`\n flex: 1;\n margin: 0 auto;\n padding: 0 3.2rem;\n\n form {\n max-width: 700px;\n margin: 6.2rem auto;\n\n display: flex;\n flex-direction: column;\n\n border-radius: 0.5rem;\n border: 1px solid ${theme.colors['blue-50']};\n background: ${theme.colors.white};\n padding: 5rem 8rem;\n\n overflow: hidden;\n input {\n border: 0.1rem solid rgb(231, 229, 229);\n }\n fieldset {\n border: none;\n\n & + fieldset {\n margin-top: 8rem;\n }\n\n legend {\n width: 100%;\n\n font-size: 3.2rem;\n line-height: 2.5rem;\n font-weight: 400;\n color: ${theme.colors['blue-shade-400']};\n\n border-bottom: 1px solid ${theme.colors['blue-50']};\n margin-bottom: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .update-password {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${theme.colors['blue-shade-400']};\n margin: 4rem 0 0;\n }\n }\n\n @media (max-width: 600px) {\n padding: 3.2rem 2.5rem;\n margin: 3.2rem auto;\n }\n\n @media (max-width: 420px) {\n padding: 1.8rem 3.2rem;\n\n fieldset {\n border: 0;\n\n & + fieldset {\n margin-top: 2.5rem;\n }\n\n legend {\n width: 100%;\n\n font-size: 3.2rem;\n line-height: 2.8rem;\n margin-bottom: 3.2rem;\n padding-bottom: 1.3.2rem;\n }\n }\n }\n }\n `}\n`;\n\nexport const Label = styled.label`\n ${({ theme }) => css`\n display: flex;\n align-items: baseline;\n color: ${theme.colors['blue-shade-200']};\n margin: 2.5rem 0 0.8rem;\n line-height: 2.5rem;\n\n span {\n font-size: 1.2.5rem;\n color: ${theme.colors['blue-shade-200']};\n margin-left: 2.5rem;\n line-height: 2.5rem;\n }\n\n @media (max-width: 420px) {\n margin: 3.2rem 0 0.6rem;\n line-height: 2.5rem;\n\n span {\n font-size: 1.2.5rem;\n color: ${theme.colors['blue-shade-200']};\n margin-left: 3.2rem;\n line-height: 3.2rem;\n }\n }\n `}\n`;\nexport const Avatar = styled.div`\n ${({ theme }) => css`\n display: flex;\n align-items: center;\n justify-content: center;\n\n div {\n width: 20rem;\n height: 20rem;\n position: relative;\n }\n\n img {\n width: 20rem;\n height: 20rem;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 1.8rem;\n }\n\n label {\n width: 4.8rem;\n height: 4.8rem;\n border-radius: 50%;\n margin: 0;\n line-height: 0;\n background: ${theme.colors['green-600']};\n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n position: absolute;\n right: -1.5rem;\n bottom: 2.5rem;\n\n transition: filter 0.2s;\n\n svg {\n width: 2.5rem;\n height: 2.5rem;\n color: ${theme.colors.white};\n }\n\n &:hover {\n filter: brightness(0.8);\n }\n }\n\n input {\n display: none;\n }\n `}\n`;\n\nexport const WrapperSlugEdit = styled.section`\n ${({ theme }) => css`\n border-top: 1px solid ${theme.colors['blue-50']};\n border-bottom: 1px solid ${theme.colors['blue-50']};\n padding: 5rem 0;\n margin: 5rem 0;\n\n strong {\n display: flex;\n align-items: center;\n margin-bottom: 0.8rem;\n color: ${theme.colors['blue-shade-400']};\n\n > svg {\n width: 3.2rem;\n height: 3.2rem;\n margin-right: 1rem;\n }\n }\n `}\n`;\n\nexport const personalizeLink = styled.span`\n ${({ theme }) => css`\n align-items: baseline;\n font-size: 1.2.5rem;\n font-weight: 500;\n color: ${theme.colors['blue-shade-400']};\n filter: brightness(0.7);\n margin-top: 0.8rem;\n\n cursor: help;\n\n span {\n color: ${theme.colors['green-600']};\n }\n\n svg {\n width: 1.6rem;\n height: 1.6rem;\n margin-left: 1rem;\n }\n `}\n`;\n\nexport const UpdateButton = styled(Button)`\n margin-top: 2.5rem;\n`;\n\nexport const Information = styled(Tooltip)`\n &::after {\n max-width: 220px;\n\n left: 0%;\n transform: translateX(-0%);\n }\n\n &::before {\n left: 35%;\n transform: translateX(-35%);\n }\n`;\n","import React, {\n ChangeEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { FiCamera, FiLink, FiEdit3 } from 'react-icons/fi';\nimport { FormHandles } from '@unform/core';\nimport { Form } from '@unform/web';\nimport * as Yup from 'yup';\nimport axios from 'axios';\nimport slugify from 'slugify';\n\nimport api from '../../services/api';\nimport { useToast } from '../../hooks/toast';\nimport { useAuth } from '../../hooks/AuthContext';\nimport getValidationErrors from '../../utils/getValidationsErrors';\nimport { formatCurrency, cpfMask, phoneMask, cepMask } from '../../utils/mask';\n\nimport Header from '../../components/Header';\nimport Input from '../../components/Input';\nimport Select from '../../components/Select';\nimport { TextArea } from '../../components/TextareaComponent';\n\nimport imgNoProfile from '../../images/no-avatar.png';\nimport * as S from './styles';\n\nconst defaultMessage = 'Campo obrigatório';\nconst alerMessage = 'número máximo de caracteres excedido!';\nconst options = [\n { value: 'true', label: 'Sim' },\n { value: 'false', label: 'Não' },\n];\n\ninterface FormData {\n name: string;\n slug: string; //\n email: string;\n old_password: string;\n password: string;\n password_confirmation: string;\n whatsapp: string; //\n cpf: string;\n zip: string;\n address: string;\n numberHouse: string;\n city: string;\n uf: string;\n neighborhood: string;\n latitude: number;\n longitude: number;\n birthday: Date;\n bio: string;\n occupation: string;\n cost: number;\n availability: string;\n formation: string;\n genre: string;\n}\ninterface CaregiverLocation {\n responseObject: {\n zipcode: string;\n longitude: number | string;\n latitude: number | string;\n venue: string;\n neighborhood: string;\n city: string;\n state: string;\n };\n}\n\nconst EditProfile: React.FC = () => {\n const formRef = useRef(null);\n const history = useHistory();\n const { user, updateCaregiver } = useAuth();\n const { addToast } = useToast();\n\n const zipFormatted = cepMask(user.zip);\n\n const [zip, setZip] = useState(zipFormatted); // user.zip\n // eslint-disable-next-line\n const [address, setAddress] = useState('');\n const [neighborhood, setNeighborhood] = useState('');\n const [availability] = useState('');\n // const [formation] = useState(true);\n const [city, setCity] = useState('');\n const [uf, setUf] = useState(''); //\n const [longitude, setLongitude] = useState(user.longitude);\n const [latitude, setLatitude] = useState(user.latitude);\n const [slug, setSlug] = useState(user.slug);\n\n const [formation, setFormation] = useState({\n value: {\n label: user.formation === 'true' ? 'Sim' : 'Não',\n value: user.formation === 'true' ? 'true' : 'false',\n },\n });\n\n // const formationFormatted = ;\n const costFormatted = formatCurrency(user.cost);\n const cpfFormatted = cpfMask(user.cpf);\n const whatsappFormatted = phoneMask(user.whatsapp);\n\n const [costValue, setCostValue] = useState(costFormatted);\n\n // handle format date dd-MM-yyyy\n const [year, month, day] = user.birthday.split('T')[0].split('-');\n const dateFormatted = `${day}/${month}/${year}`;\n\n const initialFormaData = {\n name: user.name,\n slug: user.slug,\n email: user.email,\n whatsapp: whatsappFormatted,\n cpf: cpfFormatted,\n zip: zipFormatted,\n address: user.address,\n numberHouse: user.numberHouse,\n city: user.city,\n uf: user.uf,\n neighborhood: user.neighborhood,\n latitude: user.latitude,\n longitude: user.longitude,\n birthday: dateFormatted,\n bio: user.bio,\n occupation: user.occupation,\n cost: costFormatted,\n availability: user.availability,\n formation: user.formation === 'true' ? 'Sim' : 'Não',\n genre: user.genre,\n };\n\n const loadLocationData = useCallback(() => {\n axios\n .get(\n `https://api.famyle.com/api/locations/zipcode/${zip}`,\n )\n .then(response => {\n const { venue, neighborhood, city, state, latitude, longitude } =\n response.data.responseObject;\n setAddress(venue);\n setCity(city);\n setNeighborhood(neighborhood);\n setUf(state);\n setLongitude(longitude);\n setLatitude(latitude);\n });\n }, [zip]);\n\n useEffect(() => {\n loadLocationData();\n }, [zip, loadLocationData]);\n\n const handleSubmit = useCallback(\n async (data: FormData) => {\n // handle format date to yyyy-MM-ddT00:00:00.000Z\n const [day, month, year] = String(data.birthday).split('/');\n const fullDate = `${year}-${month}-${day}T00:00:00.000Z`;\n\n const formattedFormData = {\n ...data,\n\n cpf: data.cpf.replace(/\\D/gi, ''),\n whatsapp: data.whatsapp.replace(/\\D/gi, ''),\n zip: data.zip.replace(/\\D/gi, ''),\n birthday: fullDate,\n cost: data.cost.toString().replace(/\\D/gi, ''),\n latitude: String(latitude),\n longitude: String(longitude),\n slug: slugify(data.slug, {\n replacement: '',\n remove: /[*+~.()'\"!:@-]/g,\n }),\n };\n\n try {\n formRef.current?.setErrors({});\n\n const schema = Yup.object().shape({\n name: Yup.string().required('Nome obrigatório'),\n slug: Yup.string().required('Informe um nome ou apelido'),\n email: Yup.string()\n .email('Digite um email válido')\n .required('E-mail obrigatório'),\n whatsapp: Yup.string().required(defaultMessage),\n cpf: Yup.string()\n .max(11, 'No máximo 11 digitos!')\n .required(defaultMessage),\n zip: Yup.string().max(8, alerMessage).required(defaultMessage),\n address: Yup.string().max(100, alerMessage).required(defaultMessage),\n numberHouse: Yup.string()\n .max(10, alerMessage)\n .required(defaultMessage),\n city: Yup.string().max(50, alerMessage).required(defaultMessage),\n uf: Yup.string().max(2, alerMessage).required(defaultMessage),\n neighborhood: Yup.string().required(defaultMessage),\n birthday: Yup.date().required(defaultMessage),\n bio: Yup.string().required(defaultMessage),\n occupation: Yup.string().required(defaultMessage),\n cost: Yup.string().required(defaultMessage),\n availability: Yup.string().required(defaultMessage),\n formation: Yup.string().required(defaultMessage),\n genre: Yup.string().required(defaultMessage),\n });\n\n await schema.validate(formattedFormData, {\n abortEarly: false,\n });\n\n const token = localStorage.getItem('@Cuid:token');\n api.defaults.headers.authorization = `Bearer ${token}`;\n\n const response = await api.put('/perfil', formattedFormData);\n\n updateCaregiver(response.data);\n\n history.push('/dashboard');\n\n addToast({\n type: 'success',\n title: 'Perfil atualizado!',\n description: 'Suas informações do perfil foram atualizadas!',\n });\n } catch (err) {\n if (err instanceof Yup.ValidationError) {\n const errors = getValidationErrors(err);\n\n formRef.current?.setErrors(errors);\n\n return;\n }\n\n addToast({\n type: 'error',\n title: 'Erro na atualização',\n description: 'Ocorreu um erro ao atualizar perfil, tente novamente.',\n });\n }\n },\n [addToast, latitude, longitude, history, updateCaregiver],\n );\n\n const handleAvatarChange = useCallback(\n (e: ChangeEvent) => {\n const token = localStorage.getItem('@Cuid:token');\n api.defaults.headers.authorization = `Bearer ${token}`;\n\n if (e.target.files) {\n const data = new FormData();\n\n data.append('avatar', e.target.files[0]);\n\n api.patch('/cadastro/avatar', data).then(response => {\n updateCaregiver(response.data);\n\n addToast({\n type: 'success',\n title: 'Foto de perfil atualizada!',\n });\n });\n }\n },\n [addToast, updateCaregiver],\n );\n\n function handleChange(value: any) {\n setFormation({ value });\n }\n\n return (\n \n
    \n\n \n \n
    \n Meu Perfil\n\n \n
    \n {user.avatar_url ? (\n {user.name}\n ) : (\n \"usuário\n )}\n \n
    \n
    \n\n \n \n \n Alterar sua URL Personalizada\n \n\n \n \n https://app.cuid.com.br/me/\n \n \n \n\n {slugify(slug, {\n replacement: '',\n remove: /[*+~.()'\"!:@-]/g,\n })}\n \n \n \n \n\n Digite seu link personalizado\n setSlug(e.target.value)}\n maxLength={50}\n />\n \n\n Nome completo\n \n\n Gênero \n \n\n \n CPF use somente números\n \n \n\n Whatsapp\n \n\n CEP\n setZip(event.target.value)}\n maxLength={9}\n />\n\n Endereço\n \n\n Número\n \n\n Bairro\n \n\n Cidade\n \n\n Estado\n \n\n Data de nascimento\n \n\n \n Sobre mim Máximo de 300 caracteres\n \n