{"version":3,"sources":["styles/colors.ts","utils/consts.ts","styles/global.ts","configs/constants.ts","pages/Auth/authStyles.ts","services/api.ts","services/auth.ts","assets/images/viewOn.svg","assets/images/viewOff.svg","assets/images/envelope.svg","routes/navigation.tsx","pages/Modules/modulesStyles.ts","components/ModalLoading.tsx","pages/Auth/AuthPage.tsx","pages/Category/categoryStyles.ts","routes/DrawerNavigation/drawerNavigationFunctions.ts","routes/DrawerNavigation/drawerNavigationStyles.ts","assets/images/logoBiblicalGreek.png","assets/images/logoE4B.png","assets/images/logoE4Keys.png","assets/images/logoE4L.png","assets/images/logoE4MED.png","assets/images/logoE4Nutri.png","assets/images/logoGregoBiblico.png","assets/images/logoInglesTec.png","assets/images/logoIpsis.png","assets/images/logoMic.png","assets/images/logoE4CE.png","assets/images/logoHebraicodabiblia.png","routes/DrawerNavigation/DrawerNavigation.tsx","services/category.ts","pages/Category/CategoryPage.tsx","services/modules.ts","assets/images/default.png","pages/Modules/components/taskConstants.ts","pages/Modules/components/ContainerInfoModules.tsx","pages/Modules/components/ContainerInfoTasks.tsx","assets/images/defaultSound.png","services/uploads.ts","services/tasks.ts","pages/Modules/components/TaskCompletedPhrase.tsx","pages/Modules/components/TaskConnectPhrases.tsx","pages/Modules/components/TaskConnectWord.tsx","pages/Modules/components/TaskConnectWordToImages.tsx","pages/Modules/components/TaskOrderWord.tsx","pages/Modules/components/TaskSelectedWord.tsx","configs/firebase.ts","pages/Modules/modulesFunctions.ts","pages/Modules/components/TaskSelectedWordImage.tsx","pages/Modules/components/TaskSelectedWordForQuestion.tsx","pages/Modules/components/TaskAssociateWord.tsx","pages/Modules/components/TaskOrderWordCompletedPhrase.tsx","pages/Modules/components/TaskSelectedWordForTranslation.tsx","pages/Modules/components/TaskInfoPhrases.tsx","pages/Modules/components/ModalAddModules.tsx","pages/Users/usersStyles.ts","pages/Modules/ModulesPage.tsx","pages/Plans/plansConstants.ts","pages/Plans/plansStyles.ts","pages/Plans/plansFunctions.ts","services/plans.ts","pages/Plans/PlansPage.tsx","services/users.ts","utils/functions.ts","pages/Users/UsersPage.tsx","pages/Finance/financeStyles.ts","services/finance.ts","pages/Finance/FinancePage.tsx","pages/Functionalities/functionalitiesStyles.ts","pages/Functionalities/Tabs/ContactsTab/styles.ts","services/funtionalities.ts","pages/Functionalities/Tabs/ContactsTab/index.tsx","pages/Functionalities/Tabs/TextTab/styles.ts","pages/Functionalities/Tabs/TextTab/components/ModalCreate/styles.ts","pages/Functionalities/Tabs/TextTab/components/ModalCreate/index.tsx","pages/Functionalities/Tabs/TextTab/index.tsx","pages/Functionalities/Tabs/TranslationTab/styles.ts","pages/Functionalities/Tabs/TranslationTab/components/ModalCreate/styles.ts","pages/Functionalities/Tabs/TranslationTab/components/ModalCreate/index.tsx","pages/Functionalities/Tabs/TranslationTab/index.tsx","pages/Functionalities/FunctionalitiesPage.tsx","pages/Historic/historicStyles.ts","services/histories.ts","pages/Historic/HistoricPage.tsx","pages/Emails/emailsStyles.ts","services/emails.ts","pages/Emails/EmailsPage.tsx","pages/Politic/styles.ts","pages/Politic/index.tsx","pages/PoliticEs/styles.ts","pages/PoliticEs/index.tsx","pages/DeleteAccount/deleteAccountStyles.ts","pages/DeleteAccount/DeleteAccountPage.tsx","routes/index.tsx","App.tsx","index.tsx"],"names":["colors","basic","black","blue","gray","white","theme","red","purpleDark","purpleLight","smoke","default","family","globalStyle","createGlobalStyle","consts","isStaging","window","location","hostname","includes","isBeta","isProd","baseUrl","nameEnvironment","namesSystem","pickerNamesSystem","id","name","ButtonAction","styled","button","props","backgroundColor","enabledPointer","BoxInputs","div","CheckBox","input","Container","ContainerCheckBox","InputAuth","Title","h1","TitleInputAuth","TitleRemember","InputIconview","ImageView","img","baseURL","contants","api","axios","create","email","password","type","applicationType","body","post","response","data","alert","message","code","idUser","patch","refresh","configs","headers","Login","EmitCode","RefreshToken","ToNavigation","redirect","pathRoute","to","CloseModal","ContainerAdjustIconEdit","right","ContainerBox","ContainerMore","ContainerOptions","positionItemVertical","wrap","positionItemHorizontal","marginTop","width","maxWidth","InfoOption","InputNullSelectedPhoto","LineSeparator","Logo","TitleBox","TitleOption","ModalLoading","activeLoading","Modal","disableBackdropClick","disableEscapeKeyDown","open","color","height","AuthPage","useState","focusPassword","setFocusPassword","activeCheckBox","setActiveCheckBox","setRedirect","setActiveLoading","messageAlert","setMessageAlert","dataUser","setDataUser","setCode","formUser","setFormUser","verifyButton","setVerifyButton","re","useEffect","validatePassword","length","validateEmail","test","String","toLowerCase","emailLocalStorage","localStorage","getItem","SendCode","auth","sign","result","setItem","removeItem","token","tokenRefresh","KeyUpInputs","value","key","verification","setVerification","autoFocus","onChange","e","target","placeholder","onClick","onFocus","onKeyUp","src","envelope","viewOn","viewOff","Alert","action","severity","style","alignSelf","checked","ContainerPaginator","ContainerTitle","ContainerOptionsInput","ContainerModal","ContainerBoxModal","text","ValidationBackgroundColorButton","index","document","URL","ValidationColorIcon","ContainerInfoMaster","ContainerList","ScrollOptions","ContainerLogout","DrawerOption","ListItem","a","ListItemLogout","Subtitle","Version","DrawerNavigation","emailBank","nameBank","AllOptionsDrawer","openDrawerLeft","setOpenDrawerLeft","setPathRoute","RenderIcon","colorTrade","Folder","AccountBox","Bookmarks","AttachMoney","Restore","Star","Email","ExitToApp","RenderOptions","map","TransitionScreen","Menu","fontSize","Drawer","anchor","onClose","logoIpsis","logoMic","logoGregoBiblico","logoBiblicalGreek","logoE4B","logoE4L","logoE4MED","logoE4Nutri","logoE4Keys","logoE4CE","logoHebraicodabiblia","logoInglesTec","Divider","reload","version","page","searchTxt","limit","get","category","idCategory","put","delete","ListCategory","CreateOnlyCategory","EditOnlyCategory","DeleteOnlyCategory","CategoryPage","adjustStyleFab","initialInputs","title","allCategory","setAllCategory","search","setSearch","setPage","qtdPages","setQtdPages","inputs","setInputs","openModal","setOpenModal","GetListCategory","listCategory","list","handleClickModal","handleChange","event","infoObj","deleteCategory","handleChangePage","CreateNewCategory","editCategory","status","createCategory","timeOutId","setTimeout","clearTimeout","RenderListItems","item","dateCreated","valueItemEdit","valueItemDelete","dateInt","Number","date","addHours","Date","formatDate","lightFormat","formatHour","concatDate","Select","MenuItem","SearchUsers","txt","TextField","fullWidth","label","Fab","variant","Add","renderItem","Pagination","count","shape","Button","endIcon","NavigateBefore","Send","idModule","environment","module","dataModule","ListModules","DeleteModules","TradeEnvironment","CreateOnlyModule","EditModule","initialDataTaskSelectedWord","correct","file","options","subtitle","skip","initialDataTaskCompletedPhrase","fileImg","phraseEnglish","phrasePortuguese","typeQuestion","initialDataTaskConnectPhrases","initialDataTaskOrderWordImage","order","phraseFinal","phraseInitial","initialDataTaskOrderWord","initialDataTaskConnectWordToImages","initialDataTaskConnectWord","initialDataTaskSelectedWordImage","initialDataTaskAssociateWord","initialDataTaskOrderWordCompletedPhrase","answer","initialDataTaskSelectedWordForQuestion","question","initialDataTaskSelectedWordForTranslation","initialDataTaskInfoPhrases","allMenuItems","ids","Array","from","_","ContainerInfoModules","dataFile","NextScreenModal","onChangeDescription","onChangeTitle","onChangeSigned","onChangeCategory","onCloseModal","SelectedPhoto","validationBackground","validationDisabled","adjustWidthSelectedActivities","description","signed","Close","alignItems","marginBottom","Edit","accept","margin","multiline","rows","FormControl","InputLabel","marginLeft","v","disabled","NavigateNext","ContainerInfoTasks","allTasks","BackScreenModal","CreateModule","handleChangeListTask","handleChangeSelectedTask","allTasksActual","RenderTypeFormat","valueItemPut","method","startIcon","FormData","append","UploadFile","idTask","task","ListTasks","DetailsTask","CreateTask","EditTask","DeleteTask","TaskCompletedPhrase","setIdModal","taskCompletedPhrase","setTaskCompletedPhrase","adjustMarginBottom","adjustButtonLogo","marginDefault","marginRight","formatOptions","option","idWrapperTask","formatTask","tasks","onChangeOptionCorrect","newDataTask","onChangeOptionSkipTask","RenderAllOptionsCorrect","AllOptionsInitial","AllOptions","push","RenderSelectedCorrectOptions","skipTask","filter","allOptions","SelectedAudio","files","newDataFiles","eventFile","eventName","createObjectURL","uploads","upload","defaultSound","CheckCircle","defaultPhoto","RenderInputsTitles","ValueActual","i","objOrigin","uuidv4","orderNewDataOption","sort","b","idSelected","indexFormat","RenderInputsOptions","getOneOption","removeOneOption","optionModified","RenderInputsBody","valueObject","Object","values","ValidationOptionsLength","ValidationLengthChecked","ValidationLengthSelect","TaskConnectPhrases","taskConnectPhrases","setTaskConnectPhrases","optionEnglish","optionPortuguese","indexZero","newDataOption","optionsEnglish","optionsPortuguese","RenderSelectedSkipTask","TaskConnectWord","taskConnectWord","setTaskConnectWord","TaskConnectWordToImages","taskConnectWordToImages","setTaskConnectWordToImages","fileAudio","SelectedPhotoTarget","onChangeOption","imgDefault","optionsFileAudio","optionsFile","TaskOrderWord","taskOrderWord","setTaskOrderWord","widthDefault","onChangeOptionOrder","validationOptions","conditionRender","renderQtdBackground","TaskSelectedWord","taskSelectedWord","setTaskSelectedWord","AllOptionsEnglish","addAllOptions","ValidationLength","firebase","initializeApp","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","infoObject","setTaskOrderWordImage","setTaskSelectedWordImage","setTaskAssociateWord","setTaskOrderWordCompletedPhrase","setTaskSelectedWordForQuestion","setTaskSelectedWordForTranslation","setTaskInfoPhrases","TaskSelectedWordImage","taskSelectedWordImage","optionsLength","SelectedPhotoArchive","TaskSelectedWordForQuestion","taskSelectedWordForQuestion","slice","TaskAssociateWord","taskAssociateWord","TaskOrderWordCompletedPhrase","taskOrderWordCompletedPhrase","TaskSelectedWordForTranslation","taskSelectedWordForTranslation","TaskInfoPhrases","taskInfoPhrases","inputProps","minHeight","maxHeight","overflow","ModalAddModules","initialDataModule","setDataModule","setAllTasks","setDataFile","idModal","taskOrderWordImage","newDataModule","GetListTasks","getTasks","getDetailsTask","TypeSelect","modulesFunctions","formatDataModule","image","idModuleGroup","amountTask","modules","createModule","moduleFormat","ContainerBoxModalInline","AdjustFilters","AdjustInput","LabelInput","ContainerHeader","ModulesPage","allModules","setAllModules","GetListModules","getList","deleteModule","SearchModules","infoSearch","OpenModalModules","GetRefreshToken","onChangeEnvironment","tradeEnvironment","Switch","AllPlansInitial","nameFree","descriptionFree","imageFree","nameMonth","descriptionMonth","imageMonth","nameSemester","descriptionSemester","imageSemester","nameYear","descriptionYear","imageYear","allPlans","setAllPlans","initialFile","idPlan","ListPlans","EditPlan","PlansPage","adjustDisplay","display","adjustTextField","generalAllPlans","setGeneralAllPlans","GetListPlans","plans","getPlans","listPlan","EditPlans","formatAllPlans","updatePlans","Promise","all","functions","startProgress","dateStart","dateEnd","endProgress","isFree","isCancel","idsUsers","ListUsers","ListUserSearch","UsersFilters","DeleteUsers","ExportUsers","responseType","blob","url","createElement","setAttribute","click","toPrice","price","scale","toFixed","replace","getDownloadRemoteFile","UsersPage","allUsers","setAllUsers","pageModal","setPageModal","qtdPagesModal","setQtdPagesModal","signature","initialDate","finalDate","cancel","progressInitial","progressFinal","filters","setFilters","allUsersModal","setAllUsersModal","GetListUsers","users","listUsers","deleteUser","formatDateInitial","formatDateFinal","activeExport","closedModal","lessonsCompleted","percentageLevel","valueItem","RenderListItemsUsers","SearchUsersModal","handleChangePageUsers","getNewUsers","CloudDownload","utils","DateFnsUtils","disableToolbar","format","maxDate","invalidDateMessage","autoOk","constants","onlyNumber","ContainerDatePicker","Header","fontWeight","ListFinance","FinancePage","allFinance","setAllFinance","setInitialDate","setFinalDate","GetAllStatistics","finance","listFinance","onChangeInitialDate","onChangeFinalDate","ActionSearch","formatInitial","getTime","setHours","formatFinal","currentSubscriptions","canceledSubscriptions","subscriptionTotals","totalBilling","Search","RenderUsersPage","MenuContainer","MenuOption","isActive","ListContacts","ListText","DeleteText","idAudio","CreateText","translation","UpdateText","ListTranlation","DeleteTranslation","idTranslation","CreateTranslation","UpdateTranslation","columns","minWidth","ContactsTab","setRows","GetAllContacts","listContacts","newList","subject","Paper","sx","TableContainer","Table","stickyHeader","TableHead","TableRow","column","TableCell","align","TableBody","row","hover","role","tabIndex","ButtonPlayer","ActionsContainer","Form","InputAudio","Label","ButtonContainer","ContainerButtonAudio","position","top","left","transform","bgcolor","boxShadow","p","ModalCreate","setOpen","dataModal","modalType","setTitle","setDescription","setTranslation","audio","setAudio","enabledButton","setEnabledButton","titleModal","handleClose","handleChangeAudio","handleCreateText","listText","handleEditText","handleSave","Box","htmlFor","Audio","play","PlayArrow","renderAudio","setDataModal","setModalType","GetAllText","PlayCircleFilledOutlined","actions","deleteRow","Delete","renderAction","handleCreateTranslation","handleEditTranslation","TranlationTab","GetAllTranslation","FunctionalitiesPage","currentTab","setCurrentTab","contactsIsActive","textIsActive","translationIsActive","ListHistories","ReverseCondition","HistoricPage","allHistoric","setAllHistoric","GetListHistoric","listHistoric","reverterCondition","AdjustNextTypes","SearchHistoric","lastMethod","currentMethod","path","AdjustColumn","AdjustPicker","IframeArchive","iframe","ImageArchive","Separator","isSend","attachments","startAt","idSend","ListTrigger","CreateTrigger","EditTrigger","DelTrigger","VerifyDateTrigger","GetNextTrigger","allTrigger","setAllTrigger","pageTrigger","setPageTrigger","qtdPagesTrigger","setQtdPagesTrigger","allIds","setAllIds","idFrame","setIdFrame","addMinutes","dateScheduling","setDateScheduling","allFiles","setAllFiles","triggerActual","setTriggerActual","allTriggerNotSend","setAllTriggerNotSend","GetListTrigger","emails","listTrigger","GetListTriggerNotSend","listTriggerNotSend","handleChangeTrigger","idUsers","onDelTrigger","handleChangePageTrigger","tradeModalTrigger","onChangeSubtitle","nextStep","createTrigger","onEdit","onCreate","formatDateScheduling","verify","Checkbox","removeEmail","RenderListTrigger","handleChangeArchive","getInputImage","getElementById","getInputPdf","onChangeFile","minDate","ampm","Tooltip","endAt","InfoOutlined","labelId","paddingTop","getNewsItems","alt","Text","Column","PoliticPage","PoliticEsPage","DeleteAccountPage","initialFormUser","pathname","split","removeAccount","Routes","opacityMin","opacity","atActive","atEnter","atLeave","exact","component","EmailsPage","App","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.99add96d.chunk.js","sourcesContent":["const colors = {\n basic: {\n black: '#000000',\n blue: '#0000ff',\n gray: '#808080',\n white: '#ffffff',\n },\n theme: {\n blue: '#1c8ef8',\n red: '#B90404',\n purpleDark: '#6100f2',\n purpleLight: '#ede0fc',\n smoke: '#dadfe3',\n },\n};\n\nexport default colors;\n","const fontFamily = '\"Lato\", sans-serif';\n\nconst fontSize = {\n default: 22,\n};\n\nconst getFontWeight = (family: 'Lato-Thin' | 'Lato-Light' | 'Lato-Regular' | 'Lato-Bold' | 'Lato-Black'): number => {\n if (family === 'Lato-Thin') {\n return 100;\n }\n if (family === 'Lato-Light') {\n return 300;\n }\n if (family === 'Lato-Regular') {\n return 400;\n }\n if (family === 'Lato-Bold') {\n return 700;\n }\n if (family === 'Lato-Black') {\n return 900;\n }\n return 0;\n};\n\nexport default {\n fontFamily,\n fontSize,\n getFontWeight,\n};\n","// libraries\nimport { createGlobalStyle } from 'styled-components';\n\n// js\nimport colors from './colors';\nimport consts from '../utils/consts';\n\n// style\nconst globalStyle = createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n outline: 0;\n box-sizing: border-box;\n }\n body {\n background-color: #ffffff;\n -webkit-font-smoothing: antialiased;\n }\n body, input, button {\n font-size: ${consts.fontSize.default};\n font-family: ${consts.fontFamily};\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n color: ${colors.basic.white};\n }\n #root {\n margin: 0 auto;\n }\n`;\n\nexport default globalStyle;\n","const isStaging = window.location.hostname.includes('staging');\nconst isBeta = window.location.hostname.includes('beta.adm.idiomastec.com');\nconst isProd = window.location.hostname.includes('adm.idiomastec');\n// const getBaseUrl = () => {\n// if (isBeta) {\n// return 'https://beta.api.idiomastec.com';\n// }\n// if (isProd) {\n// return 'https://api.idiomastec.com';\n// }\n// if (isStaging) {\n// return 'https://staging.idiomastecapi.dotcoding.com.br';\n// }\n// return 'https://development.idiomastecapi.dotcoding.com.br';\n// };\nconst getNameEnvironment = () => {\n if (isBeta) {\n return 'BETA';\n }\n if (isProd) {\n return '';\n }\n if (isStaging) {\n return 'STG';\n }\n return 'DEV';\n};\n\nconst namesSystem = ['ipsis', 'mic', 'gregoBiblico', 'biblicalGreek', 'e4b', 'e4l', 'iMed', 'iNutri', 'e4keys', 'inglestec', 'e4ce', 'hebraicodabiblia', 'biblicalhebrew', 'griegobiblico', 'hebreodelabiblia'];\n\nconst pickerNamesSystem = [\n {\n id: 'ipsis',\n name: 'Ipsis',\n },\n {\n id: 'mic',\n name: 'MIC',\n },\n {\n id: 'gregoBiblico',\n name: 'Grego Bíblico',\n },\n {\n id: 'biblicalGreek',\n name: 'Biblical Greek',\n },\n {\n id: 'e4b',\n name: 'E4B',\n },\n {\n id: 'e4l',\n name: 'E4L',\n },\n {\n id: 'iMed',\n name: 'E4MED',\n },\n {\n id: 'iNutri',\n name: 'E4Nutrition',\n },\n {\n id: 'e4keys',\n name: 'E4Keys',\n },\n {\n id: 'inglestec',\n name: 'InglesTec',\n },\n {\n id: 'e4ce',\n name: 'E4CE',\n },\n {\n id: 'hebraicodabiblia',\n name: 'Hebraico da Bíblia',\n },\n {\n id: 'biblicalhebrew',\n name: 'Biblical Hebrew',\n },\n {\n id: 'griegobiblico',\n name: 'Griego Bíblico',\n },\n {\n id: 'hebreodelabiblia',\n name: 'Hebreo de la biblia',\n },\n];\nconst baseUrl = 'https://api.idiomastec.com';\nconst nameEnvironment = getNameEnvironment();\nexport default {\n baseUrl,\n nameEnvironment,\n namesSystem,\n pickerNamesSystem,\n};\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface ButtonActionInterface {\n backgroundColor: boolean,\n enabledPointer: boolean,\n}\n\n// styles\nexport const ButtonAction = styled.button`\n background-color: ${(props) => (props.backgroundColor ? colors.theme.blue : colors.basic.gray)};\n cursor: ${(props) => (props.enabledPointer ? 'pointer' : 'auto')};\n border-radius: 5px;\n border-width: 0px;\n color: ${colors.basic.white};\n font-size: 20px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n min-height: 45px;\n min-width: 100%;\n transition: all ease .4s;\n :hover {\n opacity: ${(props) => (props.enabledPointer ? 0.8 : 1)};\n }\n`;\n\nexport const BoxInputs = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n margin-bottom: 30px;\n margin-top: 30px;\n min-width: 50%;\n padding: 50px 50px 50px 50px;\n`;\n\nexport const CheckBox = styled.input`\n align-self: flex-start;\n height: 20px;\n width: 20px;\n`;\n\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.theme.blue};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerCheckBox = styled.div`\n align-items: center;\n align-self: flex-start;\n background-color: ${colors.basic.white};\n cursor: pointer;\n display: flex;\n height: 20px;\n justify-items: center;\n margin-top: 20px;\n`;\n\nexport const InputAuth = styled.input`\n background-color: ${colors.basic.white};\n color: ${colors.basic.gray};\n border: none;\n font-size: 16px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n min-height: 40px;\n min-width: 92%;\n outline: 0px;\n padding-left: 10px;\n transition: all ease .4s;\n :focus {\n color: ${colors.basic.black};\n }\n`;\n\nexport const Title = styled.h1`\n color: ${colors.basic.black};\n font-size: 50px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-bottom: 30px;\n`;\n\nexport const TitleInputAuth = styled.h1`\n align-self: flex-start;\n color: ${colors.basic.black};\n font-size: 20px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-bottom: 15px;\n padding-top: 15px;\n`;\n\nexport const TitleRemember = styled.h1`\n color: ${colors.basic.black};\n font-size: 18px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n padding-left: 10px;\n`;\n\nexport const InputIconview = styled.div`\n min-height: 40px;\n min-width: 100%;\n border: 2px solid gray;\n border-radius: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ImageView = styled.img`\n float: left;\n margin-right: 20px;\n width: 24px;\n border: none;\n cursor: pointer;\n\n`;\n\nexport const InputIconEnvelope = styled.img`\n float: left;\n margin-right: 20px;\n width: 24px;\n border: none;\n`;\n","import axios from 'axios';\n\nimport contants from '../configs/constants';\n\nconst baseURL = contants.baseUrl;\n\nconst api = axios.create({\n baseURL,\n});\n\nexport default api;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function Login(email: string, password: string, type: 'client' | 'adm', applicationType?: string) {\n try {\n const body = {\n email,\n password,\n type,\n };\n let baseURL = '/users/token';\n if (applicationType) {\n baseURL = `${baseURL}?applicationType=${applicationType}`;\n }\n const response = await api.post(baseURL, body);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function EmitCode(code: string, idUser?: string) {\n try {\n const body = {\n code,\n };\n let baseURL = '/users/twoFactor';\n if (idUser) {\n baseURL = `${baseURL}?idUser=${idUser}`;\n }\n const response = await api.patch(baseURL, body);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function RefreshToken(refresh: string) {\n try {\n const body = {\n refresh,\n };\n const configs = {\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.post('/users/refreshToken', body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n Login,\n EmitCode,\n RefreshToken,\n};\n","export default __webpack_public_path__ + \"static/media/viewOn.ac735f53.svg\";","export default __webpack_public_path__ + \"static/media/viewOff.0fcdb39a.svg\";","export default __webpack_public_path__ + \"static/media/envelope.a339f5c5.svg\";","// libraries\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Redirect } from 'react-router-dom';\n\n// interfaces\ninterface ToNavigationInterface {\n pathRoute: string,\n redirect: boolean,\n}\n\n// main\nconst ToNavigation: React.FC = (props) => {\n // constants\n const { redirect, pathRoute } = props;\n\n if (!redirect) {\n return null;\n }\n\n return ;\n};\n\n// prop types\nToNavigation.propTypes = {\n redirect: PropTypes.bool.isRequired,\n pathRoute: PropTypes.string.isRequired,\n};\n\nexport default ToNavigation;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface ContainerOptionsInterface {\n marginTop?: string,\n maxWidth?: string,\n positionItemHorizontal?: string,\n positionItemVertical?: string,\n wrap?: string,\n width?: string,\n}\n\ninterface ContainerAdjustIconEditInterface {\n right?: string,\n}\n\ninterface TitleOptionInterface {\n width?: string,\n}\n\n// styles\nexport const CloseModal = styled.button`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 25px;\n border-width: 0px;\n cursor: pointer;\n height: 50px;\n justify-items: center;\n width: 50px;\n`;\n\nexport const Container = styled.div`\n align-items: center;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerAdjustIconEdit = styled.div`\n align-items: center;\n background-color: ${colors.theme.smoke};\n border-radius: 15px;\n bottom: 7px;\n display: flex;\n height: 30px;\n justify-content: center;\n opacity: 0.7;\n position: absolute;\n right: ${(props) => (props.right || '8px')};\n width: 30px;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: 80px;\n max-height: calc(100vh - 210px);\n width: 80%;\n max-width: 1000px;\n overflow-y: auto;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerMore = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 33%;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: ${(props) => (props.positionItemVertical || 'center')};\n background-color: ${colors.basic.white};\n display: flex;\n flex-wrap: ${(props) => (props.wrap || 'nowrap')};\n justify-content: ${(props) => (props.positionItemHorizontal || 'space-between')};\n margin-top: ${(props) => (props.marginTop || '0px')};\n width: ${(props) => (props.width || 'auto')};\n max-width: ${(props) => (props.maxWidth || 'none')};\n`;\n\nexport const InfoOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Light')};\n width: 33%;\n word-wrap: break-word;\n`;\n\nexport const InputNullSelectedPhoto = styled.input`\n align-items: center;\n cursor: pointer;\n height: 112px;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 116px;\n`;\n\nexport const LineSeparator = styled.div`\n background-color: ${colors.basic.gray};\n height: 1px;\n margin-top: 20px;\n opacity: 0.3;\n width: 100%;\n`;\n\nexport const Logo = styled.img`\n height: 100px;\n width: 100px;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n`;\n\nexport const Title = styled.h1`\n color: ${colors.basic.gray};\n font-size: 50px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-bottom: 30px;\n`;\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n width: ${(props) => (props.width || '33%')};\n`;\n","// libraries\nimport React from 'react';\nimport ReactLoading from 'react-loading';\nimport { Modal } from '@material-ui/core';\n\n// js\nimport colors from '../styles/colors';\nimport { Container } from '../pages/Modules/modulesStyles';\n\n// interfaces\ninterface Props {\n activeLoading: boolean,\n}\n\nconst ModalLoading: React.FC = (props: Props) => {\n const { activeLoading } = props;\n return (\n \n \n \n \n \n );\n};\n\nexport default ModalLoading;\n","// libraries\nimport React, { useEffect, useState } from 'react';\nimport { Alert } from '@material-ui/lab';\n\n// js\nimport contants from '../../configs/constants';\nimport {\n BoxInputs,\n ButtonAction,\n CheckBox,\n Container,\n ContainerCheckBox,\n InputAuth,\n Title,\n TitleInputAuth,\n TitleRemember,\n ImageView,\n InputIconview,\n} from './authStyles';\nimport auth from '../../services/auth';\n\n// Images\nimport viewOn from '../../assets/images/viewOn.svg';\nimport viewOff from '../../assets/images/viewOff.svg';\nimport envelope from '../../assets/images/envelope.svg';\n\n// components (navigation)\nimport ToNavigation from '../../routes/navigation';\n\n// components\nimport ModalLoading from '../../components/ModalLoading';\n\n// interfaces\ninterface FormUserInterface {\n email: string,\n password: string,\n}\n\nconst AuthPage: React.FC = () => {\n // consts\n const adjustAlert = { alignSelf: 'flex-start', marginTop: 10 };\n const initialFormUser = {\n email: '',\n password: '',\n };\n\n const [focusPassword, setFocusPassword] = useState(false);\n const [activeCheckBox, setActiveCheckBox] = useState(false);\n const [redirect, setRedirect] = useState(false);\n const [activeLoading, setActiveLoading] = useState(false);\n const [messageAlert, setMessageAlert] = useState('');\n const [dataUser, setDataUser] = useState(null);\n const [code, setCode] = useState('');\n\n const [formUser, setFormUser] = useState(initialFormUser);\n const [verifyButton, setVerifyButton] = useState(false);\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n // useEffect\n useEffect(() => {\n const validatePassword = formUser.password.length >= 6;\n const validateEmail = re.test(String(formUser.email).toLowerCase());\n const validateButton = validatePassword && validateEmail;\n setVerifyButton(validateButton);\n }, [formUser]);\n\n useEffect(() => {\n const emailLocalStorage = localStorage.getItem('email') || '';\n if (emailLocalStorage) {\n setFormUser({ ...formUser, email: emailLocalStorage });\n setActiveCheckBox(true);\n }\n }, []);\n\n // methods\n const onChangeEmail = (e: React.ChangeEvent) => {\n setFormUser({ ...formUser, email: e.target.value });\n };\n\n const onChangePassword = (e: React.ChangeEvent) => {\n setFormUser({ ...formUser, password: e.target.value });\n };\n\n const onChangeCode = (e: React.ChangeEvent) => {\n setCode(e.target.value);\n };\n\n const SendCode = async () => {\n if (formUser.email && formUser.password) {\n setActiveLoading(true);\n const sign = await auth.Login(formUser.email, formUser.password, 'adm');\n setActiveLoading(false);\n if (sign) {\n setDataUser(sign);\n }\n } else {\n setMessageAlert('Preencha todos os campos.');\n }\n };\n\n const Login = async () => {\n setActiveLoading(true);\n const response = await auth.EmitCode(code, dataUser.result.idUser);\n setActiveLoading(false);\n if (response) {\n if (activeCheckBox) {\n localStorage.setItem('email', dataUser.result.email);\n } else {\n localStorage.removeItem('email');\n }\n localStorage.setItem('emailBank', dataUser.result.email);\n localStorage.setItem('nameBank', dataUser.result.applicationType);\n localStorage.setItem('token', dataUser.result.token);\n localStorage.setItem('tokenRefresh', dataUser.result.tokenRefresh);\n localStorage.setItem('idUser', dataUser.result.idUser);\n localStorage.setItem('existUser', 'true');\n setRedirect(true);\n }\n };\n\n const EnabledFocusEmail = () => {\n setFocusPassword(false);\n };\n\n const EnabledFocusPassword = () => {\n setFocusPassword(true);\n };\n\n const KeyUpInputs = (value: React.KeyboardEvent) => {\n const { key } = value;\n if (key === 'Enter' && !focusPassword) {\n return setFocusPassword(true);\n }\n if (key === 'Enter' && focusPassword) {\n return SendCode();\n }\n return null;\n };\n\n const [verification, setVerification] = useState(false);\n\n const ViewPassword = () => {\n setVerification(!verification);\n };\n // renders\n return (\n \n \n \n {dataUser ? (\n \n Confirme o código\n Código\n \n \n {/* */}\n \n \n Entrar\n \n \n ) : (\n \n {`Login (${contants.nameEnvironment})`}\n E-mail\n \n \n \n \n Senha\n \n \n \n \n {messageAlert !== '' ? (\n \n ) : null}\n setActiveCheckBox(!activeCheckBox)}>\n \n Lembre de mim\n \n \n Entrar\n \n \n )}\n \n );\n};\n\nexport default AuthPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface ContainerOptionsInterface {\n marginTop?: string,\n maxWidth?: string,\n positionItemHorizontal?: string,\n positionItemVertical?: string,\n wrap?: string,\n width?: string,\n}\ninterface TitleOptionInterfaces {\n width?: string;\n}\ninterface ContainerBoxInterfaces {\n marginTop?: string;\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerPaginator = styled.div`\n display: flex;\n margin-top: 20px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: 80px;\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerBoxModalInline = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: ${({ marginTop }) => marginTop || '80px'};\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerMore = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 49%;\n`;\n\nexport const ContainerTitle = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const InfoOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Light')};\n width: ${({ width }) => width || '49%'};\n word-wrap: break-word;\n`;\n\nexport const LineSeparator = styled.div`\n background-color: ${colors.basic.gray};\n height: 1px;\n margin-top: 20px;\n opacity: 0.3;\n width: 100%;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n`;\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n width: ${({ width }) => width || '49%'};\n`;\n\nexport const ContainerOptionsInput = styled.div`\n align-items: ${(props) => (props.positionItemVertical || 'center')};\n background-color: ${colors.basic.white};\n display: flex;\n flex-wrap: ${(props) => (props.wrap || 'nowrap')};\n justify-content: ${(props) => (props.positionItemHorizontal || 'space-between')};\n margin-top: ${(props) => (props.marginTop || '0px')};\n width: ${(props) => (props.width || 'auto')};\n max-width: ${(props) => (props.maxWidth || 'none')};\n`;\n\nexport const ContainerModal = styled.div`\n align-items: center;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerBoxModal = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin: 20px 0px 20px 0px;\n min-width: 1000px;\n max-height: 70vh;\n overflow-y: auto;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const AdjustFilters = styled.div`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 1000px;\n margin-top: 20px;\n`;\n\nexport const AdjustInput = styled.div`\n display: flex;\n flex-direction: column;\n margin-right: 10px;\n width: 150px;\n`;\n\nexport const LabelInput = styled.text`\n color: gray;\n`;\n\nexport const ContainerHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const Separator = styled.div`\n width: 10%;\n`;\n","// js\nimport colors from '../../styles/colors';\n\n// functions\nconst ValidationBackgroundColorButton = (index: number): string => {\n if (document.URL.includes('/category') && index === 0) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/modules') && index === 1) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/users') && index === 2) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/plans') && index === 3) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/finance') && index === 4) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/historic') && index === 5) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/functionalities') && index === 6) {\n return `${colors.theme.purpleLight}`;\n }\n if (document.URL.includes('/emails') && index === 7) {\n return `${colors.theme.purpleLight}`;\n }\n\n return `${colors.basic.white}`;\n};\n\nconst ValidationColorIcon = (index: number): string => {\n if (document.URL.includes('/category') && index === 0) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/modules') && index === 1) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/users') && index === 2) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/plans') && index === 3) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/finance') && index === 4) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/historic') && index === 5) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/functionalities') && index === 6) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/emails') && index === 7) {\n return `${colors.theme.purpleDark}`;\n }\n return `${colors.basic.gray}`;\n};\n\nconst ValidationColorText = (index: number): string => {\n if (document.URL.includes('/category') && index === 0) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/modules') && index === 1) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/users') && index === 2) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/plans') && index === 3) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/finance') && index === 4) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/historic') && index === 5) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/functionalities') && index === 6) {\n return `${colors.theme.purpleDark}`;\n }\n if (document.URL.includes('/emails') && index === 7) {\n return `${colors.theme.purpleDark}`;\n }\n return `${colors.basic.black}`;\n};\n\nexport {\n ValidationBackgroundColorButton,\n ValidationColorIcon,\n ValidationColorText,\n};\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// functions\nimport {\n ValidationBackgroundColorButton,\n ValidationColorText,\n} from './drawerNavigationFunctions';\n\n// interfaces\ninterface ButtonActionDrawerOptionInterface {\n index: number,\n}\n\ninterface DrawerOptionInterface {\n index: number,\n}\n\n// styles\nexport const Container = styled.div`\n background-color: ${colors.basic.white};\n cursor: pointer;\n left: 10px;\n position: absolute;\n top: 10px;\n`;\n\nexport const ContainerInfoMaster = styled.div`\n background-color: ${colors.basic.white};\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 20px;\n width: 300px;\n`;\n\nexport const ContainerList = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n min-height: 100%;\n width: 300px;\n`;\n\nexport const ScrollOptions = styled.div`\n display: flex;\n flex-direction: column;\n max-height: 300px;\n overflow-y: auto;\n`;\n\nexport const ContainerLogout = styled.div`\n background-color: ${colors.basic.white};\n bottom: 0;\n height: 100px;\n position: absolute;\n width: 100%;\n`;\n\nexport const DrawerOption = styled.div`\n color: ${(props) => ValidationColorText(props.index)};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-left: 20px;\n`;\n\nexport const ListItem = styled.a`\n align-items: center;\n background-color: ${(props) => ValidationBackgroundColorButton(props.index)};\n border-radius: 5px;\n border-width: 0px;\n cursor: pointer;\n display: flex;\n height: 45px;\n margin-left: 5px;\n margin-top: 5px;\n padding-left: 20px;\n text-decoration: none;\n transition: all ease .4s;\n width: 290px;\n :hover {\n background-color: ${colors.theme.purpleLight};\n }\n`;\n\nexport const ListItemLogout = styled.div`\n align-items: center;\n background-color: ${(props) => ValidationBackgroundColorButton(props.index)};\n border-radius: 5px;\n border-width: 0px;\n cursor: pointer;\n display: flex;\n height: 45px;\n margin-left: 5px;\n margin-top: 5px;\n padding-left: 20px;\n text-decoration: none;\n transition: all ease .4s;\n width: 290px;\n :hover {\n background-color: ${colors.theme.purpleLight};\n }\n`;\n\nexport const Logo = styled.img`\n border-radius: 30px;\n height: 60px;\n margin-bottom: 20px;\n width: 60px;\n`;\n\nexport const Subtitle = styled.h1`\n color: ${colors.basic.gray};\n font-size: 16px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n padding-bottom: 30px;\n word-wrap: break-word;\n`;\n\nexport const Title = styled.h1`\n color: ${colors.basic.black};\n font-size: 30px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n word-wrap: break-word;\n`;\n\nexport const Version = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n padding-left: 20px;\n padding-top: 20px;\n`;\n","export default __webpack_public_path__ + \"static/media/logoBiblicalGreek.9a83a984.png\";","export default __webpack_public_path__ + \"static/media/logoE4B.93f738be.png\";","export default __webpack_public_path__ + \"static/media/logoE4Keys.00703edb.png\";","export default __webpack_public_path__ + \"static/media/logoE4L.2142ad4d.png\";","export default __webpack_public_path__ + \"static/media/logoE4MED.10076b40.png\";","export default __webpack_public_path__ + \"static/media/logoE4Nutri.64634209.png\";","export default __webpack_public_path__ + \"static/media/logoGregoBiblico.0759af2f.png\";","export default __webpack_public_path__ + \"static/media/logoInglesTec.99de4144.png\";","export default __webpack_public_path__ + \"static/media/logoIpsis.15cd50d6.png\";","export default __webpack_public_path__ + \"static/media/logoMic.aed7af09.png\";","export default __webpack_public_path__ + \"static/media/logoE4CE.83bd4a15.png\";","export default __webpack_public_path__ + \"static/media/logoHebraicodabiblia.555e6b31.png\";","// libraries\nimport React, { useState } from 'react';\nimport { Divider, Drawer } from '@material-ui/core';\nimport {\n AccountBox,\n ExitToApp,\n Folder,\n Bookmarks,\n Menu,\n AttachMoney,\n Star,\n Restore,\n // ColorLensOutlined,\n Email,\n} from '@material-ui/icons';\n\n// js\nimport { version } from '../../../package.json';\nimport {\n Container,\n ContainerInfoMaster,\n ContainerList,\n ContainerLogout,\n DrawerOption,\n ListItem,\n ListItemLogout,\n Logo,\n ScrollOptions,\n Subtitle,\n Title,\n Version,\n} from './drawerNavigationStyles';\nimport logoBiblicalGreek from '../../assets/images/logoBiblicalGreek.png';\nimport logoE4B from '../../assets/images/logoE4B.png';\nimport logoE4Keys from '../../assets/images/logoE4Keys.png';\nimport logoE4L from '../../assets/images/logoE4L.png';\nimport logoE4MED from '../../assets/images/logoE4MED.png';\nimport logoE4Nutri from '../../assets/images/logoE4Nutri.png';\nimport logoGregoBiblico from '../../assets/images/logoGregoBiblico.png';\nimport logoInglesTec from '../../assets/images/logoInglesTec.png';\nimport logoIpsis from '../../assets/images/logoIpsis.png';\nimport logoMic from '../../assets/images/logoMic.png';\nimport logoE4CE from '../../assets/images/logoE4CE.png';\nimport logoHebraicodabiblia from '../../assets/images/logoHebraicodabiblia.png';\n\n// functions\nimport { ValidationColorIcon } from './drawerNavigationFunctions';\n\n// components (navigation)\nimport ToNavigation from '../navigation';\n\nconst DrawerNavigation: React.FC = () => {\n // constants\n const emailBank: any = String(localStorage.getItem('emailBank') || '');\n const nameBank: any = String(localStorage.getItem('nameBank') || '');\n const AllOptionsDrawer = [\n 'Categorias',\n 'Módulos',\n 'Usuários',\n 'Planos',\n 'Financeiro',\n 'Histórico',\n 'Site',\n 'Emails',\n ];\n\n // states\n const [openDrawerLeft, setOpenDrawerLeft] = useState(false);\n const [pathRoute, setPathRoute] = useState('/modules');\n const [redirect, setRedirect] = useState(false);\n\n // methods\n const TransitionScreen = (index: number) => {\n if (index === 0) {\n setPathRoute('/category');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 1) {\n setPathRoute('/modules');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 2) {\n setPathRoute('/users');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 3) {\n setPathRoute('/plans');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 4) {\n setPathRoute('/finance');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 5) {\n setPathRoute('/historic');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 6) {\n setPathRoute('/functionalities');\n setRedirect(true);\n setOpenDrawerLeft(false);\n } else if (index === 7) {\n setPathRoute('/emails');\n setRedirect(true);\n setOpenDrawerLeft(false);\n }\n };\n\n const OpenDrawer = () => {\n setOpenDrawerLeft(true);\n };\n\n const CloseDrawer = () => {\n setOpenDrawerLeft(false);\n };\n\n // renders\n const RenderIcon = (index: number) => {\n const colorTrade = { color: ValidationColorIcon(index) };\n if (index === 0) {\n return ;\n }\n if (index === 1) {\n return ;\n }\n if (index === 2) {\n return ;\n }\n if (index === 3) {\n return ;\n }\n if (index === 4) {\n return ;\n }\n if (index === 5) {\n return ;\n }\n if (index === 6) {\n return ;\n }\n if (index === 7) {\n return ;\n }\n if (index === 8) {\n return ;\n }\n return null;\n };\n\n const RenderOptions = () => AllOptionsDrawer.map((text, index) => {\n if (index === 6 && nameBank !== 'gregoBiblico') {\n return null;\n }\n\n const onClick = () => {\n TransitionScreen(index);\n };\n\n return (\n \n {RenderIcon(index)}\n {text}\n \n );\n });\n\n function renderLogoApp() {\n if (nameBank === 'ipsis') {\n return logoIpsis;\n }\n if (nameBank === 'mic') {\n return logoMic;\n }\n if (nameBank === 'gregoBiblico') {\n return logoGregoBiblico;\n }\n if (nameBank === 'biblicalGreek') {\n return logoBiblicalGreek;\n }\n if (nameBank === 'e4b') {\n return logoE4B;\n }\n if (nameBank === 'e4l') {\n return logoE4L;\n }\n if (nameBank === 'iMed') {\n return logoE4MED;\n }\n if (nameBank === 'iNutri') {\n return logoE4Nutri;\n }\n if (nameBank === 'e4keys') {\n return logoE4Keys;\n }\n if (nameBank === 'e4ce') {\n return logoE4CE;\n }\n if (nameBank === 'hebraicodabiblia') {\n return logoHebraicodabiblia;\n }\n\n return logoInglesTec;\n }\n\n const RenderList = () => {\n const onClick = () => {\n localStorage.removeItem('existUser');\n window.location.reload();\n };\n\n return (\n \n \n \n {nameBank}\n {emailBank}\n \n \n \n {RenderOptions()}\n \n \n \n {RenderIcon(8)}\n Logout\n \n \n {`Versão: ${version}`}\n \n \n );\n };\n\n return (\n \n \n \n \n {RenderList()}\n \n \n );\n};\n\nexport default DrawerNavigation;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListCategory(\n page: number,\n searchTxt: string,\n token: string,\n limit: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/modules/groups?applicationType=${nameBank}&page=${page}&limit=${limit}`;\n if (searchTxt.length) {\n baseURL = `${baseURL}&searchTxt=${searchTxt}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function CreateOnlyCategory(\n category: { title: string },\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.post(`/modules/groups?applicationType=${nameBank}`, category, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function EditOnlyCategory(\n category: { title: string },\n idCategory: number,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.put(`/modules/groups?applicationType=${nameBank}&idModuleGroup=${idCategory}`, category, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DeleteOnlyCategory(idCategory: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.delete(`/modules/groups?applicationType=${nameBank}&idModuleGroup=${idCategory}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListCategory,\n CreateOnlyCategory,\n EditOnlyCategory,\n DeleteOnlyCategory,\n};\n","/* eslint-disable max-len */\n/* eslint-disable no-alert */\n/* eslint-disable no-plusplus */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport FlatList from 'flatlist-react';\nimport { addHours, lightFormat } from 'date-fns';\nimport { Pagination } from '@material-ui/lab';\nimport {\n Button,\n Fab, MenuItem, Modal, Select, TextField,\n} from '@material-ui/core';\nimport { Redirect } from 'react-router-dom';\n\n// js\nimport { Add, NavigateBefore, Send } from '@material-ui/icons';\nimport {\n Container,\n ContainerBox,\n ContainerBoxModal,\n ContainerModal,\n ContainerMore,\n ContainerOptions,\n ContainerOptionsInput,\n ContainerPaginator,\n ContainerTitle,\n InfoOption,\n LineSeparator,\n TitleBox,\n TitleOption,\n} from './categoryStyles';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\nimport ModalLoading from '../../components/ModalLoading';\nimport category from '../../services/category';\n\n// interfaces\ninterface initialInputsInterfaces {\n title: string;\n idCategory: number | null;\n}\n\nconst CategoryPage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustStyleFab = { width: '30%' };\n const initialInputs: initialInputsInterfaces = {\n title: '',\n idCategory: null,\n };\n\n // states\n const [allCategory, setAllCategory] = useState([]);\n const [search, setSearch] = useState('');\n const [activeLoading, setActiveLoading] = useState(false);\n const [page, setPage] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [inputs, setInputs] = useState(initialInputs);\n const [openModal, setOpenModal] = useState(false);\n\n const GetListCategory = async () => {\n const listCategory: any = await category.ListCategory(page, search, token, '10');\n if (listCategory) {\n setAllCategory(listCategory?.result?.list || []);\n setQtdPages(listCategory?.result?.qtdPages || 1);\n setPage(1);\n }\n };\n\n // methods\n const handleClickModal = () => {\n setOpenModal(!openModal);\n setInputs(initialInputs);\n };\n\n const handleChange = async (event: any) => {\n const infoObj = event.target.value;\n if (infoObj.type === 'EDIT') {\n // Lógica de editar\n handleClickModal();\n setInputs({\n ...inputs,\n idCategory: infoObj?.id,\n title: infoObj?.title || '',\n });\n } else {\n setActiveLoading(true);\n const deleteCategory: any = await category.DeleteOnlyCategory(infoObj.id, token);\n setActiveLoading(false);\n if (deleteCategory) {\n GetListCategory();\n alert(deleteCategory.message);\n }\n }\n };\n\n const handleChangePage = async (event: React.ChangeEvent, value: number) => {\n setPage(value);\n const listCategory: any = await category.ListCategory(value, search, token, '10');\n if (listCategory) {\n setAllCategory(listCategory?.result?.list || []);\n setQtdPages(listCategory?.result?.qtdPages || 1);\n // window.scrollTo({\n // top: 0,\n // left: 0,\n // behavior: 'smooth',\n // });\n }\n };\n\n const CreateNewCategory = async () => {\n if (inputs.idCategory) {\n const body = {\n title: inputs.title,\n };\n const editCategory: any = await category.EditOnlyCategory(body, inputs.idCategory, token);\n GetListCategory();\n handleClickModal();\n if (editCategory?.status === 200) {\n alert('Atualizado com sucesso!');\n }\n } else {\n const body = {\n title: inputs.title,\n };\n const createCategory: any = await category.CreateOnlyCategory(body, token);\n GetListCategory();\n handleClickModal();\n if (createCategory?.status === 201) {\n alert('Criado com sucesso!');\n }\n }\n };\n\n useEffect(() => {\n const timeOutId = setTimeout(async () => {\n const listCategory: any = await category.ListCategory(1, search, token, '10');\n if (listCategory) {\n setAllCategory(listCategory?.result?.list || []);\n setQtdPages(listCategory?.result?.qtdPages || 1);\n setPage(1);\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [search]);\n\n // renders\n const RenderListItems = (item: any) => {\n const {\n title,\n dateCreated,\n } = item;\n const valueItemEdit = { ...item, type: 'EDIT' };\n const valueItemDelete = { ...item, type: 'DELETE' };\n\n const dateInt = Number(dateCreated);\n const date = addHours(new Date(dateInt), 3);\n const formatDate = lightFormat(date, 'dd/MM/yyyy');\n const formatHour = lightFormat(date, 'HH:mm');\n const concatDate = `${formatDate} às ${formatHour}`;\n\n return (\n <>\n \n {title}\n \n {concatDate || ''}\n \n \n \n \n \n );\n };\n\n const SearchUsers = (txt: any) => {\n setSearch(txt.target.value);\n };\n\n const RenderUsersPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n return (\n \n \n \n \n \n \n Lista de categorias\n \n \n Adicionar categoria\n \n \n \n Título\n Data de criação\n \n \n \n \n \n \n \n \n \n \n {\n if (txt.target.value.length <= 100) {\n setInputs({\n ...inputs,\n title: txt?.target?.value || '',\n });\n }\n }}\n value={inputs.title}\n />\n \n }\n onClick={handleClickModal}\n variant=\"contained\"\n >\n Fechar\n \n }\n onClick={CreateNewCategory}\n variant=\"contained\"\n >\n {`${inputs.idCategory ? 'Editar' : 'Criar'} categoria`}\n \n \n \n \n \n \n );\n };\n\n return RenderUsersPage();\n};\n\nexport default CategoryPage;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListModules(page: number, searchTxt: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/modules?applicationType=${nameBank}&page=${page}&limit=10`;\n if (searchTxt.length) {\n baseURL = `${baseURL}&searchTxt=${searchTxt}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DeleteModules(idModule: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.delete(`/modules?applicationType=${nameBank}&idModule=${idModule}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function TradeEnvironment(\n environment: string,\n idModule: string,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.patch(`/modules/environment?applicationType=${nameBank}&idModule=${idModule}&environment=${environment}`, null, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function CreateOnlyModule(\n module: any,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const body = {\n ...module,\n environment: 'development',\n };\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.post(`/modules?applicationType=${nameBank}`, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function EditModule(\n dataModule: any,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const body = {\n ...dataModule,\n };\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.put(`/modules?applicationType=${nameBank}&idModule=${dataModule?.id}`, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListModules,\n DeleteModules,\n TradeEnvironment,\n CreateOnlyModule,\n EditModule,\n};\n","export default __webpack_public_path__ + \"static/media/default.fbb63e70.png\";","// interfaces\nimport type {\n CompletedPhraseInterface,\n ConnectPhrases,\n ConnectWord,\n ConnectWordToImagesInterface,\n InfoPhrases,\n menuItems,\n OrderWordCompletedPhraseInterface,\n OrderWordImageInterface,\n OrderWordInterface,\n SelectedWordForQuestionInterface,\n SelectedWordForTranslationInterface,\n SelectedWordImageInterface,\n SelectedWordInterface,\n TaskAssociateWordInterface,\n} from '../modulesInterfaces';\n\nexport const initialDataTaskSelectedWord: SelectedWordInterface = {\n correct: '',\n file: '',\n id: '',\n options: [],\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n type: 'SELECTED_WORD',\n};\n\nexport const initialDataTaskCompletedPhrase: CompletedPhraseInterface = {\n correct: '',\n id: '',\n file: '',\n fileImg: '',\n options: [],\n phraseEnglish: '',\n phrasePortuguese: '',\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n typeQuestion: 'Selecionar',\n type: 'COMPLETED_PHRASE',\n};\n\nexport const initialDataTaskConnectPhrases: ConnectPhrases = {\n id: '',\n options: [],\n subtitle: '',\n title: '',\n skip: '',\n target: 0,\n type: 'CONNECT_PHRASES',\n};\n\nexport const initialDataTaskOrderWordImage: OrderWordImageInterface = {\n id: '',\n order: '',\n phraseFinal: '',\n phraseInitial: '',\n subtitle: '',\n skip: '',\n title: '',\n type: 'ORDER_WORD_IMAGE',\n file: '',\n fileImg: '',\n};\n\nexport const initialDataTaskOrderWord: OrderWordInterface = {\n id: '',\n order: '',\n phraseFinal: '',\n phraseInitial: '',\n subtitle: '',\n skip: '',\n title: '',\n type: 'ORDER_WORD',\n file: '',\n};\n\nexport const initialDataTaskConnectWordToImages: ConnectWordToImagesInterface = {\n id: '',\n options: [],\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n type: 'CONNECT_WORD_TO_IMAGES',\n};\n\nexport const initialDataTaskConnectWord: ConnectWord = {\n id: '',\n options: [],\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n type: 'CONNECT_WORD',\n};\n\nexport const initialDataTaskSelectedWordImage: SelectedWordImageInterface = {\n correct: '',\n file: '',\n fileImg: '',\n id: '',\n options: [],\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n type: 'SELECTED_WORD_IMAGE',\n};\n\nexport const initialDataTaskAssociateWord: TaskAssociateWordInterface = {\n id: '',\n subtitle: '',\n options: [],\n target: 0,\n skip: '',\n title: '',\n type: 'ASSOCIATE_WORD',\n};\n\nexport const initialDataTaskOrderWordCompletedPhrase: OrderWordCompletedPhraseInterface = {\n id: '',\n file: '',\n answer: '',\n phraseInitial: '',\n phraseFinal: '',\n subtitle: '',\n skip: '',\n title: '',\n type: 'ORDER_WORD_COMPLETED_PHRASE',\n};\n\nexport const initialDataTaskSelectedWordForQuestion: SelectedWordForQuestionInterface = {\n correct: '',\n file: '',\n id: '',\n options: [],\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n type: 'SELECTED_WORD_FOR_QUESTION',\n question: '',\n};\n\nexport const initialDataTaskSelectedWordForTranslation: SelectedWordForTranslationInterface = {\n correct: '',\n file: '',\n fileImg: '',\n id: '',\n options: [],\n subtitle: '',\n skip: '',\n target: 0,\n title: '',\n type: 'SELECTED_WORD_FOR_TRANSLATION',\n question: '',\n};\n\nexport const initialDataTaskInfoPhrases: InfoPhrases = {\n id: '',\n options: [],\n subtitle: '',\n title: '',\n skip: '',\n target: 0,\n type: 'INFO_PHRASES',\n};\n\nexport const allMenuItems: menuItems = {\n ids: Array.from({ length: 100 }, (_, index) => index + 1),\n};\n","// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { Close, Edit, NavigateNext } from '@material-ui/icons';\n\n// js\nimport {\n CloseModal,\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface } from '../modulesInterfaces';\n\nconst ContainerInfoModules = (\n dataFile: string,\n dataModule: DataModuleInterface,\n NextScreenModal: any,\n onChangeDescription: any,\n onChangeTitle: any,\n onChangeSigned: any,\n onChangeCategory: any,\n onCloseModal: any,\n SelectedPhoto: any,\n validationBackground: any,\n validationDisabled: any,\n allCategory: Array,\n) => {\n // constants\n const adjustButtonLogo = { alignItems: 'flex-end', marginBottom: 10 };\n const adjustWidthSelectedActivities = { width: 200 };\n const {\n title, description, signed, category,\n } = dataModule;\n\n // renders\n const EndIcon = () => (\n \n );\n\n return (\n <>\n \n Criação de módulo\n \n \n \n \n \n \n \n \n Tipo do módulo\n \n \n \n Categoria\n \n \n \n \n Próximo\n \n \n \n );\n};\n\nexport default ContainerInfoModules;\n","// libraries\nimport React from 'react';\nimport FlatList from 'flatlist-react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n} from '@material-ui/core';\nimport { Close, Send, NavigateBefore } from '@material-ui/icons';\n\n// js\nimport {\n CloseModal,\n ContainerOptions,\n LineSeparator,\n TitleOption,\n InfoOption,\n ContainerMore,\n} from '../modulesStyles';\n\nconst ContainerInfoTasks = (\n dataModule: any,\n allTasks: Array,\n BackScreenModal: any,\n CreateModule: any,\n handleChangeListTask: any,\n handleChangeSelectedTask: any,\n onCloseModal: any,\n validationBackground: any,\n validationDisabled: any,\n) => {\n // constants\n const adjustWidthSelectedActivities = { width: 200 };\n const allTasksActual = allTasks;\n const { id } = dataModule;\n\n // renders\n const EndIcon = () => (\n \n );\n\n const GoBackIcon = () => (\n \n );\n\n const RenderTypeFormat = (type: string) => {\n if (type === 'SELECTED_WORD') {\n return 'Escolha a palavra/expressão';\n }\n if (type === 'COMPLETED_PHRASE') {\n return 'Preencha a lacuna';\n }\n if (type === 'CONNECT_PHRASES') {\n return 'Ligue as sentenças';\n }\n if (type === 'CONNECT_WORD') {\n return 'Conecte as palavras';\n }\n if (type === 'ORDER_WORD') {\n return 'Ordene as palavras';\n }\n if (type === 'ORDER_WORD_IMAGE') {\n return 'Ordene as palavras com imagem';\n }\n if (type === 'CONNECT_WORD_TO_IMAGES') {\n return 'Associe a palavra às imagens';\n }\n if (type === 'SELECTED_WORD_IMAGE') {\n return 'Associe a imagem às palavras';\n }\n if (type === 'ASSOCIATE_WORD') {\n return 'Associe a frase à sua tradução';\n }\n if (type === 'ORDER_WORD_COMPLETED_PHRASE') {\n return 'Ordene as palavras para preencher a lacuna';\n }\n if (type === 'SELECTED_WORD_FOR_QUESTION') {\n return 'Escolha a palavra/expressão para responder a pergunta';\n }\n if (type === 'SELECTED_WORD_FOR_TRANSLATION') {\n return 'Escolha a palavra/expressão que corresponde a sua tradução';\n }\n if (type === 'INFO_PHRASES') {\n return 'Associe as frases/parágrafos aos áudios correspondentes';\n }\n\n return '';\n };\n\n const RenderListItems = (item: any) => {\n const { title, subtitle, type } = item;\n const valueItemPut = { ...item, method: 'EDITAR' };\n const valueItemDelete = { ...item, method: 'DELETE' };\n\n return (\n <>\n \n {title}\n {subtitle}\n \n {RenderTypeFormat(type)}\n \n \n \n \n \n );\n };\n\n return (\n <>\n \n Lista de atividades\n \n \n \n \n \n Título\n Subtítulo\n Tipo\n \n \n \n \n \n Voltar\n \n \n Adicionar atividade\n \n \n \n {id ? 'Editar Módulo' : 'Criar Módulo'}\n \n \n \n );\n};\n\nexport default ContainerInfoTasks;\n","export default \"data:image/png;base64,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\"","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\n// api\nasync function UploadFile(file: any): Promise {\n try {\n const body = new FormData();\n body.append('file', file);\n const configs = {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n };\n const response = await api.post('/uploads', body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n UploadFile,\n};\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListTasks(idModule: string, idUser: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.get(`/tasks?applicationType=${nameBank}&idModule=${idModule}&idUser=${idUser}&type=adm`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DetailsTask(idTask: string, type: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.get(`/tasks/details?applicationType=${nameBank}&idTask=${idTask}&type=${type}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function CreateTask(\n task: any,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const body = {\n ...task,\n };\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.post(`/tasks?applicationType=${nameBank}`, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function EditTask(\n task: any,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const body = {\n ...task,\n };\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.put(`/tasks?applicationType=${nameBank}&idTask=${task.idTask}`, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DeleteTask(idTask: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.delete(`/tasks?applicationType=${nameBank}&idTask=${idTask}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListTasks,\n DetailsTask,\n CreateTask,\n EditTask,\n DeleteTask,\n};\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport defaultPhoto from '../../../assets/images/default.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { CompletedPhraseInterface, DataModuleInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskCompletedPhrase = (\n setIdModal: any,\n initialDataTaskCompletedPhrase: CompletedPhraseInterface,\n taskCompletedPhrase: CompletedPhraseInterface,\n setTaskCompletedPhrase: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10, width: '45%' };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskCompletedPhrase(initialDataTaskCompletedPhrase);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskCompletedPhrase?.options?.map((e: any) => {\n const option = e;\n delete option?.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskCompletedPhrase,\n options: formatOptions,\n idTask: taskCompletedPhrase.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskCompletedPhrase, title: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskCompletedPhrase, subtitle: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n }\n };\n\n const onChangePhraseEnglish = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskCompletedPhrase, phraseEnglish: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n }\n };\n\n const onChangeCorrect = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskCompletedPhrase, correct: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n }\n };\n\n const onChangePhrasePortuguese = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskCompletedPhrase, phrasePortuguese: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n }\n };\n\n const onChangeOptionCorrect = (txt: any) => {\n const newDataTask = { ...taskCompletedPhrase, correct: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskCompletedPhrase, skip: txt.target.value };\n setTaskCompletedPhrase(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n const ValidationOptionsLength = taskCompletedPhrase?.typeQuestion === 'Selecionar' && taskCompletedPhrase?.options ? taskCompletedPhrase?.options?.filter((v: any) => v.option).length === taskCompletedPhrase?.options?.length : true;\n if (taskCompletedPhrase?.id) {\n const ValidationLengthChecked = Object.values(taskCompletedPhrase).filter((v) => v).length !== 11;\n const ValidationLengthSelect = Object.values(taskCompletedPhrase).filter((v) => v).length !== 12;\n if (taskCompletedPhrase.typeQuestion === 'Selecionar') {\n if (!ValidationLengthSelect && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n if (taskCompletedPhrase.typeQuestion === 'Checar') {\n if (ValidationLengthChecked && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n } else if (!taskCompletedPhrase?.id) {\n const ValidationLengthSelect = Object.values(taskCompletedPhrase).filter((v) => v !== '').length !== 11;\n const ValidationLengthChecked = Object.values(taskCompletedPhrase).filter((v) => v !== '').length !== 12;\n if (taskCompletedPhrase.typeQuestion === 'Selecionar') {\n if (!ValidationLengthSelect && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n if (taskCompletedPhrase.typeQuestion === 'Checar') {\n if (!ValidationLengthChecked && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskCompletedPhrase).filter((v) => v !== '');\n const ValidationOptionsLength = taskCompletedPhrase?.typeQuestion === 'Selecionar' && taskCompletedPhrase?.options ? taskCompletedPhrase?.options?.filter((v: any) => v.option).length === taskCompletedPhrase?.options?.length : true;\n if ((\n taskCompletedPhrase?.id ? valueObject.length === 12 && taskCompletedPhrase.typeQuestion === 'Selecionar' && ValidationOptionsLength : valueObject.length === 11 && taskCompletedPhrase.typeQuestion === 'Selecionar' && ValidationOptionsLength\n ) || (\n taskCompletedPhrase?.id ? valueObject.length === 13 && taskCompletedPhrase.typeQuestion === 'Checar' && ValidationOptionsLength : valueObject.length === 12 && taskCompletedPhrase.typeQuestion === 'Checar' && ValidationOptionsLength\n )) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = { option: '', id: uuidv4() };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskCompletedPhrase,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n correct: orderNewDataOption.filter((v: any) => !v.option).length > 0 ? '' : taskCompletedPhrase?.correct,\n };\n setTaskCompletedPhrase(newDataTask);\n }\n }\n };\n\n const onChangeTypeQuestion = (txt: any) => {\n const newDataTask = {\n ...initialDataTaskCompletedPhrase,\n typeQuestion: txt.target.value,\n };\n setTaskCompletedPhrase(newDataTask);\n };\n\n // renders\n const RenderAllOptionsCorrect = () => {\n const AllOptionsInitial = [] as any;\n const AllOptions = taskCompletedPhrase?.options?.map(\n (v: any) => AllOptionsInitial.push(v.option),\n );\n if (AllOptionsInitial.length === AllOptions.length) {\n return AllOptionsInitial.map((option: any) => (\n {option}\n ));\n }\n\n return null;\n };\n\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const options = taskCompletedPhrase?.options?.filter((v: any) => v?.option !== '')?.length;\n const allOptions = options === taskCompletedPhrase?.target;\n\n if (taskCompletedPhrase.typeQuestion === 'Checar' || (options > 0 && allOptions && !skipTask)) {\n const SelectedAudio = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskCompletedPhrase({ ...taskCompletedPhrase, file: upload.result });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskCompletedPhrase({ ...taskCompletedPhrase, fileImg: upload.result });\n }\n }\n };\n\n return (\n <>\n {taskCompletedPhrase.typeQuestion === 'Selecionar' ? (\n \n Opção correta\n \n {RenderAllOptionsCorrect()}\n \n \n ) : null}\n \n \n {taskCompletedPhrase?.file ? (\n \n \n \n ) : null}\n \n \n {taskCompletedPhrase.typeQuestion === 'Checar' ? (\n <>\n \n \n \n \n \n Pular/Não pular\n \n Pular\n Não pular\n \n \n \n ) : null}\n \n );\n }\n if (options > 0 && allOptions && skipTask && taskCompletedPhrase.typeQuestion === 'Selecionar') {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskCompletedPhrase?.options?.length) {\n return taskCompletedPhrase.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n\n const onChangeOption = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const [getOneOption] = taskCompletedPhrase.options.filter(\n (v: any) => v.id === item.id,\n );\n if (getOneOption.id === item.id) {\n const removeOneOption = taskCompletedPhrase.options.filter(\n (v: any) => v.id !== item.id,\n );\n const optionModified = {\n option: txt.target.value,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskCompletedPhrase({\n ...taskCompletedPhrase,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n return RenderInputsOptions(`Opção ${indexZero}${indexFormat}`, item.option, onChangeOption);\n });\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Preencha a lacuna\n \n \n Tipo da Questão\n \n \n {RenderInputsTitles('Título da atividade', taskCompletedPhrase.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskCompletedPhrase.subtitle, onChangeSubtitle)}\n \n \n {taskCompletedPhrase.typeQuestion === 'Selecionar' ? (\n \n Quantidade\n \n \n ) : (\n <>\n \n \n {RenderSelectedCorrectOptions(false)}\n \n \n )}\n {taskCompletedPhrase.typeQuestion === 'Selecionar' ? (\n <>\n \n {RenderInputsBody()}\n \n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n ) : null}\n \n \n Voltar\n \n \n {taskCompletedPhrase?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskCompletedPhrase;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { ConnectPhrases, DataModuleInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskConnectPhrases = (\n setIdModal: any,\n initialDataTaskConnectPhrases: ConnectPhrases,\n taskConnectPhrases: ConnectPhrases,\n setTaskConnectPhrases: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskConnectPhrases(initialDataTaskConnectPhrases);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskConnectPhrases?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskConnectPhrases,\n options: formatOptions,\n idTask: taskConnectPhrases.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskConnectPhrases, title: txt.target.value };\n setTaskConnectPhrases(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskConnectPhrases, subtitle: txt.target.value };\n setTaskConnectPhrases(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskConnectPhrases, skip: txt.target.value };\n setTaskConnectPhrases(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n const ValidationOptionsLength = taskConnectPhrases?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskConnectPhrases?.options?.length;\n if (taskConnectPhrases?.id) {\n const ValidationLength = Object.values(taskConnectPhrases).filter((v) => v !== '').length !== 7;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskConnectPhrases?.id) {\n const ValidationLength = Object.values(taskConnectPhrases).filter((v) => v !== '').length !== 6;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskConnectPhrases).filter((v) => v !== '');\n const ValidationOptionsLength = taskConnectPhrases?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskConnectPhrases?.options?.length;\n if ((taskConnectPhrases?.id ? valueObject.length === 7 : valueObject.length === 6) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n optionEnglish: '',\n optionPortuguese: '',\n id: uuidv4(),\n file: '',\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskConnectPhrases,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n };\n setTaskConnectPhrases(newDataTask);\n }\n }\n };\n\n // renders\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskConnectPhrases.options?.length) {\n return taskConnectPhrases.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n const [getOneOption] = taskConnectPhrases.options.filter(\n (v: any) => v.id === item.id,\n );\n const removeOneOption = taskConnectPhrases.options.filter(\n (v: any) => v.id !== item.id,\n );\n\n const onChangeOptionPortuguese = (txt: any) => {\n if (txt.target.value.length <= 200) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: txt.target.value,\n id: getOneOption.id,\n file: getOneOption.file,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectPhrases({\n ...taskConnectPhrases,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n const onChangeOptionEnglish = (txt: any) => {\n if (txt.target.value.length <= 200) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: txt.target.value,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: getOneOption.file,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectPhrases({\n ...taskConnectPhrases,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: upload.result,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectPhrases({\n ...taskConnectPhrases,\n options: orderNewDataOption,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} português`, item.optionPortuguese, onChangeOptionPortuguese)}\n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} inglês`, item.optionEnglish, onChangeOptionEnglish)}\n \n \n {item?.file ? (\n \n \n \n ) : null}\n \n \n \n );\n });\n }\n\n return null;\n };\n\n const RenderSelectedSkipTask = () => {\n const optionsEnglish = taskConnectPhrases.options.filter((v: any) => v.optionEnglish !== '').length;\n const optionsPortuguese = taskConnectPhrases.options.filter((v: any) => v.optionPortuguese !== '').length;\n const optionsFile = taskConnectPhrases.options.filter((v: any) => v.file).length;\n const allOptionsConnectPhrases = optionsEnglish + optionsPortuguese + optionsFile;\n const allOptions = allOptionsConnectPhrases === taskConnectPhrases.target * 3;\n\n if (optionsEnglish + optionsPortuguese > 0 && allOptions) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Ligue as sentenças\n \n {RenderInputsTitles('Título da atividade', taskConnectPhrases.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskConnectPhrases.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n {RenderSelectedSkipTask()}\n \n \n Voltar\n \n \n {taskConnectPhrases?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskConnectPhrases;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { ConnectWord, DataModuleInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskConnectWord = (\n setIdModal: any,\n initialDataTaskConnectWord: ConnectWord,\n taskConnectWord: ConnectWord,\n setTaskConnectWord: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskConnectWord(initialDataTaskConnectWord);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskConnectWord?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskConnectWord,\n options: formatOptions,\n idTask: taskConnectWord.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskConnectWord, title: txt.target.value };\n setTaskConnectWord(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskConnectWord, subtitle: txt.target.value };\n setTaskConnectWord(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskConnectWord, skip: txt.target.value };\n setTaskConnectWord(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n const ValidationOptionsLength = taskConnectWord?.options.filter(\n (v: any) => v.optionEnglish && v.optionPortuguese && v.file,\n ).length === taskConnectWord?.options?.length;\n if (taskConnectWord?.id) {\n const ValidationLength = Object.values(taskConnectWord).filter((v) => v !== '').length !== 7;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskConnectWord?.id) {\n const ValidationLength = Object.values(taskConnectWord).filter((v) => v !== '').length !== 6;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskConnectWord).filter((v) => v !== '');\n // eslint-disable-next-line max-len\n const ValidationOptionsLength = taskConnectWord?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskConnectWord?.options?.length;\n // eslint-disable-next-line max-len\n if ((taskConnectWord?.id ? valueObject.length === 7 : valueObject.length === 6) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n optionEnglish: '',\n optionPortuguese: '',\n id: uuidv4(),\n file: '',\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskConnectWord,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n };\n setTaskConnectWord(newDataTask);\n }\n }\n };\n\n // renders\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderSelectedSkipTask = () => {\n const optionsEnglish = taskConnectWord.options.filter((v: any) => v.optionEnglish !== '').length;\n const optionsPortuguese = taskConnectWord.options.filter((v: any) => v.optionPortuguese !== '').length;\n const optionsFile = taskConnectWord.options.filter((v: any) => v.file).length;\n const allOptionsConnectPhrases = optionsEnglish + optionsPortuguese + optionsFile;\n const allOptions = allOptionsConnectPhrases === taskConnectWord.target * 3;\n\n if (optionsEnglish + optionsPortuguese > 0 && allOptions) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const RenderInputsBody = () => {\n if (taskConnectWord.options?.length) {\n return taskConnectWord.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n const [getOneOption] = taskConnectWord.options.filter(\n (v: any) => v.id === item.id,\n );\n const removeOneOption = taskConnectWord.options.filter(\n (v: any) => v.id !== item.id,\n );\n const onChangeOptionPortuguese = (txt: any) => {\n if (txt.target.value.length <= 200) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: txt.target.value,\n id: getOneOption.id,\n file: getOneOption.file,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectWord({ ...taskConnectWord, options: orderNewDataOption });\n }\n }\n };\n\n const onChangeOptionEnglish = (txt: any) => {\n if (txt.target.value.length <= 200) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: txt.target.value,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: getOneOption.file,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectWord({ ...taskConnectWord, options: orderNewDataOption });\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: upload.result,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectWord({\n ...taskConnectWord,\n options: orderNewDataOption,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} português`, item.optionPortuguese, onChangeOptionPortuguese)}\n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} inglês`, item.optionEnglish, onChangeOptionEnglish)}\n \n \n {item?.file ? (\n \n \n \n ) : null}\n \n \n \n );\n });\n }\n\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Conecte as palavras\n \n {RenderInputsTitles('Título da atividade', taskConnectWord.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskConnectWord.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n {RenderSelectedSkipTask()}\n \n \n Voltar\n \n \n {taskConnectWord?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskConnectWord;\n","/* eslint-disable react/destructuring-assignment */\n/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport {\n CheckCircle,\n Edit,\n NavigateBefore,\n Send,\n} from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport imgDefault from '../../../assets/images/default.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { ConnectWordToImagesInterface, DataModuleInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskConnectWordToImages = (\n setIdModal: any,\n initialDataTaskConnectWordToImages: ConnectWordToImagesInterface,\n taskConnectWordToImages: ConnectWordToImagesInterface,\n setTaskConnectWordToImages: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { alignItems: 'flex-end', marginBottom: 10 };\n const adjustWidthSelectedActivities = { width: 200 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskConnectWordToImages(initialDataTaskConnectWordToImages);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskConnectWordToImages?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskConnectWordToImages,\n options: formatOptions,\n idTask: taskConnectWordToImages.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskConnectWordToImages, title: txt.target.value };\n setTaskConnectWordToImages(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskConnectWordToImages, subtitle: txt.target.value };\n setTaskConnectWordToImages(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskConnectWordToImages, skip: txt.target.value };\n setTaskConnectWordToImages(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n const ValidationOptionsLength = taskConnectWordToImages?.options.filter((v: any) => (v.fileAudio && v.file)).length === taskConnectWordToImages?.options?.length;\n if (taskConnectWordToImages?.id) {\n const ValidationLength = Object.values(taskConnectWordToImages).filter((v) => v !== '').length !== 7;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskConnectWordToImages?.id) {\n const ValidationLength = Object.values(taskConnectWordToImages).filter((v) => v !== '').length !== 6;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskConnectWordToImages).filter((v) => v !== '');\n const ValidationOptionsLength = taskConnectWordToImages?.options.filter((v: any) => (v.fileAudio && v.file)).length === taskConnectWordToImages?.options?.length;\n if ((taskConnectWordToImages?.id ? valueObject.length === 7 : valueObject.length === 6) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = { fileAudio: '', file: '', id: uuidv4() };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskConnectWordToImages,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n };\n setTaskConnectWordToImages(newDataTask);\n }\n }\n };\n\n // renders\n const RenderInputsOptions = (\n dataFile: any,\n onChange: any,\n SelectedPhotoTarget: any,\n value: any,\n ) => (\n \n \n \n {value ? (\n \n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n );\n\n const RenderInputsBody = () => {\n if (taskConnectWordToImages.options?.length) {\n return taskConnectWordToImages.options.map((item: any) => {\n const [getOneOption] = taskConnectWordToImages.options.filter(\n (v: any) => v.id === item.id,\n );\n const removeOneOption = taskConnectWordToImages.options.filter(\n (v: any) => v.id !== item.id,\n );\n const onChangeOption = async (event: any) => {\n if (getOneOption.id === item.id) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n const optionModified = {\n fileAudio: upload.result,\n file: getOneOption.file,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectWordToImages({\n ...taskConnectWordToImages,\n options: orderNewDataOption,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload && getOneOption.id === item.id) {\n const optionModified = {\n fileAudio: getOneOption.fileAudio,\n file: upload.result,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskConnectWordToImages({\n ...taskConnectWordToImages,\n options: orderNewDataOption,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(\n item?.file,\n onChangeOption,\n SelectedPhoto,\n item?.fileAudio,\n )}\n \n );\n });\n }\n\n return null;\n };\n\n const RenderSelectedSkipTask = () => {\n const optionsFileAudio = taskConnectWordToImages.options.filter((v: any) => v.fileAudio).length;\n const optionsFile = taskConnectWordToImages.options.filter((v: any) => v.file).length;\n const allOptions = optionsFileAudio + optionsFile === taskConnectWordToImages.target * 2;\n\n if (optionsFileAudio + optionsFile > 0 && allOptions) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Associe a palavra às imagens\n \n {RenderInputsTitles('Título da atividade', taskConnectWordToImages.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskConnectWordToImages.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n {RenderSelectedSkipTask()}\n \n \n Voltar\n \n \n {taskConnectWordToImages?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskConnectWordToImages;\n","/* eslint-disable max-len */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport {\n CheckCircle, Edit, NavigateBefore, Send,\n} from '@material-ui/icons';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport imgDefault from '../../../assets/images/default.png';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n Logo,\n TitleOption,\n InputNullSelectedPhoto,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface, OrderWordInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskOrderWord = (\n setIdModal: any,\n initialDataTaskOrderWord: OrderWordInterface,\n taskOrderWord: any,\n setTaskOrderWord: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustWidthSelectedActivities = { width: 200 };\n const widthDefault = { width: '49%' };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskOrderWord(initialDataTaskOrderWord);\n };\n\n const CreateTask = async () => {\n const formatTask: any = {\n ...taskOrderWord,\n idTask: taskOrderWord.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWord, title: txt.target.value };\n setTaskOrderWord(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWord, subtitle: txt.target.value };\n setTaskOrderWord(newDataTask);\n }\n };\n\n const onChangePhraseInitial = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWord, phraseInitial: txt.target.value };\n setTaskOrderWord(newDataTask);\n }\n };\n\n const onChangePhraseFinal = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWord, phraseFinal: txt.target.value };\n setTaskOrderWord(newDataTask);\n }\n };\n\n const onChangeOptionOrder = (txt: any) => {\n const newDataTask = { ...taskOrderWord, order: txt.target.value };\n setTaskOrderWord(newDataTask);\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskOrderWord, skip: txt.target.value };\n setTaskOrderWord(newDataTask);\n };\n\n const renderQtdDisabled = () => {\n if (taskOrderWord?.id) {\n if (typeof taskOrderWord?.fileImg === 'string') {\n return Object.values(taskOrderWord).filter((v) => v !== '').length !== 10;\n }\n return Object.values(taskOrderWord).filter((v) => v !== '').length !== 9;\n }\n if (typeof taskOrderWord?.fileImg === 'string') {\n return Object.values(taskOrderWord).filter((v) => v !== '').length !== 9;\n }\n return Object.values(taskOrderWord).filter((v) => v !== '').length !== 8;\n };\n\n const validationDisabled = () => {\n const valueObject = renderQtdDisabled();\n return valueObject;\n };\n\n const renderQtdBackground = () => {\n const valueObject = Object.values(taskOrderWord).filter((v) => v !== '');\n if (taskOrderWord?.id) {\n if (typeof taskOrderWord?.fileImg === 'string') {\n return valueObject.length === 10;\n }\n return valueObject.length === 9;\n }\n if (typeof taskOrderWord?.fileImg === 'string') {\n return valueObject.length === 9;\n }\n return valueObject.length === 8;\n };\n\n const validationBackground = () => {\n const valueObject = renderQtdBackground();\n if (valueObject) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskOrderWord({\n ...taskOrderWord,\n fileImg: upload.result,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n // renders\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const validationOptions = {\n phraseInitial: taskOrderWord.phraseInitial,\n phraseFinal: taskOrderWord.phraseFinal,\n };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustMarginBottom = { marginBottom: 10 };\n const conditionRender = Object.values(validationOptions).filter((v) => v !== '').length === 2;\n\n if (conditionRender && !skipTask) {\n const SelectedAudio = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskOrderWord({ ...taskOrderWord, file: upload.result });\n }\n }\n };\n return (\n <>\n \n Ordem\n \n \n \n \n {taskOrderWord?.file ? (\n \n \n \n ) : null}\n \n \n {typeof taskOrderWord?.fileImg === 'string' ? (\n \n ) : null}\n \n );\n }\n\n if (conditionRender && skipTask) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n {typeof taskOrderWord?.fileImg === 'string' ? 'Criação da Atividade - Ordene as palavras com imagem' : 'Criação da Atividade - Ordene as palavras'}\n \n {RenderInputsTitles('Título da atividade', taskOrderWord.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskOrderWord.subtitle, onChangeSubtitle)}\n \n {RenderInputsOptions('Frase inicial', taskOrderWord.phraseInitial, onChangePhraseInitial)}\n {RenderInputsOptions('Frase final', taskOrderWord.phraseFinal, onChangePhraseFinal)}\n \n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n \n Voltar\n \n \n {taskOrderWord?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskOrderWord;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface, SelectedWordInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskSelectedWord = (\n setIdModal: any,\n initialDataTaskSelectedWord: SelectedWordInterface,\n taskSelectedWord: SelectedWordInterface,\n setTaskSelectedWord: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskSelectedWord(initialDataTaskSelectedWord);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskSelectedWord?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskSelectedWord,\n options: formatOptions,\n idTask: taskSelectedWord.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWord, title: txt.target.value };\n setTaskSelectedWord(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWord, subtitle: txt.target.value };\n setTaskSelectedWord(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskSelectedWord, skip: txt.target.value };\n setTaskSelectedWord(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n if (taskSelectedWord?.id) {\n const ValidationLength = Object.values(taskSelectedWord).filter((v) => v !== '').length !== 9;\n const ValidationOptionsLength = taskSelectedWord?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese).length === taskSelectedWord?.options?.length;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskSelectedWord?.id) {\n const ValidationLength = Object.values(taskSelectedWord).filter((v) => v !== '').length !== 8;\n if (!ValidationLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskSelectedWord).filter((v) => v !== '');\n const ValidationOptionsLength = taskSelectedWord?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese).length === taskSelectedWord?.options?.length;\n if ((taskSelectedWord?.id ? valueObject.length === 9 : valueObject.length === 8) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n optionEnglish: '',\n optionPortuguese: '',\n id: uuidv4(),\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskSelectedWord,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n correct: orderNewDataOption.filter((v: any) => !v.optionEnglish || !v.optionPortuguese).length > 0 ? '' : taskSelectedWord?.correct,\n };\n setTaskSelectedWord(newDataTask);\n }\n }\n };\n\n const onChangeOptionCorrect = (txt: any) => {\n const newDataTask = { ...taskSelectedWord, correct: txt.target.value };\n setTaskSelectedWord(newDataTask);\n };\n\n // renders\n const RenderAllOptionsCorrect = () => {\n const AllOptionsEnglish = [] as any;\n const test = taskSelectedWord.options.map(\n (v: any) => AllOptionsEnglish.push(v.optionEnglish),\n );\n if (AllOptionsEnglish.length === test.length) {\n return AllOptionsEnglish.map((optionEnglish: any) => (\n {optionEnglish}\n ));\n }\n\n return null;\n };\n\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const optionsEnglish = taskSelectedWord.options.filter((v: any) => v.optionEnglish !== '').length;\n const optionsPortuguese = taskSelectedWord.options.filter((v: any) => v.optionPortuguese !== '').length;\n const addAllOptions = optionsEnglish + optionsPortuguese;\n const allOptions = addAllOptions === taskSelectedWord.target * 2;\n\n if (addAllOptions > 0 && allOptions && !skipTask) {\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskSelectedWord({ ...taskSelectedWord, file: upload.result });\n }\n }\n };\n\n return (\n <>\n \n Opção correta\n \n \n \n \n {taskSelectedWord?.file ? (\n \n \n \n ) : null}\n \n \n \n );\n }\n if (addAllOptions > 0 && allOptions && skipTask) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskSelectedWord.options?.length) {\n return taskSelectedWord.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n\n const onChangeOptionPortuguese = (txt: any) => {\n if (txt.target.value.length <= 50) {\n const [getOneOption] = taskSelectedWord.options.filter(\n (v: any) => v.id === item.id,\n );\n if (getOneOption.id === item.id) {\n const removeOneOption = taskSelectedWord.options.filter(\n (v: any) => v.id !== item.id,\n );\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: txt.target.value,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskSelectedWord({\n ...taskSelectedWord,\n options: orderNewDataOption,\n correct: !txt.target.value?.length ? '' : taskSelectedWord?.correct,\n });\n }\n }\n };\n\n const onChangeOptionEnglish = (txt: any) => {\n if (txt.target.value.length <= 50) {\n const [getOneOption] = taskSelectedWord.options.filter(\n (v: any) => v.id === item.id,\n );\n if (getOneOption.id === item.id) {\n const removeOneOption = taskSelectedWord.options.filter(\n (v: any) => v.id !== item.id,\n );\n const optionModified = {\n optionEnglish: txt.target.value,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskSelectedWord({\n ...taskSelectedWord,\n options: orderNewDataOption,\n correct: !txt.target.value?.length ? '' : taskSelectedWord?.correct,\n });\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} português`, item.optionPortuguese, onChangeOptionPortuguese)}\n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} inglês`, item.optionEnglish, onChangeOptionEnglish)}\n \n );\n });\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Escolha a palavra/expressão\n \n {RenderInputsTitles('Título da atividade', taskSelectedWord.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskSelectedWord.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n \n Voltar\n \n \n {taskSelectedWord?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskSelectedWord;\n","// importando bibliotecas\nimport firebase from 'firebase';\n\n// Environment - Staging\n// const firebaseStaging = {\n// apiKey: 'AIzaSyAEjl2mjobhnhasp9FGuNKY6gxh9xfrrA8',\n// authDomain: 'idiomas-tec-backup.firebaseapp.com',\n// databaseURL: 'https://idiomas-tec-backup-default-rtdb.firebaseio.com',\n// projectId: 'idiomas-tec-backup',\n// storageBucket: 'idiomas-tec-backup.appspot.com',\n// messagingSenderId: '321948151165',\n// appId: '1:321948151165:web:8e15610803001b3352f014',\n// measurementId: 'G-B0YDP7H8M9',\n// };\n\n// Environment - Production\nconst firebaseProduction = {\n apiKey: 'AIzaSyApJ9gF9APPVdtxIWZ6oNmF4ittFU425hk',\n authDomain: 'ingles-tec-ae157.firebaseapp.com',\n databaseURL: 'https://ingles-tec-ae157-default-rtdb.firebaseio.com',\n projectId: 'ingles-tec-ae157',\n storageBucket: 'ingles-tec-ae157.appspot.com',\n messagingSenderId: '518519320691',\n appId: '1:518519320691:web:91659b468e507d5823ba06',\n measurementId: 'G-FJJKFB458N',\n};\n\nfirebase.initializeApp(firebaseProduction);\n\nexport default firebase;\n","// js\nimport firebase from '../../configs/firebase';\n\nconst ActionCompleteAllTasks = (\n nameBank: string,\n idModule: string,\n setAllTasks: any,\n) => {\n firebase.database().ref(`${nameBank}/modules/${idModule}/tasks`).once('value', async (snapshot) => {\n const GetAllTasks = [] as any;\n snapshot.forEach((childItem: any) => {\n if (childItem.val().type === 'COMPLETED_PHRASE') {\n const newValue = {\n correct: childItem.val().correct,\n id: childItem.val().id,\n file: childItem.val().file,\n fileImg: childItem.val().fileImg,\n options: childItem.val().options,\n phraseEnglish: childItem.val().phraseEnglish,\n phrasePortuguese: childItem.val().phrasePortuguese,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n target: childItem.val().target,\n title: childItem.val().title,\n typeQuestion: childItem.val().typeQuestion,\n type: childItem.val().type,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'CONNECT_PHRASES' || childItem.val().type === 'CONNECT_WORD' || childItem.val().type === 'CONNECT_WORD_TO_IMAGES' || childItem.val().type === 'INFO_PHRASES') {\n const newValue = {\n options: childItem.val().options,\n id: childItem.val().id,\n subtitle: childItem.val().subtitle,\n title: childItem.val().title,\n skip: childItem.val().skip,\n target: childItem.val().target,\n type: childItem.val().type,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'ORDER_WORD') {\n const newValue = {\n order: childItem.val().order,\n id: childItem.val().id,\n phraseFinal: childItem.val().phraseFinal,\n phraseInitial: childItem.val().phraseInitial,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n title: childItem.val().title,\n type: childItem.val().type,\n file: childItem.val().file,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'ORDER_WORD_IMAGE') {\n const newValue = {\n order: childItem.val().order,\n id: childItem.val().id,\n phraseFinal: childItem.val().phraseFinal,\n phraseInitial: childItem.val().phraseInitial,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n title: childItem.val().title,\n type: childItem.val().type,\n file: childItem.val().file,\n fileImg: childItem.val().fileImg,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'SELECTED_WORD') {\n const newValue = {\n correct: childItem.val().correct,\n file: childItem.val().file,\n id: childItem.val().id,\n options: childItem.val().options,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n target: childItem.val().target,\n title: childItem.val().title,\n type: childItem.val().type,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'SELECTED_WORD_IMAGE') {\n const newValue = {\n correct: childItem.val().correct,\n file: childItem.val().file,\n fileImg: childItem.val().fileImg,\n id: childItem.val().id,\n options: childItem.val().options,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n target: childItem.val().target,\n title: childItem.val().title,\n type: childItem.val().type,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'ASSOCIATE_WORD') {\n const newValue = {\n correct: childItem.val().correct,\n file: childItem.val().file,\n id: childItem.val().id,\n options: childItem.val().options,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n target: childItem.val().target,\n title: childItem.val().title,\n type: childItem.val().type,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'ORDER_WORD_COMPLETED_PHRASE') {\n const newValue = {\n file: childItem.val().file,\n id: childItem.val().id,\n answer: childItem.val().answer,\n phraseInitial: childItem.val().phraseInitial,\n phraseFinal: childItem.val().phraseFinal,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n title: childItem.val().title,\n type: childItem.val().type,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'SELECTED_WORD_FOR_QUESTION') {\n const newValue = {\n correct: childItem.val().correct,\n file: childItem.val().file,\n id: childItem.val().id,\n options: childItem.val().options,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n target: childItem.val().target,\n title: childItem.val().title,\n type: childItem.val().type,\n question: childItem.val().question,\n };\n GetAllTasks.push(newValue);\n }\n if (childItem.val().type === 'SELECTED_WORD_FOR_TRANSLATION') {\n const newValue = {\n correct: childItem.val().correct,\n file: childItem.val().file,\n fileImg: childItem.val().fileImg,\n id: childItem.val().id,\n options: childItem.val().options,\n subtitle: childItem.val().subtitle,\n skip: childItem.val().skip,\n target: childItem.val().target,\n title: childItem.val().title,\n type: childItem.val().type,\n question: childItem.val().question,\n };\n GetAllTasks.push(newValue);\n }\n });\n setAllTasks(GetAllTasks);\n });\n};\n\nconst ActionAutoCompleteTasks = (\n infoObject: any,\n setTaskSelectedWord: any,\n setTaskCompletedPhrase: any,\n setTaskConnectPhrases: any,\n setTaskConnectWord: any,\n setTaskOrderWord: any,\n setTaskOrderWordImage: any,\n setTaskConnectWordToImages: any,\n setTaskSelectedWordImage: any,\n setTaskAssociateWord: any,\n setTaskOrderWordCompletedPhrase: any,\n setTaskSelectedWordForQuestion: any,\n setTaskSelectedWordForTranslation: any,\n setTaskInfoPhrases: any,\n) => {\n if (infoObject?.type === 'SELECTED_WORD') {\n setTaskSelectedWord({\n correct: infoObject?.correct,\n file: infoObject?.file,\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'COMPLETED_PHRASE') {\n setTaskCompletedPhrase({\n correct: infoObject?.correct,\n file: infoObject?.file,\n fileImg: infoObject?.typeQuestion === 'Checar' ? infoObject?.fileImg || '' : '',\n id: infoObject?.idTask,\n options: infoObject?.options,\n phraseEnglish: infoObject?.phraseEnglish,\n phrasePortuguese: infoObject?.phrasePortuguese,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.typeQuestion === 'Checar' ? 0 : infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n typeQuestion: infoObject?.typeQuestion || 'Selecionar',\n });\n }\n if (infoObject?.type === 'CONNECT_PHRASES') {\n setTaskConnectPhrases({\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'CONNECT_WORD') {\n setTaskConnectWord({\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'ORDER_WORD') {\n setTaskOrderWord({\n id: infoObject?.idTask,\n file: infoObject?.file,\n order: infoObject?.order,\n phraseFinal: infoObject?.phraseFinal,\n phraseInitial: infoObject?.phraseInitial,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'ORDER_WORD_IMAGE') {\n setTaskOrderWordImage({\n id: infoObject?.idTask,\n file: infoObject?.file,\n order: infoObject?.order,\n phraseFinal: infoObject?.phraseFinal,\n phraseInitial: infoObject?.phraseInitial,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n title: infoObject?.title,\n type: infoObject?.type,\n fileImg: infoObject?.fileImg,\n });\n }\n if (infoObject?.type === 'CONNECT_WORD_TO_IMAGES') {\n setTaskConnectWordToImages({\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n target: infoObject?.target,\n skip: infoObject?.skip,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'SELECTED_WORD_IMAGE') {\n setTaskSelectedWordImage({\n correct: infoObject?.correct,\n file: infoObject?.file,\n fileImg: infoObject?.fileImg,\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'ASSOCIATE_WORD') {\n setTaskAssociateWord({\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'ORDER_WORD_COMPLETED_PHRASE') {\n setTaskOrderWordCompletedPhrase({\n file: infoObject?.file,\n id: infoObject?.idTask,\n answer: infoObject?.answer,\n phraseInitial: infoObject?.phraseInitial,\n phraseFinal: infoObject?.phraseFinal,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n if (infoObject?.type === 'SELECTED_WORD_FOR_QUESTION') {\n setTaskSelectedWordForQuestion({\n correct: infoObject?.correct,\n file: infoObject?.file,\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n question: infoObject?.question,\n });\n }\n if (infoObject?.type === 'SELECTED_WORD_FOR_TRANSLATION') {\n setTaskSelectedWordForTranslation({\n correct: infoObject?.correct,\n file: infoObject?.file,\n fileImg: infoObject?.fileImg,\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n question: infoObject?.question,\n });\n }\n if (infoObject?.type === 'INFO_PHRASES') {\n setTaskInfoPhrases({\n id: infoObject?.idTask,\n options: infoObject?.options,\n subtitle: infoObject?.subtitle,\n skip: infoObject?.skip,\n target: infoObject?.target,\n title: infoObject?.title,\n type: infoObject?.type,\n });\n }\n};\n\nexport default {\n ActionCompleteAllTasks,\n ActionAutoCompleteTasks,\n};\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport defaultPhoto from '../../../assets/images/default.png';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface, SelectedWordImageInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskSelectedWordImage = (\n setIdModal: any,\n initialDataTaskSelectedWord: SelectedWordImageInterface,\n taskSelectedWordImage: SelectedWordImageInterface,\n setTaskSelectedWordImage: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskSelectedWordImage(initialDataTaskSelectedWord);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskSelectedWordImage?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskSelectedWordImage,\n options: formatOptions,\n idTask: taskSelectedWordImage.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordImage, title: txt.target.value };\n setTaskSelectedWordImage(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordImage, subtitle: txt.target.value };\n setTaskSelectedWordImage(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskSelectedWordImage, skip: txt.target.value };\n setTaskSelectedWordImage(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n if (taskSelectedWordImage?.id) {\n const ValidationLength = Object.values(taskSelectedWordImage).filter((v) => v !== '').length !== 10;\n const ValidationOptionsLength = taskSelectedWordImage?.options.filter((v: any) => v.option).length === taskSelectedWordImage?.options?.length;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskSelectedWordImage?.id) {\n const ValidationLength = Object.values(taskSelectedWordImage).filter((v) => v !== '').length !== 9;\n if (!ValidationLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskSelectedWordImage).filter((v) => v !== '');\n const ValidationOptionsLength = taskSelectedWordImage?.options.filter((v: any) => v.option).length === taskSelectedWordImage?.options?.length;\n if ((taskSelectedWordImage?.id ? valueObject.length === 10 : valueObject.length === 9) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n option: '',\n id: uuidv4(),\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskSelectedWordImage,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n correct: orderNewDataOption.filter((v: any) => !v.option).length > 0 ? '' : taskSelectedWordImage?.correct,\n };\n setTaskSelectedWordImage(newDataTask);\n }\n }\n };\n\n const onChangeOptionCorrect = (txt: any) => {\n const newDataTask = { ...taskSelectedWordImage, correct: txt.target.value };\n setTaskSelectedWordImage(newDataTask);\n };\n\n // renders\n const RenderAllOptionsCorrect = () => {\n const AllOptionsEnglish = [] as any;\n const test = taskSelectedWordImage.options.map(\n (v: any) => AllOptionsEnglish.push(v.option),\n );\n if (AllOptionsEnglish.length === test.length) {\n return AllOptionsEnglish.map((option: any) => (\n {option}\n ));\n }\n\n return null;\n };\n\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const optionsLength = taskSelectedWordImage.options.filter((v: any) => v.option !== '').length;\n const allOptions = optionsLength === taskSelectedWordImage.target;\n\n if (optionsLength > 0 && allOptions && !skipTask) {\n const SelectedPhotoArchive = async (event: any, key: string) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskSelectedWordImage({ ...taskSelectedWordImage, [key]: upload.result });\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n };\n\n return (\n <>\n \n Opção correta\n \n \n \n \n {taskSelectedWordImage?.file ? (\n \n \n \n ) : null}\n SelectedPhotoArchive(event, 'file')}\n type=\"file\"\n />\n \n \n \n SelectedPhotoArchive(event, 'fileImg')}\n type=\"file\"\n />\n \n \n );\n }\n if (optionsLength > 0 && allOptions && skipTask) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskSelectedWordImage.options?.length) {\n return taskSelectedWordImage.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n\n const onChangeOptionPortuguese = (txt: any) => {\n if (txt.target.value.length <= 50) {\n const [getOneOption] = taskSelectedWordImage.options.filter(\n (v: any) => v.id === item.id,\n );\n if (getOneOption.id === item.id) {\n const removeOneOption = taskSelectedWordImage.options.filter(\n (v: any) => v.id !== item.id,\n );\n const optionModified = {\n option: txt.target.value,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskSelectedWordImage({\n ...taskSelectedWordImage,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat}`, item.option, onChangeOptionPortuguese)}\n \n );\n });\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Associe a imagem às palavras\n \n {RenderInputsTitles('Título da atividade', taskSelectedWordImage.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskSelectedWordImage.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n \n Voltar\n \n \n {taskSelectedWordImage?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskSelectedWordImage;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface, SelectedWordForQuestionInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskSelectedWordForQuestion = (\n setIdModal: any,\n initialDataTaskSelectedWordForQuestion: SelectedWordForQuestionInterface,\n taskSelectedWordForQuestion: SelectedWordForQuestionInterface,\n setTaskSelectedWordForQuestion: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskSelectedWordForQuestion(initialDataTaskSelectedWordForQuestion);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskSelectedWordForQuestion?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskSelectedWordForQuestion,\n options: formatOptions,\n idTask: taskSelectedWordForQuestion.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordForQuestion, title: txt.target.value };\n setTaskSelectedWordForQuestion(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordForQuestion, subtitle: txt.target.value };\n setTaskSelectedWordForQuestion(newDataTask);\n }\n };\n\n const onChangeQuestion = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordForQuestion, question: txt.target.value };\n setTaskSelectedWordForQuestion(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskSelectedWordForQuestion, skip: txt.target.value };\n setTaskSelectedWordForQuestion(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n if (taskSelectedWordForQuestion?.id) {\n const ValidationLength = Object.values(taskSelectedWordForQuestion).filter((v) => v !== '').length !== 10;\n const ValidationOptionsLength = taskSelectedWordForQuestion?.options.filter((v: any) => v.option).length === taskSelectedWordForQuestion?.options?.length;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskSelectedWordForQuestion?.id) {\n const ValidationLength = Object.values(taskSelectedWordForQuestion).filter((v) => v !== '').length !== 9;\n if (!ValidationLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskSelectedWordForQuestion).filter((v) => v !== '');\n const ValidationOptionsLength = taskSelectedWordForQuestion?.options.filter((v: any) => v.option).length === taskSelectedWordForQuestion?.options?.length;\n if ((taskSelectedWordForQuestion?.id ? valueObject.length === 10 : valueObject.length === 9) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n option: '',\n id: uuidv4(),\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskSelectedWordForQuestion,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n // correct: orderNewDataOption.filter((v: any) => !v.optionEnglish || !v.optionPortuguese).length > 0 ? '' : taskSelectedWordForQuestion?.correct,\n };\n setTaskSelectedWordForQuestion(newDataTask);\n }\n }\n };\n\n const onChangeOptionCorrect = (txt: any) => {\n const newDataTask = { ...taskSelectedWordForQuestion, correct: txt.target.value };\n setTaskSelectedWordForQuestion(newDataTask);\n };\n\n // renders\n const RenderAllOptionsCorrect = () => {\n const AllOptionsEnglish = [] as any;\n const test = taskSelectedWordForQuestion.options.map(\n (v: any) => AllOptionsEnglish.push(v.option),\n );\n if (AllOptionsEnglish.length === test.length) {\n return AllOptionsEnglish.map((option: any) => (\n {option}\n ));\n }\n\n return null;\n };\n\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const options = taskSelectedWordForQuestion.options.filter((v: any) => v.option !== '').length;\n const allOptions = options === taskSelectedWordForQuestion.target;\n\n if (options > 0 && allOptions && !skipTask) {\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskSelectedWordForQuestion({ ...taskSelectedWordForQuestion, file: upload.result });\n }\n }\n };\n\n return (\n <>\n \n Opção correta\n \n \n \n \n {taskSelectedWordForQuestion?.file ? (\n \n \n \n ) : null}\n \n \n \n );\n }\n if (options > 0 && allOptions && skipTask) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskSelectedWordForQuestion.options?.length) {\n return taskSelectedWordForQuestion.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n\n const onChangeOption = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const [getOneOption] = taskSelectedWordForQuestion.options.filter(\n (v: any) => v.id === item.id,\n );\n if (getOneOption.id === item.id) {\n const removeOneOption = taskSelectedWordForQuestion.options.filter(\n (v: any) => v.id !== item.id,\n );\n const optionModified = {\n option: txt.target.value,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskSelectedWordForQuestion({\n ...taskSelectedWordForQuestion,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat}`, item.option, onChangeOption)}\n \n );\n });\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.slice(0, 4).map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Escolha a palavra/expressão para responder a pergunta\n \n {RenderInputsTitles('Título da atividade', taskSelectedWordForQuestion.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskSelectedWordForQuestion.subtitle, onChangeSubtitle)}\n {RenderInputsTitles('Pergunta da atividade', taskSelectedWordForQuestion.question, onChangeQuestion)}\n \n Quantidade\n \n \n \n {RenderInputsBody()}\n \n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n \n Voltar\n \n \n {taskSelectedWordForQuestion?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskSelectedWordForQuestion;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { TaskAssociateWordInterface, DataModuleInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskAssociateWord = (\n setIdModal: any,\n initialDataTaskAssociateWord: TaskAssociateWordInterface,\n taskAssociateWord: TaskAssociateWordInterface,\n setTaskAssociateWord: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10, width: '45%' };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskAssociateWord(initialDataTaskAssociateWord);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskAssociateWord?.options?.map((e: any) => {\n const option = e;\n delete option?.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskAssociateWord,\n options: formatOptions,\n idTask: taskAssociateWord.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskAssociateWord, title: txt.target.value };\n setTaskAssociateWord(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskAssociateWord, subtitle: txt.target.value };\n setTaskAssociateWord(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskAssociateWord, skip: txt.target.value };\n setTaskAssociateWord(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n const ValidationOptionsLength = taskAssociateWord?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskAssociateWord?.options?.length;\n if (taskAssociateWord?.id) {\n const ValidationLength = Object.values(taskAssociateWord).filter((v) => v !== '').length !== 7;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskAssociateWord?.id) {\n const ValidationLength = Object.values(taskAssociateWord).filter((v) => v !== '').length !== 6;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskAssociateWord).filter((v) => v !== '');\n const ValidationOptionsLength = taskAssociateWord?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskAssociateWord?.options?.length;\n if ((taskAssociateWord?.id ? valueObject.length === 7 : valueObject.length === 6) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n optionEnglish: '',\n optionPortuguese: '',\n id: uuidv4(),\n file: '',\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskAssociateWord,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n };\n setTaskAssociateWord(newDataTask);\n }\n }\n };\n\n // renders\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const options = taskAssociateWord?.options?.filter((v: any) => v?.option !== '')?.length;\n const allOptions = options === taskAssociateWord?.target;\n\n if (options > 0 && allOptions && !skipTask) {\n return (\n <>\n \n Pular/Não pular\n \n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskAssociateWord?.options?.length) {\n return taskAssociateWord.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n const [getOneOption] = taskAssociateWord.options.filter(\n (v: any) => v.id === item.id,\n );\n const removeOneOption = taskAssociateWord.options.filter(\n (v: any) => v.id !== item.id,\n );\n\n const onChangeOptionPortuguese = (txt: any) => {\n if (txt.target.value.length <= 50) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: txt.target.value,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskAssociateWord({\n ...taskAssociateWord,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n const onChangeOptionEnglish = (txt: any) => {\n if (txt.target.value.length <= 50) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: txt.target.value,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskAssociateWord({\n ...taskAssociateWord,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: upload.result,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskAssociateWord({\n ...taskAssociateWord,\n options: orderNewDataOption,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} português`, item.optionPortuguese, onChangeOptionPortuguese)}\n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} inglês`, item.optionEnglish, onChangeOptionEnglish)}\n \n \n {item?.file ? (\n \n \n \n ) : null}\n \n \n \n );\n });\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Associe a frase à sua tradução\n \n {RenderInputsTitles('Título da atividade', taskAssociateWord.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskAssociateWord.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n \n Voltar\n \n \n {taskAssociateWord?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskAssociateWord;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { OrderWordCompletedPhraseInterface, DataModuleInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskOrderWordCompletedPhrase = (\n setIdModal: any,\n initialDataTaskOrderWordCompletedPhrase: OrderWordCompletedPhraseInterface,\n taskOrderWordCompletedPhrase: OrderWordCompletedPhraseInterface,\n setTaskOrderWordCompletedPhrase: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskOrderWordCompletedPhrase(initialDataTaskOrderWordCompletedPhrase);\n };\n\n const CreateTask = async () => {\n const formatTask: any = {\n ...taskOrderWordCompletedPhrase,\n idTask: taskOrderWordCompletedPhrase.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWordCompletedPhrase, title: txt.target.value };\n setTaskOrderWordCompletedPhrase(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWordCompletedPhrase, subtitle: txt.target.value };\n setTaskOrderWordCompletedPhrase(newDataTask);\n }\n };\n\n const onChangePhraseInitial = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWordCompletedPhrase, phraseInitial: txt.target.value };\n setTaskOrderWordCompletedPhrase(newDataTask);\n }\n };\n\n const onChangePhraseFinal = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWordCompletedPhrase, phraseFinal: txt.target.value };\n setTaskOrderWordCompletedPhrase(newDataTask);\n }\n };\n\n const onChangeAnswer = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskOrderWordCompletedPhrase, answer: txt.target.value };\n setTaskOrderWordCompletedPhrase(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskOrderWordCompletedPhrase, skip: txt.target.value };\n setTaskOrderWordCompletedPhrase(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n if (taskOrderWordCompletedPhrase?.id) {\n const ValidationLengthSelect = Object.values(taskOrderWordCompletedPhrase).filter((v) => v).length !== 9;\n if (!ValidationLengthSelect) {\n valueObject = false;\n }\n } else if (!taskOrderWordCompletedPhrase?.id) {\n const ValidationLengthSelect = Object.values(taskOrderWordCompletedPhrase).filter((v) => v !== '').length !== 8;\n if (!ValidationLengthSelect) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskOrderWordCompletedPhrase).filter((v) => v !== '');\n if (\n taskOrderWordCompletedPhrase?.id ? valueObject.length === 9 : valueObject.length === 8\n ) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n // renders\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n if (!skipTask) {\n const SelectedAudio = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskOrderWordCompletedPhrase({ ...taskOrderWordCompletedPhrase, file: upload.result });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n <>\n \n \n {taskOrderWordCompletedPhrase?.file ? (\n \n \n \n ) : null}\n \n \n \n Pular/Não pular\n \n Pular\n Não pular\n \n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Ordene as palavras para preencher a lacuna\n \n {RenderInputsTitles('Título da atividade', taskOrderWordCompletedPhrase.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskOrderWordCompletedPhrase.subtitle, onChangeSubtitle)}\n \n \n \n \n \n \n {RenderSelectedCorrectOptions(false)}\n \n \n \n Voltar\n \n \n {taskOrderWordCompletedPhrase?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskOrderWordCompletedPhrase;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport defaultPhoto from '../../../assets/images/default.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface, SelectedWordForTranslationInterface } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskSelectedWordForTranslation = (\n setIdModal: any,\n initialDataTaskSelectedWordForTranslation: SelectedWordForTranslationInterface,\n taskSelectedWordForTranslation: SelectedWordForTranslationInterface,\n setTaskSelectedWordForTranslation: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskSelectedWordForTranslation(initialDataTaskSelectedWordForTranslation);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskSelectedWordForTranslation?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskSelectedWordForTranslation,\n options: formatOptions,\n idTask: taskSelectedWordForTranslation.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordForTranslation, title: txt.target.value };\n setTaskSelectedWordForTranslation(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordForTranslation, subtitle: txt.target.value };\n setTaskSelectedWordForTranslation(newDataTask);\n }\n };\n\n const onChangeQuestion = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskSelectedWordForTranslation, question: txt.target.value };\n setTaskSelectedWordForTranslation(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskSelectedWordForTranslation, skip: txt.target.value };\n setTaskSelectedWordForTranslation(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n if (taskSelectedWordForTranslation?.id) {\n const ValidationLength = Object.values(taskSelectedWordForTranslation).filter((v) => v !== '').length !== 11;\n const ValidationOptionsLength = taskSelectedWordForTranslation?.options.filter((v: any) => v.option).length === taskSelectedWordForTranslation?.options?.length;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskSelectedWordForTranslation?.id) {\n const ValidationLength = Object.values(taskSelectedWordForTranslation).filter((v) => v !== '').length !== 10;\n if (!ValidationLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskSelectedWordForTranslation).filter((v) => v !== '');\n const ValidationOptionsLength = taskSelectedWordForTranslation?.options.filter((v: any) => v.option).length === taskSelectedWordForTranslation?.options?.length;\n if ((taskSelectedWordForTranslation?.id ? valueObject.length === 11 : valueObject.length === 10) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n option: '',\n id: uuidv4(),\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskSelectedWordForTranslation,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n // correct: orderNewDataOption.filter((v: any) => !v.optionEnglish || !v.optionPortuguese).length > 0 ? '' : taskSelectedWordForTranslation?.correct,\n };\n setTaskSelectedWordForTranslation(newDataTask);\n }\n }\n };\n\n const onChangeOptionCorrect = (txt: any) => {\n const newDataTask = { ...taskSelectedWordForTranslation, correct: txt.target.value };\n setTaskSelectedWordForTranslation(newDataTask);\n };\n\n // renders\n const RenderAllOptionsCorrect = () => {\n const AllOptionsEnglish = [] as any;\n const test = taskSelectedWordForTranslation.options.map(\n (v: any) => AllOptionsEnglish.push(v.option),\n );\n if (AllOptionsEnglish.length === test.length) {\n return AllOptionsEnglish.map((option: any) => (\n {option}\n ));\n }\n\n return null;\n };\n\n const RenderSelectedCorrectOptions = (skipTask: boolean) => {\n const options = taskSelectedWordForTranslation.options.filter((v: any) => v.option !== '').length;\n const allOptions = options === taskSelectedWordForTranslation.target;\n\n if (options > 0 && allOptions && !skipTask) {\n const SelectedAudio = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskSelectedWordForTranslation({ ...taskSelectedWordForTranslation, file: upload.result });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setTaskSelectedWordForTranslation({ ...taskSelectedWordForTranslation, fileImg: upload.result });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n <>\n \n Opção correta\n \n \n \n \n {taskSelectedWordForTranslation?.file ? (\n \n \n \n ) : null}\n \n \n \n \n \n \n \n );\n }\n if (options > 0 && allOptions && skipTask) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskSelectedWordForTranslation.options?.length) {\n return taskSelectedWordForTranslation.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n\n const onChangeOption = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const [getOneOption] = taskSelectedWordForTranslation.options.filter(\n (v: any) => v.id === item.id,\n );\n if (getOneOption.id === item.id) {\n const removeOneOption = taskSelectedWordForTranslation.options.filter(\n (v: any) => v.id !== item.id,\n );\n const optionModified = {\n option: txt.target.value,\n id: getOneOption.id,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskSelectedWordForTranslation({\n ...taskSelectedWordForTranslation,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat}`, item.option, onChangeOption)}\n \n );\n });\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.slice(0, 4).map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Escolha a palavra/expressão que corresponde a sua tradução\n \n {RenderInputsTitles('Título da atividade', taskSelectedWordForTranslation.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskSelectedWordForTranslation.subtitle, onChangeSubtitle)}\n {RenderInputsTitles('Pergunta da atividade', taskSelectedWordForTranslation.question, onChangeQuestion)}\n \n Quantidade\n \n \n \n {RenderInputsBody()}\n \n \n {RenderSelectedCorrectOptions(false)}\n {RenderSelectedCorrectOptions(true)}\n \n \n \n Voltar\n \n \n {taskSelectedWordForTranslation?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskSelectedWordForTranslation;\n","/* eslint-disable max-len */\n/* eslint-disable no-plusplus */\n// libraries\nimport React from 'react';\nimport {\n Button,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from '@material-ui/core';\nimport { CheckCircle, NavigateBefore, Send } from '@material-ui/icons';\nimport { v4 as uuidv4 } from 'uuid';\n\n// js\nimport defaultSound from '../../../assets/images/defaultSound.png';\nimport { allMenuItems } from './taskConstants';\nimport {\n ContainerAdjustIconEdit,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n TitleOption,\n} from '../modulesStyles';\n\n// interfaces\nimport type { DataModuleInterface, InfoPhrases } from '../modulesInterfaces';\nimport uploads from '../../../services/uploads';\nimport tasks from '../../../services/tasks';\n\nconst TaskInfoPhrases = (\n setIdModal: any,\n initialDataTaskInfoPhrases: InfoPhrases,\n taskInfoPhrases: InfoPhrases,\n setTaskInfoPhrases: any,\n dataModule: DataModuleInterface,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustMarginBottom = { marginBottom: 10 };\n const adjustButtonLogo = { marginBottom: 25, width: 200 };\n const adjustWidthSelectedActivities = { width: 200 };\n const marginDefault = { marginRight: 10 };\n\n // methods\n const BackScreenModal = () => {\n setIdModal(1);\n setTaskInfoPhrases(initialDataTaskInfoPhrases);\n };\n\n const CreateTask = async () => {\n const formatOptions = taskInfoPhrases?.options?.map((e: any) => {\n const option = e;\n delete option.idWrapperTask;\n return option;\n });\n const formatTask: any = {\n ...taskInfoPhrases,\n options: formatOptions,\n idTask: taskInfoPhrases.id,\n idModule: dataModule?.id,\n };\n delete formatTask?.id;\n if (formatTask?.idTask) {\n const editTask: any = await tasks.EditTask(formatTask, token);\n if (editTask) {\n BackScreenModal();\n }\n } else {\n delete formatTask?.idTask;\n const createTask: any = await tasks.CreateTask(formatTask, token);\n if (createTask) {\n BackScreenModal();\n }\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskInfoPhrases, title: txt.target.value };\n setTaskInfoPhrases(newDataTask);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataTask = { ...taskInfoPhrases, subtitle: txt.target.value };\n setTaskInfoPhrases(newDataTask);\n }\n };\n\n const onChangeOptionSkipTask = (txt: any) => {\n const newDataTask = { ...taskInfoPhrases, skip: txt.target.value };\n setTaskInfoPhrases(newDataTask);\n };\n\n const validationDisabled = () => {\n let valueObject = true;\n const ValidationOptionsLength = taskInfoPhrases?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskInfoPhrases?.options?.length;\n if (taskInfoPhrases?.id) {\n const ValidationLength = Object.values(taskInfoPhrases).filter((v) => v !== '').length !== 7;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n } else if (!taskInfoPhrases?.id) {\n const ValidationLength = Object.values(taskInfoPhrases).filter((v) => v !== '').length !== 6;\n if (!ValidationLength && ValidationOptionsLength) {\n valueObject = false;\n }\n }\n return valueObject;\n };\n\n const validationBackground = () => {\n const valueObject = Object.values(taskInfoPhrases).filter((v) => v !== '');\n const ValidationOptionsLength = taskInfoPhrases?.options.filter((v: any) => v.optionEnglish && v.optionPortuguese && v.file).length === taskInfoPhrases?.options?.length;\n if ((taskInfoPhrases?.id ? valueObject.length === 7 : valueObject.length === 6) && ValidationOptionsLength) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n const onChangeTarget = (txt: any) => {\n const allOptions = [];\n for (let i = 0; i < Number(txt.target.value); i++) {\n const objOrigin = {\n optionEnglish: '',\n optionPortuguese: '',\n id: uuidv4(),\n file: '',\n };\n allOptions.push(objOrigin);\n if (allOptions.length === Number(txt.target.value)) {\n const orderNewDataOption = allOptions.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n const newDataTask = {\n ...taskInfoPhrases,\n target: Number(txt.target.value),\n options: orderNewDataOption,\n };\n setTaskInfoPhrases(newDataTask);\n }\n }\n };\n\n // renders\n const RenderInputsOptions = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n \n );\n };\n\n const RenderInputsBody = () => {\n if (taskInfoPhrases.options?.length) {\n return taskInfoPhrases.options.map((item: any, index: number) => {\n const indexFormat = index + 1;\n const indexZero = indexFormat < 10 ? 0 : '';\n const [getOneOption] = taskInfoPhrases.options.filter(\n (v: any) => v.id === item.id,\n );\n const removeOneOption = taskInfoPhrases.options.filter(\n (v: any) => v.id !== item.id,\n );\n\n const onChangeOptionPortuguese = (txt: any) => {\n if (txt.target.value.length <= 500) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: txt.target.value,\n id: getOneOption.id,\n file: getOneOption.file,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskInfoPhrases({\n ...taskInfoPhrases,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n const onChangeOptionEnglish = (txt: any) => {\n if (txt.target.value.length <= 500) {\n if (getOneOption.id === item.id) {\n const optionModified = {\n optionEnglish: txt.target.value,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: getOneOption.file,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskInfoPhrases({\n ...taskInfoPhrases,\n options: orderNewDataOption,\n });\n }\n }\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n const optionModified = {\n optionEnglish: getOneOption.optionEnglish,\n optionPortuguese: getOneOption.optionPortuguese,\n id: getOneOption.id,\n file: upload.result,\n };\n const newDataOption = [...removeOneOption, optionModified];\n const orderNewDataOption = newDataOption.sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n setTaskInfoPhrases({\n ...taskInfoPhrases,\n options: orderNewDataOption,\n });\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n return (\n \n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} português`, item.optionPortuguese, onChangeOptionPortuguese)}\n {RenderInputsOptions(`Opção ${indexZero}${indexFormat} inglês`, item.optionEnglish, onChangeOptionEnglish)}\n \n \n {item?.file ? (\n \n \n \n ) : null}\n \n \n \n );\n });\n }\n\n return null;\n };\n\n const RenderSelectedSkipTask = () => {\n const optionsEnglish = taskInfoPhrases.options.filter((v: any) => v.optionEnglish !== '').length;\n const optionsPortuguese = taskInfoPhrases.options.filter((v: any) => v.optionPortuguese !== '').length;\n const optionsFile = taskInfoPhrases.options.filter((v: any) => v.file).length;\n const allOptionsConnectPhrases = optionsEnglish + optionsPortuguese + optionsFile;\n const allOptions = allOptionsConnectPhrases === taskInfoPhrases.target * 3;\n\n if (optionsEnglish + optionsPortuguese > 0 && allOptions) {\n return (\n \n Pular/Não pular\n \n \n );\n }\n\n return null;\n };\n\n const RenderAllItems = () => {\n if (allMenuItems.ids.length) {\n return allMenuItems.ids.map((idSelected: any) => (\n {idSelected}\n ));\n }\n return null;\n };\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n return (\n <>\n \n Criação da Atividade - Associe as frases/parágrafos aos áudios correspondentes\n \n {RenderInputsTitles('Título da atividade', taskInfoPhrases.title, onChangeTitle)}\n {RenderInputsTitles('Subtítulo da atividade', taskInfoPhrases.subtitle, onChangeSubtitle)}\n \n Quantidade\n \n \n {RenderInputsBody()}\n {RenderSelectedSkipTask()}\n \n \n Voltar\n \n \n {taskInfoPhrases?.id ? 'Editar Atividade' : 'Criar Atividade'}\n \n \n \n );\n};\n\nexport default TaskInfoPhrases;\n","// libraries\nimport React, { useEffect, useState } from 'react';\nimport { Modal } from '@material-ui/core';\n\n// js\nimport imgDefault from '../../../assets/images/default.png';\nimport {\n initialDataTaskCompletedPhrase,\n initialDataTaskConnectPhrases,\n initialDataTaskConnectWord,\n initialDataTaskOrderWord,\n initialDataTaskOrderWordImage,\n initialDataTaskSelectedWord,\n initialDataTaskConnectWordToImages,\n initialDataTaskSelectedWordImage,\n initialDataTaskSelectedWordForQuestion,\n initialDataTaskAssociateWord,\n initialDataTaskOrderWordCompletedPhrase,\n initialDataTaskInfoPhrases,\n initialDataTaskSelectedWordForTranslation,\n} from './taskConstants';\nimport { Container, ContainerBox } from '../modulesStyles';\n\n// components\nimport ContainerInfoModules from './ContainerInfoModules';\nimport ContainerInfoTasks from './ContainerInfoTasks';\nimport TaskCompletedPhrase from './TaskCompletedPhrase';\nimport TaskConnectPhrases from './TaskConnectPhrases';\nimport TaskConnectWord from './TaskConnectWord';\nimport TaskConnectWordToImages from './TaskConnectWordToImages';\nimport TaskOrderWord from './TaskOrderWord';\nimport TaskSelectedWord from './TaskSelectedWord';\nimport ModalLoading from '../../../components/ModalLoading';\n\n// interfaces\nimport type { DataModuleInterface } from '../modulesInterfaces';\nimport modulesFunctions from '../modulesFunctions';\nimport modules from '../../../services/modules';\nimport tasks from '../../../services/tasks';\nimport uploads from '../../../services/uploads';\nimport TaskSelectedWordImage from './TaskSelectedWordImage';\nimport TaskSelectedWordForQuestion from './TaskSelectedWordForQuestion';\nimport TaskAssociateWord from './TaskAssociateWord';\nimport TaskOrderWordCompletedPhrase from './TaskOrderWordCompletedPhrase';\nimport TaskSelectedWordForTranslation from './TaskSelectedWordForTranslation';\nimport TaskInfoPhrases from './TaskInfoPhrases';\n\nconst ModalAddModules = (\n dataModule: DataModuleInterface,\n initialDataModule: DataModuleInterface,\n openModal: boolean,\n setDataModule: any,\n setOpenModal: any,\n allTasks: any,\n setAllTasks: any,\n dataFile: string,\n setDataFile: any,\n allCategory: any,\n // dataOldModule: any,\n) => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const idUser: any = String(localStorage.getItem('idUser') || '');\n const {\n title,\n description,\n signed,\n } = dataModule;\n\n // useState\n // const [allTasks, setAllTasks] = useState([]);\n // const [dataFile, setDataFile] = useState(initialFile);\n const [idModal, setIdModal] = useState(0);\n const [taskCompletedPhrase, setTaskCompletedPhrase] = useState(initialDataTaskCompletedPhrase);\n const [taskConnectPhrases, setTaskConnectPhrases] = useState(initialDataTaskConnectPhrases);\n const [taskConnectWord, setTaskConnectWord] = useState(initialDataTaskConnectWord);\n const [taskConnectWordToImages, setTaskConnectWordToImages] = useState(\n initialDataTaskConnectWordToImages,\n );\n const [taskOrderWord, setTaskOrderWord] = useState(initialDataTaskOrderWord);\n const [taskOrderWordImage, setTaskOrderWordImage] = useState(initialDataTaskOrderWordImage);\n const [taskSelectedWord, setTaskSelectedWord] = useState(initialDataTaskSelectedWord);\n const [taskSelectedWordImage, setTaskSelectedWordImage] = useState(\n initialDataTaskSelectedWordImage,\n );\n const [taskAssociateWord, setTaskAssociateWord] = useState(\n initialDataTaskAssociateWord,\n );\n const [taskOrderWordCompletedPhrase, setTaskOrderWordCompletedPhrase] = useState(\n initialDataTaskOrderWordCompletedPhrase,\n );\n const [taskSelectedWordForQuestion, setTaskSelectedWordForQuestion] = useState(\n initialDataTaskSelectedWordForQuestion,\n );\n const [taskSelectedWordForTranslation, setTaskSelectedWordForTranslation] = useState(\n initialDataTaskSelectedWordForTranslation,\n );\n const [taskInfoPhrases, setTaskInfoPhrases] = useState(\n initialDataTaskInfoPhrases,\n );\n const [activeLoading, setActiveLoading] = useState(false);\n\n // methods\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataModule = { ...dataModule, title: txt.target.value };\n setDataModule(newDataModule);\n }\n };\n\n const onChangeDescription = (txt: any) => {\n if (txt.target.value.length <= 200) {\n const newDataModule = { ...dataModule, description: txt.target.value };\n setDataModule(newDataModule);\n }\n };\n\n const onChangeSigned = (txt: any) => {\n const newDataModule = { ...dataModule, signed: txt.target.value };\n setDataModule(newDataModule);\n };\n\n const onChangeCategory = (txt: any) => {\n const newDataModule = { ...dataModule, category: txt.target.value };\n setDataModule(newDataModule);\n };\n\n const handleChangeSelectedTask = (txt: any) => {\n const type = txt.target.value;\n if (type === 'SELECTED_WORD') {\n setIdModal(2);\n }\n if (type === 'COMPLETED_PHRASE') {\n setIdModal(3);\n }\n if (type === 'CONNECT_PHRASES') {\n setIdModal(4);\n }\n if (type === 'CONNECT_WORD') {\n setIdModal(5);\n }\n if (type === 'ORDER_WORD') {\n setIdModal(6);\n }\n if (type === 'CONNECT_WORD_TO_IMAGES') {\n setIdModal(7);\n }\n if (type === 'ORDER_WORD_IMAGE') {\n setIdModal(8);\n }\n if (type === 'SELECTED_WORD_IMAGE') {\n setIdModal(9);\n }\n if (type === 'ASSOCIATE_WORD') {\n setIdModal(10);\n }\n if (type === 'ORDER_WORD_COMPLETED_PHRASE') {\n setIdModal(11);\n }\n if (type === 'SELECTED_WORD_FOR_QUESTION') {\n setIdModal(12);\n }\n if (type === 'SELECTED_WORD_FOR_TRANSLATION') {\n setIdModal(13);\n }\n if (type === 'INFO_PHRASES') {\n setIdModal(14);\n }\n };\n\n const GetListTasks = async () => {\n const {\n id,\n } = dataModule;\n if (id) {\n const getTasks: any = await tasks.ListTasks(id, idUser, token);\n if (getTasks) {\n setAllTasks(getTasks?.result?.list);\n }\n }\n };\n\n const handleChangeListTask = async (txt: any) => {\n const infoObj = txt.target.value;\n if (infoObj.method === 'DELETE') {\n const deleteTask: any = await tasks.DeleteTask(\n infoObj?.id,\n token,\n );\n if (deleteTask) {\n GetListTasks();\n }\n } else if (infoObj?.method === 'EDITAR') {\n const getDetailsTask: any = await tasks.DetailsTask(\n infoObj?.id,\n infoObj?.type,\n token,\n );\n if (getDetailsTask) {\n const TypeSelect = {\n target: {\n value: infoObj?.type,\n },\n };\n handleChangeSelectedTask(TypeSelect);\n modulesFunctions.ActionAutoCompleteTasks(\n getDetailsTask?.result,\n setTaskSelectedWord,\n setTaskCompletedPhrase,\n setTaskConnectPhrases,\n setTaskConnectWord,\n setTaskOrderWord,\n setTaskOrderWordImage,\n setTaskConnectWordToImages,\n setTaskSelectedWordImage,\n setTaskAssociateWord,\n setTaskOrderWordCompletedPhrase,\n setTaskSelectedWordForQuestion,\n setTaskSelectedWordForTranslation,\n setTaskInfoPhrases,\n );\n }\n }\n };\n\n const onCloseModal = () => {\n setOpenModal(false);\n setIdModal(0);\n setAllTasks([]);\n setDataModule(initialDataModule);\n setDataFile('');\n setTaskCompletedPhrase(initialDataTaskCompletedPhrase);\n setTaskConnectPhrases(initialDataTaskConnectPhrases);\n setTaskConnectWord(initialDataTaskConnectWord);\n setTaskConnectWordToImages(initialDataTaskConnectWordToImages);\n setTaskOrderWord(initialDataTaskOrderWord);\n setTaskOrderWordImage(initialDataTaskOrderWordImage);\n setTaskSelectedWord(initialDataTaskSelectedWord);\n };\n\n const NextScreenModal = async () => {\n const {\n id,\n category,\n } = dataModule;\n const formatDataModule = {\n ...dataModule,\n image: dataFile,\n idModuleGroup: category,\n };\n delete formatDataModule?.amountTask;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n delete formatDataModule?.category;\n if (id) {\n const editModule: any = await modules.EditModule(formatDataModule, token);\n if (editModule) {\n setIdModal(1);\n }\n } else {\n const createModule: any = await modules.CreateOnlyModule(formatDataModule, token);\n if (createModule) {\n setIdModal(1);\n setDataModule(createModule?.result);\n }\n }\n };\n\n const BackScreenModal = () => {\n setIdModal(0);\n };\n\n const ResetStates = () => {\n setActiveLoading(false);\n setOpenModal(false);\n setIdModal(0);\n setDataFile('');\n setDataModule(initialDataModule);\n setAllTasks([]);\n };\n\n const CreateModule = async () => {\n ResetStates();\n };\n\n const SelectedPhoto = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(newDataFiles.eventFile);\n if (upload) {\n setDataFile(upload.result);\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const validationDisabled = (type: any) => {\n const moduleFormat = {\n description,\n file: dataFile,\n title,\n signed,\n };\n const valueObject = Object.values(moduleFormat).filter((v) => v !== '' && v !== imgDefault).length !== 4;\n if (type === 1) {\n return valueObject;\n }\n if (type === 2) {\n return allTasks.length === 0;\n }\n\n return true;\n };\n\n const validationBackground = () => {\n const moduleFormat = {\n description,\n title,\n file: dataFile,\n signed,\n };\n const valueObject = Object.values(moduleFormat).filter((v) => v !== '' && v !== imgDefault);\n if (valueObject.length === 4) {\n return 'primary';\n }\n if (allTasks.length) {\n return 'primary';\n }\n\n return 'inherit';\n };\n\n useEffect(() => {\n if (idModal === 1) {\n GetListTasks();\n }\n }, [idModal]);\n\n // renders\n const RenderInfo = () => {\n if (idModal === 1) {\n return ContainerInfoTasks(\n dataModule,\n allTasks,\n BackScreenModal,\n CreateModule,\n handleChangeListTask,\n handleChangeSelectedTask,\n onCloseModal,\n validationBackground,\n validationDisabled,\n );\n }\n\n if (idModal === 2) {\n return TaskSelectedWord(\n setIdModal,\n initialDataTaskSelectedWord,\n taskSelectedWord,\n setTaskSelectedWord,\n dataModule,\n );\n }\n\n if (idModal === 3) {\n return TaskCompletedPhrase(\n setIdModal,\n initialDataTaskCompletedPhrase,\n taskCompletedPhrase,\n setTaskCompletedPhrase,\n dataModule,\n );\n }\n\n if (idModal === 4) {\n return TaskConnectPhrases(\n setIdModal,\n initialDataTaskConnectPhrases,\n taskConnectPhrases,\n setTaskConnectPhrases,\n dataModule,\n );\n }\n\n if (idModal === 5) {\n return TaskConnectWord(\n setIdModal,\n initialDataTaskConnectWord,\n taskConnectWord,\n setTaskConnectWord,\n dataModule,\n );\n }\n\n if (idModal === 6) {\n return TaskOrderWord(\n setIdModal,\n initialDataTaskOrderWord,\n taskOrderWord,\n setTaskOrderWord,\n dataModule,\n );\n }\n\n if (idModal === 7) {\n return TaskConnectWordToImages(\n setIdModal,\n initialDataTaskConnectWordToImages,\n taskConnectWordToImages,\n setTaskConnectWordToImages,\n dataModule,\n );\n }\n\n if (idModal === 8) {\n return TaskOrderWord(\n setIdModal,\n initialDataTaskOrderWordImage,\n taskOrderWordImage,\n setTaskOrderWordImage,\n dataModule,\n );\n }\n\n if (idModal === 9) {\n return TaskSelectedWordImage(\n setIdModal,\n initialDataTaskSelectedWordImage,\n taskSelectedWordImage,\n setTaskSelectedWordImage,\n dataModule,\n );\n }\n\n if (idModal === 10) {\n return TaskAssociateWord(\n setIdModal,\n initialDataTaskAssociateWord,\n taskAssociateWord,\n setTaskAssociateWord,\n dataModule,\n );\n }\n\n if (idModal === 11) {\n return TaskOrderWordCompletedPhrase(\n setIdModal,\n initialDataTaskOrderWordCompletedPhrase,\n taskOrderWordCompletedPhrase,\n setTaskOrderWordCompletedPhrase,\n dataModule,\n );\n }\n\n if (idModal === 12) {\n return TaskSelectedWordForQuestion(\n setIdModal,\n initialDataTaskSelectedWordForQuestion,\n taskSelectedWordForQuestion,\n setTaskSelectedWordForQuestion,\n dataModule,\n );\n }\n\n if (idModal === 13) {\n return TaskSelectedWordForTranslation(\n setIdModal,\n initialDataTaskSelectedWordForTranslation,\n taskSelectedWordForTranslation,\n setTaskSelectedWordForTranslation,\n dataModule,\n );\n }\n\n if (idModal === 14) {\n return TaskInfoPhrases(\n setIdModal,\n initialDataTaskInfoPhrases,\n taskInfoPhrases,\n setTaskInfoPhrases,\n dataModule,\n );\n }\n\n return ContainerInfoModules(\n dataFile,\n dataModule,\n NextScreenModal,\n onChangeDescription,\n onChangeTitle,\n onChangeSigned,\n onChangeCategory,\n onCloseModal,\n SelectedPhoto,\n validationBackground,\n validationDisabled,\n allCategory,\n );\n };\n\n return (\n \n \n \n \n {RenderInfo()}\n \n \n \n );\n};\n\nexport default ModalAddModules;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface ContainerOptionsInterface {\n marginTop?: string,\n maxWidth?: string,\n positionItemHorizontal?: string,\n positionItemVertical?: string,\n wrap?: string,\n width?: string,\n}\ninterface TitleOptionInterfaces {\n width?: string;\n}\ninterface ContainerBoxInterfaces {\n marginTop?: string;\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerPaginator = styled.div`\n display: flex;\n margin-top: 20px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: 80px;\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerBoxModalInline = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: ${({ marginTop }) => marginTop || '80px'};\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerMore = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 20%;\n`;\n\nexport const ContainerTitle = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const InfoOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Light')};\n width: ${({ width }) => width || '20%'};\n word-wrap: break-word;\n`;\n\nexport const LineSeparator = styled.div`\n background-color: ${colors.basic.gray};\n height: 1px;\n margin-top: 20px;\n opacity: 0.3;\n width: 100%;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n`;\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n width: ${({ width }) => width || '20%'};\n`;\n\nexport const ContainerOptionsInput = styled.div`\n align-items: ${(props) => (props.positionItemVertical || 'center')};\n background-color: ${colors.basic.white};\n display: flex;\n flex-wrap: ${(props) => (props.wrap || 'nowrap')};\n justify-content: ${(props) => (props.positionItemHorizontal || 'space-between')};\n margin-top: ${(props) => (props.marginTop || '0px')};\n width: ${(props) => (props.width || 'auto')};\n max-width: ${(props) => (props.maxWidth || 'none')};\n`;\n\nexport const ContainerModal = styled.div`\n align-items: center;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerBoxModal = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin: 20px 0px 20px 0px;\n min-width: 1000px;\n max-height: 70vh;\n overflow-y: auto;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const AdjustFilters = styled.div`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 1000px;\n margin-top: 20px;\n`;\n\nexport const AdjustInput = styled.div`\n display: flex;\n flex-direction: column;\n margin-right: 10px;\n width: 150px;\n`;\n\nexport const LabelInput = styled.text`\n color: gray;\n`;\n\nexport const ContainerHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const Separator = styled.div`\n width: 10%;\n`;\n","/* eslint-disable no-alert */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport FlatList from 'flatlist-react';\nimport { Add } from '@material-ui/icons';\nimport {\n Fab,\n MenuItem,\n Select,\n TextField,\n Switch,\n} from '@material-ui/core';\nimport { Redirect } from 'react-router-dom';\nimport { Pagination } from '@material-ui/lab';\n\n// js\nimport {\n Container,\n ContainerBox,\n ContainerMore,\n ContainerOptions,\n InfoOption,\n LineSeparator,\n TitleBox,\n TitleOption,\n} from './modulesStyles';\nimport modules from '../../services/modules';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\nimport ModalAddModules from './components/ModalAddModules';\n\n// interfaces\nimport type { DataModuleInterface } from './modulesInterfaces';\nimport { ContainerPaginator } from '../Users/usersStyles';\nimport tasks from '../../services/tasks';\nimport auth from '../../services/auth';\nimport category from '../../services/category';\n\nconst ModulesPage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const tokenRefresh: any = String(localStorage.getItem('tokenRefresh') || '');\n const idUser: any = String(localStorage.getItem('idUser') || '');\n const initialDataModule: DataModuleInterface = {\n amountTask: '',\n description: '',\n title: '',\n signed: '',\n environment: '',\n image: '',\n category: '',\n };\n\n // states\n const [allModules, setAllModules] = useState([]);\n const [allTasks, setAllTasks] = useState([]);\n const [dataFile, setDataFile] = useState('');\n const [dataModule, setDataModule] = useState(initialDataModule);\n const [openModal, setOpenModal] = useState(false);\n const [search, setSearch] = useState('');\n const [page, setPage] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [allCategory, setAllCategory] = useState([]);\n\n // api\n const GetListModules = async () => {\n const getList: any = await modules.ListModules(1, search, token);\n if (getList) {\n setAllModules(getList?.result?.list);\n }\n };\n\n const GetListCategory = async () => {\n const listCategory: any = await category.ListCategory(1, '', token, '100');\n setAllCategory(listCategory?.result?.list || []);\n };\n\n // methods\n const handleChange = async (event: any) => {\n const infoObj = event.target.value;\n if (infoObj.type === 'DELETE') {\n const deleteModule: any = await modules.DeleteModules(infoObj?.id, token);\n if (deleteModule) {\n alert(deleteModule?.message);\n GetListModules();\n }\n } else if (infoObj.type === 'EDITAR') {\n const getTasks: any = await tasks.ListTasks(infoObj?.id, idUser, token);\n if (getTasks) {\n setAllTasks(getTasks?.result?.list);\n delete infoObj?.type;\n setDataModule({\n amountTask: infoObj?.amountTask,\n description: infoObj?.description,\n id: infoObj?.id,\n title: infoObj?.title,\n signed: infoObj?.signed,\n environment: infoObj?.environment,\n image: infoObj?.image,\n category: infoObj?.idModuleGroup,\n });\n // setDataOldModule(infoObj);\n setDataFile(infoObj?.image);\n setOpenModal(true);\n }\n }\n };\n\n const SearchModules = (txt: any) => {\n const infoSearch = txt.target.value;\n setSearch(infoSearch);\n };\n\n const OpenModalModules = () => {\n setOpenModal(true);\n };\n\n const handleChangePage = async (event: React.ChangeEvent, value: number) => {\n setPage(value);\n const getList: any = await modules.ListModules(value, search, token);\n if (getList) {\n setAllModules(getList?.result?.list || []);\n setQtdPages(getList?.result?.qtdPages || 1);\n // window.scrollTo({\n // top: 0,\n // left: 0,\n // behavior: 'smooth',\n // });\n }\n };\n\n const GetRefreshToken = async () => {\n const refresh = await auth.RefreshToken(tokenRefresh);\n if (refresh) {\n localStorage.setItem('token', refresh.token);\n }\n };\n\n // useEffect\n useEffect(() => {\n GetListModules();\n GetListCategory();\n GetRefreshToken();\n }, [openModal]);\n\n useEffect(() => {\n const timeOutId = setTimeout(async () => {\n const getList: any = await modules.ListModules(1, search, token);\n if (getList) {\n setAllModules(getList?.result?.list);\n setQtdPages(getList?.result?.qtdPages || 1);\n setPage(1);\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [search]);\n\n // renders\n const RenderListItems = (item: any) => {\n const {\n id,\n title,\n description,\n amountTask,\n environment,\n } = item;\n const valueItemPut = { ...item, type: 'EDITAR' };\n const valueItemDelete = { ...item, type: 'DELETE' };\n\n const onChangeEnvironment = async () => {\n const tradeEnvironment: any = await modules.TradeEnvironment(environment === 'development' ? 'production' : 'development', id, token);\n if (tradeEnvironment) {\n alert(tradeEnvironment?.message);\n GetListModules();\n }\n };\n\n return (\n <>\n \n {title}\n {description}\n \n {amountTask}\n \n \n \n \n \n \n );\n };\n\n const RenderModulesPage = () => {\n const adjustStyleFab = { width: '50%' };\n\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n return (\n \n {ModalAddModules(\n dataModule,\n initialDataModule,\n openModal,\n setDataModule,\n setOpenModal,\n allTasks,\n setAllTasks,\n dataFile,\n setDataFile,\n allCategory,\n // dataOldModule,\n )}\n \n \n \n Lista de módulos\n \n Título\n Descrição\n \n Lições completas\n \n \n Adicionar módulos\n \n \n \n \n \n \n \n \n \n \n );\n };\n\n return RenderModulesPage();\n};\n\nexport default ModulesPage;\n","// js\nimport { DataFileModuleInterface } from '../Modules/modulesInterfaces';\n\n// interfaces\nexport interface AllPlansInterfaces {\n nameFree: string,\n descriptionFree: string,\n imageFree: DataFileModuleInterface | string,\n nameMonth: string,\n descriptionMonth: string,\n imageMonth: DataFileModuleInterface | string,\n nameSemester: string,\n descriptionSemester: string,\n imageSemester: DataFileModuleInterface | string,\n nameYear: string,\n descriptionYear: string,\n imageYear: DataFileModuleInterface | string,\n}\n\n// constants\nexport const AllPlansInitial: AllPlansInterfaces = {\n nameFree: '',\n descriptionFree: '',\n imageFree: '',\n nameMonth: '',\n descriptionMonth: '',\n imageMonth: '',\n nameSemester: '',\n descriptionSemester: '',\n imageSemester: '',\n nameYear: '',\n descriptionYear: '',\n imageYear: '',\n};\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\ninterface ContainerAdjustIconEditInterface {\n right?: string,\n}\n\ninterface ContainerOptionsInterface {\n marginTop?: string,\n maxWidth?: string,\n positionItemHorizontal?: string,\n positionItemVertical?: string,\n wrap?: string,\n width?: string,\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerAdjustIconEdit = styled.div`\n align-items: center;\n background-color: ${colors.theme.smoke};\n border-radius: 15px;\n bottom: 7px;\n display: flex;\n height: 30px;\n justify-content: center;\n opacity: 0.7;\n position: absolute;\n right: ${(props) => (props.right || '8px')};\n width: 30px;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: flex-end;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: 80px;\n width: 80%;\n max-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: ${(props) => (props.positionItemVertical || 'center')};\n background-color: ${colors.basic.white};\n display: flex;\n flex-wrap: ${(props) => (props.wrap || 'nowrap')};\n justify-content: ${(props) => (props.positionItemHorizontal || 'space-between')};\n margin-top: ${(props) => (props.marginTop || '0px')};\n width: ${(props) => (props.width || 'auto')};\n max-width: ${(props) => (props.maxWidth || 'none')};\n`;\n\nexport const ImagePlans = styled.img`\n height: 50px;\n width: 50px;\n`;\n\nexport const InputNullSelectedPhoto = styled.input`\n align-items: center;\n cursor: pointer;\n height: 112px;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 116px;\n`;\n\nexport const Logo = styled.img`\n height: 100px;\n width: 100px;\n`;\n\nexport const TitlePlans = styled.h1`\n color: ${colors.basic.gray};\n font-size: 30px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-bottom: 30px;\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n// libraries\nimport React from 'react';\n\n// js\nimport { DataFileModuleInterface } from '../Modules/modulesInterfaces';\nimport { AllPlansInterfaces } from './plansConstants';\n\nconst RenderFile = (id: string, allPlans: AllPlansInterfaces): string => {\n if (id === '1f5020aa-571c-4ae5-bc7e-898f11ece7a2') {\n return typeof allPlans.imageFree === 'string' ? allPlans.imageFree : allPlans.imageFree.file;\n }\n if (id === '2c587a99-6f1b-4d86-9913-2a58f2ec192d') {\n return typeof allPlans.imageMonth === 'string' ? allPlans.imageMonth : allPlans.imageMonth.file;\n }\n if (id === '6df27d12-5f9a-476d-9694-f9628ca3d4bc') {\n return typeof allPlans.imageSemester === 'string' ? allPlans.imageSemester : allPlans.imageSemester.file;\n }\n if (id === '84a8614f-e9e9-48e4-8eeb-e054a7241f6c') {\n return typeof allPlans.imageYear === 'string' ? allPlans.imageYear : allPlans.imageYear.file;\n }\n\n return '';\n};\n\nconst RenderName = (id: string, allPlans: AllPlansInterfaces): string => {\n if (id === '1f5020aa-571c-4ae5-bc7e-898f11ece7a2') {\n return allPlans.nameFree || '';\n }\n if (id === '2c587a99-6f1b-4d86-9913-2a58f2ec192d') {\n return allPlans.nameMonth || '';\n }\n if (id === '6df27d12-5f9a-476d-9694-f9628ca3d4bc') {\n return allPlans.nameSemester || '';\n }\n if (id === '84a8614f-e9e9-48e4-8eeb-e054a7241f6c') {\n return allPlans.nameYear || '';\n }\n\n return '';\n};\n\nconst RenderDescription = (id: string, allPlans: AllPlansInterfaces): string => {\n if (id === '1f5020aa-571c-4ae5-bc7e-898f11ece7a2') {\n return allPlans.descriptionFree || '';\n }\n if (id === '2c587a99-6f1b-4d86-9913-2a58f2ec192d') {\n return allPlans.descriptionMonth || '';\n }\n if (id === '6df27d12-5f9a-476d-9694-f9628ca3d4bc') {\n return allPlans.descriptionSemester || '';\n }\n if (id === '84a8614f-e9e9-48e4-8eeb-e054a7241f6c') {\n return allPlans.descriptionYear || '';\n }\n\n return '';\n};\n\nconst onChangeName = (\n id: string,\n allPlans: AllPlansInterfaces,\n setAllPlans: (v: AllPlansInterfaces) => void,\n txt: React.ChangeEvent,\n): any => {\n const { value } = txt.target;\n if (id === '1f5020aa-571c-4ae5-bc7e-898f11ece7a2') {\n setAllPlans({ ...allPlans, nameFree: value });\n }\n if (id === '2c587a99-6f1b-4d86-9913-2a58f2ec192d') {\n setAllPlans({ ...allPlans, nameMonth: value });\n }\n if (id === '6df27d12-5f9a-476d-9694-f9628ca3d4bc') {\n setAllPlans({ ...allPlans, nameSemester: value });\n }\n if (id === '84a8614f-e9e9-48e4-8eeb-e054a7241f6c') {\n setAllPlans({ ...allPlans, nameYear: value });\n }\n};\n\nconst onChangeDescription = (\n id: string,\n allPlans: AllPlansInterfaces,\n setAllPlans: (v: AllPlansInterfaces) => void,\n txt: React.ChangeEvent,\n): any => {\n const { value } = txt.target;\n if (id === '1f5020aa-571c-4ae5-bc7e-898f11ece7a2') {\n setAllPlans({ ...allPlans, descriptionFree: value });\n }\n if (id === '2c587a99-6f1b-4d86-9913-2a58f2ec192d') {\n setAllPlans({ ...allPlans, descriptionMonth: value });\n }\n if (id === '6df27d12-5f9a-476d-9694-f9628ca3d4bc') {\n setAllPlans({ ...allPlans, descriptionSemester: value });\n }\n if (id === '84a8614f-e9e9-48e4-8eeb-e054a7241f6c') {\n setAllPlans({ ...allPlans, descriptionYear: value });\n }\n};\n\nconst onChangeImage = (\n id: string,\n allPlans: AllPlansInterfaces,\n setAllPlans: (v: AllPlansInterfaces) => void,\n initialFile: DataFileModuleInterface,\n): any => {\n if (id === '1f5020aa-571c-4ae5-bc7e-898f11ece7a2') {\n setAllPlans({ ...allPlans, imageFree: initialFile });\n }\n if (id === '2c587a99-6f1b-4d86-9913-2a58f2ec192d') {\n setAllPlans({ ...allPlans, imageMonth: initialFile });\n }\n if (id === '6df27d12-5f9a-476d-9694-f9628ca3d4bc') {\n setAllPlans({ ...allPlans, imageSemester: initialFile });\n }\n if (id === '84a8614f-e9e9-48e4-8eeb-e054a7241f6c') {\n setAllPlans({ ...allPlans, imageYear: initialFile });\n }\n};\n\nexport default {\n RenderFile,\n RenderName,\n RenderDescription,\n onChangeName,\n onChangeDescription,\n onChangeImage,\n};\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListPlans(token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.get(`/plans?applicationType=${nameBank}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function EditPlan(\n title: string,\n description: string,\n image: string,\n idPlan: string,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const body = {\n title,\n description,\n image,\n };\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.put(`/plans?applicationType=${nameBank}&idPlan=${idPlan}`, body, configs);\n return response.data;\n } catch (error: any) {\n // alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListPlans,\n EditPlan,\n};\n","/* eslint-disable no-alert */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport { Redirect } from 'react-router-dom';\nimport { Button, TextField } from '@material-ui/core';\nimport { Edit, NavigateNext } from '@material-ui/icons';\nimport FlatList from 'flatlist-react';\n\n// js\nimport { AllPlansInitial, AllPlansInterfaces } from './plansConstants';\nimport {\n Container,\n ContainerAdjustIconEdit,\n ContainerBox,\n ContainerOptions,\n InputNullSelectedPhoto,\n Logo,\n} from './plansStyles';\nimport functions from './plansFunctions';\nimport plans from '../../services/plans';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\n\nconst PlansPage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustButtonLogo = { alignItems: 'flex-end', marginBottom: 10 };\n const adjustDisplay = { display: 'initial' };\n const adjustTextField = { marginTop: 20, marginRight: 10, width: '50%' };\n\n // useState\n const [allPlans, setAllPlans] = useState(AllPlansInitial);\n const [generalAllPlans, setGeneralAllPlans] = useState([]);\n\n const GetListPlans = async () => {\n const getPlans: any = await plans.ListPlans(token || '');\n const listPlan = getPlans?.result?.list || [];\n setAllPlans({\n nameFree: listPlan[0].title || '',\n descriptionFree: listPlan[0].description || '',\n imageFree: listPlan[0].image || '',\n nameMonth: listPlan[1].title || '',\n descriptionMonth: listPlan[1].description || '',\n imageMonth: listPlan[1].image || '',\n nameSemester: listPlan[2].title || '',\n descriptionSemester: listPlan[2].description || '',\n imageSemester: listPlan[2].image || '',\n nameYear: listPlan[3].title || '',\n descriptionYear: listPlan[3].description || '',\n imageYear: listPlan[3].image || '',\n });\n setGeneralAllPlans(listPlan);\n };\n\n const EditPlans = async () => {\n if (!Object.values(allPlans).filter((v) => v === '').length) {\n const formatAllPlans: any = [\n {\n title: allPlans.nameFree || '',\n description: allPlans.descriptionFree || '',\n image: allPlans.imageFree || '',\n idPlan: generalAllPlans[0].idPlan,\n },\n {\n title: allPlans.nameMonth || '',\n description: allPlans.descriptionMonth || '',\n image: allPlans.imageMonth || '',\n idPlan: generalAllPlans[1].idPlan,\n },\n {\n title: allPlans.nameSemester || '',\n description: allPlans.descriptionSemester || '',\n image: allPlans.imageSemester || '',\n idPlan: generalAllPlans[2].idPlan,\n },\n {\n title: allPlans.nameYear || '',\n description: allPlans.descriptionYear || '',\n image: allPlans.imageYear || '',\n idPlan: generalAllPlans[3].idPlan,\n },\n ];\n const updatePlans = await formatAllPlans.map(\n (v: any) => plans.EditPlan(v.title, v.description, v.image, v.idPlan, token),\n );\n await Promise.all(updatePlans);\n GetListPlans();\n alert('Dados atualizados.');\n } else {\n alert('Preencha todos os campos de todos os planos para prosseguir.');\n }\n };\n\n // useEffect\n useEffect(() => {\n GetListPlans();\n }, []);\n\n // renders\n const EndIcon = () => (\n \n );\n\n const RenderListItems = (item: any) => {\n const { idPlan } = item;\n const onChangeName = (txt: React.ChangeEvent) => {\n functions.onChangeName(idPlan, allPlans, setAllPlans, txt);\n };\n\n const onChangeDescription = (txt: any) => {\n functions.onChangeDescription(idPlan, allPlans, setAllPlans, txt);\n };\n\n const SelectedPhoto = (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n functions.onChangeImage(idPlan, allPlans, setAllPlans, newDataFiles);\n }\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n );\n };\n\n const RenderPlansPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n return (\n \n \n \n \n \n \n Salvar alterações\n \n \n \n \n );\n };\n\n return RenderPlansPage();\n};\n\nexport default PlansPage;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function UsersFilters(\n page: number,\n searchTxt: string,\n startProgress: number,\n dateStart: number,\n dateEnd: number,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/users?applicationType=${nameBank}&page=${page}&limit=10`;\n if (searchTxt.length) {\n baseURL = `${baseURL}&searchTxt=${searchTxt}`;\n }\n if (startProgress) {\n baseURL = `${baseURL}&startProgress=${startProgress}`;\n }\n if (dateStart) {\n baseURL = `${baseURL}&dateStart=${dateStart}`;\n }\n if (dateEnd) {\n baseURL = `${baseURL}&dateEnd=${dateEnd}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function ListUsers(page: number, searchTxt: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/users?applicationType=${nameBank}&page=${page}&limit=10`;\n if (searchTxt.length) {\n baseURL = `${baseURL}&searchTxt=${searchTxt}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function ListUserSearch(\n page: number,\n searchTxt: string,\n applicationType: null | 'inglestec' | 'e4keys' | 'iNutri' | 'iMed' | 'e4l' | 'e4b' | 'biblicalGreek' | 'gregoBiblico' | 'mic' | 'ipsis' | 'e4ce' | 'hebraicodabiblia' | 'biblicalhebrew' | 'griegobiblico' | 'hebreodelabiblia',\n startProgress: number | null,\n endProgress: number | null,\n isFree: string,\n isCancel: string,\n dateStart: string,\n dateEnd: string,\n token: string,\n type: string,\n): Promise {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/users/search?page=${page}&limit=10`;\n if (searchTxt.length) {\n baseURL = `${baseURL}&searchTxt=${searchTxt}`;\n }\n if (applicationType?.length) {\n baseURL = `${baseURL}&applicationType=${applicationType}`;\n }\n if (startProgress) {\n baseURL = `${baseURL}&startProgress=${startProgress}`;\n }\n if (endProgress) {\n baseURL = `${baseURL}&endProgress=${endProgress}`;\n }\n if (dateStart) {\n baseURL = `${baseURL}&dateStart=${dateStart}`;\n }\n if (dateEnd) {\n baseURL = `${baseURL}&dateEnd=${dateEnd}`;\n }\n if (isFree) {\n baseURL = `${baseURL}&isFree=${isFree === 'no'}`;\n }\n if (isCancel) {\n baseURL = `${baseURL}&isCancel=${isCancel === 'yes'}`;\n }\n if (type) {\n baseURL = `${baseURL}&type=${type}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DeleteUsers(idUser: string, token: string): Promise {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.delete(`/users?idUser=${idUser}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function ExportUsers(idsUsers: Array, token: string): Promise {\n try {\n const body = {\n idsUsers,\n };\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.post('/users/export', body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListUsers,\n ListUserSearch,\n UsersFilters,\n DeleteUsers,\n ExportUsers,\n};\n","import axios from 'axios';\n\nconst toPrice = (price: number, scale?: number): string => (\n String(((price * 100) / 100).toFixed(scale)).replace('.', ',').replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.')\n);\n\nasync function getDownloadRemoteFile(file: string): Promise {\n const { data: blob } = await axios.get(file, { responseType: 'blob' });\n\n // Creating an object for downloading url\n const url = window.URL.createObjectURL(blob);\n\n // Creating an anchor(a) tag of HTML\n const a = document.createElement('a');\n\n // Passing the blob downloading url\n a.setAttribute('href', url);\n\n // Setting the anchor tag attribute for downloading\n // and passing the download file name\n a.setAttribute('download', 'download.xlsx');\n\n // Performing a download with click\n a.click();\n\n return null;\n}\n\nexport default {\n toPrice,\n getDownloadRemoteFile,\n};\n","/* eslint-disable max-len */\n/* eslint-disable no-alert */\n/* eslint-disable no-plusplus */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport FlatList from 'flatlist-react';\nimport { Pagination } from '@material-ui/lab';\nimport {\n Button,\n Fab, MenuItem, Modal, Select, TextField,\n} from '@material-ui/core';\nimport DateFnsUtils from '@date-io/date-fns';\nimport { Redirect } from 'react-router-dom';\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\n\n// js\nimport { CloudDownload, NavigateBefore } from '@material-ui/icons';\nimport { lightFormat } from 'date-fns';\nimport {\n AdjustFilters,\n AdjustInput,\n Container,\n ContainerBox,\n ContainerBoxModal,\n ContainerBoxModalInline,\n ContainerHeader,\n ContainerModal,\n ContainerMore,\n ContainerOptions,\n ContainerOptionsInput,\n ContainerPaginator,\n ContainerTitle,\n InfoOption,\n LabelInput,\n LineSeparator,\n TitleBox,\n TitleOption,\n} from './usersStyles';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\nimport ModalLoading from '../../components/ModalLoading';\nimport users from '../../services/users';\nimport functions from '../../utils/functions';\nimport constants from '../../configs/constants';\n\n// interfaces\ninterface initialFiltersInterfaces {\n search: string;\n signature: string;\n initialDate: string;\n finalDate: string;\n applicationType: any;\n cancel: string;\n progressInitial: string;\n progressFinal: string;\n}\n\nconst UsersPage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustStyleFab = { width: '30%' };\n const initialFilters: initialFiltersInterfaces = {\n search: '',\n signature: '',\n initialDate: '',\n finalDate: '',\n applicationType: '',\n cancel: '',\n progressInitial: '',\n progressFinal: '',\n };\n\n // states\n const [allUsers, setAllUsers] = useState([]);\n const [search, setSearch] = useState('');\n const [activeLoading, setActiveLoading] = useState(false);\n const [page, setPage] = useState(1);\n const [pageModal, setPageModal] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [qtdPagesModal, setQtdPagesModal] = useState(1);\n const [filters, setFilters] = useState(initialFilters);\n const [openModal, setOpenModal] = useState(false);\n const [allUsersModal, setAllUsersModal] = useState([]);\n\n const GetListUsers = async () => {\n const listUsers: any = await users.ListUsers(page, search, token);\n if (listUsers) {\n setAllUsers(listUsers?.result?.list || []);\n setQtdPages(listUsers?.result?.qtdPages || 1);\n setPage(1);\n }\n };\n\n // methods\n const handleChange = async (event: any) => {\n setActiveLoading(true);\n const infoObj = event.target.value;\n const deleteUser: any = await users.DeleteUsers(infoObj.idUser, token);\n setActiveLoading(false);\n if (deleteUser) {\n GetListUsers();\n alert(deleteUser.message);\n }\n };\n\n const handleChangePage = async (event: React.ChangeEvent, value: number) => {\n setPage(value);\n const listUsers: any = await users.ListUsers(value, search, token);\n if (listUsers) {\n setAllUsers(listUsers?.result?.list || []);\n setQtdPages(listUsers?.result?.qtdPages || 1);\n // window.scrollTo({\n // top: 0,\n // left: 0,\n // behavior: 'smooth',\n // });\n }\n };\n\n const ExportUsers = async () => {\n setActiveLoading(true);\n const formatDateInitial = filters.initialDate ? lightFormat(new Date(filters.initialDate), 'yyyy-MM-dd HH:mm:ss.SSS') : '';\n const formatDateFinal = filters.progressFinal ? lightFormat(new Date(filters.progressFinal), 'yyyy-MM-dd HH:mm:ss.SSS') : '';\n const activeExport: any = await users.ListUserSearch(\n 1,\n filters.search,\n filters.applicationType,\n Number(filters.progressInitial),\n Number(filters.progressFinal),\n filters.signature,\n filters.cancel,\n formatDateInitial,\n formatDateFinal,\n token,\n 'export',\n );\n setActiveLoading(false);\n await functions.getDownloadRemoteFile(activeExport?.result?.url);\n };\n\n const closedModal = () => {\n setOpenModal(!openModal);\n };\n\n useEffect(() => {\n const timeOutId = setTimeout(async () => {\n const listUsers: any = await users.ListUsers(1, search, token);\n if (listUsers) {\n setAllUsers(listUsers?.result?.list || []);\n setQtdPages(listUsers?.result?.qtdPages || 1);\n setPage(1);\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [search]);\n\n // renders\n const RenderListItems = (item: any) => {\n const {\n name,\n email,\n lessonsCompleted,\n percentageLevel,\n } = item;\n const valueItem = { ...item, type: 'DELETE' };\n\n return (\n <>\n \n {name}\n {email}\n {lessonsCompleted}\n \n {percentageLevel}\n \n \n \n \n \n );\n };\n\n const RenderListItemsUsers = (item: any) => {\n const {\n idUser,\n name,\n email,\n } = item;\n\n // const onChangeCheckBox = () => {\n // if (allIds.includes(idUser)) {\n // const removeEmail = allIds.filter((v) => v !== idUser);\n // setAllIds(removeEmail);\n // } else {\n // setAllIds([...allIds, idUser]);\n // }\n // };\n\n return (\n
\n \n {/* \n \n */}\n {name}\n {email}\n \n \n
\n );\n };\n\n const SearchUsers = (txt: any) => {\n setSearch(txt.target.value);\n };\n\n const SearchUsersModal = (txt: any) => {\n setFilters({ ...filters, search: txt.target.value });\n };\n\n const handleChangePageUsers = async (event: React.ChangeEvent, value: number) => {\n setPageModal(value);\n const listUsers: any = await users.ListUsers(value, filters.search, token);\n if (listUsers) {\n setAllUsersModal(listUsers?.result?.list || []);\n setQtdPagesModal(listUsers?.result?.qtdPages || 1);\n }\n };\n\n const getNewUsers = async () => {\n const formatDateInitial = filters.initialDate ? lightFormat(new Date(filters.initialDate), 'yyyy-MM-dd HH:mm:ss.SSS') : '';\n const formatDateFinal = filters.progressFinal ? lightFormat(new Date(filters.progressFinal), 'yyyy-MM-dd HH:mm:ss.SSS') : '';\n const listUsers: any = await users.ListUserSearch(\n 1,\n filters.search,\n filters.applicationType,\n Number(filters.progressInitial),\n Number(filters.progressFinal),\n filters.signature,\n filters.cancel,\n formatDateInitial,\n formatDateFinal,\n token,\n '',\n );\n if (listUsers) {\n setAllUsersModal(listUsers?.result?.list || []);\n setQtdPagesModal(listUsers?.result?.qtdPages || 1);\n setPageModal(1);\n }\n };\n\n useEffect(() => {\n const timeOutId = setTimeout(async () => {\n if (filters.progressInitial && filters.progressFinal) {\n if (Number(filters.progressInitial) < Number(filters.progressFinal)) {\n getNewUsers();\n } else {\n alert('Informe uma data inicial inferior a data final.');\n }\n } else {\n getNewUsers();\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [filters]);\n\n const RenderUsersPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n return (\n \n \n \n \n \n \n Lista de usuários\n \n \n Exportar usuários\n \n \n \n Name\n Email\n Lições completas\n Nível\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Assinante\n setFilters({ ...filters, signature: String(txt.target.value) })}\n style={{ height: 35, width: 150 }}\n >\n TODOS\n SIM\n NÃO\n \n \n \n Data inicial\n \n {\n setFilters({ ...filters, initialDate: String(txt) });\n }}\n maxDate={new Date()}\n invalidDateMessage=\"\"\n autoOk\n style={{ height: 35, width: 150 }}\n />\n \n \n \n Data final\n \n {\n setFilters({ ...filters, finalDate: String(txt) });\n }}\n maxDate={new Date()}\n invalidDateMessage=\"\"\n autoOk\n style={{ height: 35, width: 150 }}\n />\n \n \n \n Qual sistema?\n setFilters({ ...filters, applicationType: String(txt.target.value) })}\n style={{ height: 35, width: 150 }}\n >\n TODOS\n {constants.namesSystem.map((v: any) => (\n {v}\n ))}\n \n \n \n Usuários que cancelaram\n {\n setFilters({ ...filters, cancel: String(txt.target.value) });\n }}\n style={{ height: 38, width: 150 }}\n >\n TODOS\n SIM\n NÃO\n \n \n {\n const onlyNumber = txt.target.value.replace(/\\D/g, '');\n if (Number(onlyNumber) < 100 && Number(onlyNumber) >= 0) {\n setFilters({ ...filters, progressInitial: onlyNumber });\n } else {\n alert('Informe um progresso inicial de 0 a 99.');\n }\n }}\n value={filters.progressInitial}\n style={{ height: 40, width: 150 }}\n />\n {\n const onlyNumber = txt.target.value.replace(/\\D/g, '');\n if (Number(onlyNumber) <= 100 && Number(onlyNumber) > 0) {\n setFilters({ ...filters, progressFinal: onlyNumber });\n } else {\n alert('Informe um progresso inicial de 1 a 100.');\n }\n }}\n value={filters.progressFinal}\n />\n \n \n Lista de usuários\n \n \n {/* */}\n Nome\n Email\n \n \n \n \n \n \n \n \n }\n onClick={closedModal}\n variant=\"contained\"\n >\n Fechar\n \n }\n onClick={ExportUsers}\n variant=\"contained\"\n >\n Exportar usuários\n \n \n \n \n \n \n );\n };\n\n return RenderUsersPage();\n};\n\nexport default UsersPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface HeaderInterfaces {\n color?: string,\n fontSize?: string,\n fontWeight?: string,\n marginBottom?: string,\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: 80px;\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const ContainerMore = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n margin-top: 20px;\n`;\n\nexport const InfoOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Light')};\n width: 20%;\n word-wrap: break-word;\n`;\n\nexport const ContainerDatePicker = styled.div`\n margin-right: 20px;\n display: flex;\n flex-direction: column;\n width: 230px;\n`;\n\nexport const LineSeparator = styled.div`\n background-color: ${colors.basic.gray};\n height: 1px;\n margin-top: 20px;\n opacity: 0.3;\n width: 100%;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n`;\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n width: 20%;\n`;\n\nexport const Header = styled.text`\n color: ${(props) => (props.color || colors.basic.black)};\n font-weight: ${(props) => (props.fontWeight || 'normal')};\n font-size: ${(props) => (props.fontSize || '14px')};\n margin-bottom: ${(props) => (props.marginBottom || '0px')};\n`;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListFinance(\n dateStart: number | null,\n dateEnd: number | null,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/plans/historic?applicationType=${nameBank}`;\n if (dateStart) {\n baseURL = `${baseURL}&dateStart=${dateStart}`;\n }\n if (dateEnd) {\n baseURL = `${baseURL}&dateEnd=${dateEnd}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListFinance,\n};\n","// libraries\nimport React, { useEffect, useState } from 'react';\nimport FlatList from 'flatlist-react';\nimport { Redirect } from 'react-router-dom';\nimport DateFnsUtils from '@date-io/date-fns';\nimport { getTime, setHours } from 'date-fns';\nimport { Search } from '@material-ui/icons';\nimport { Fab } from '@material-ui/core';\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\n\n// js\nimport {\n Container,\n ContainerBox,\n ContainerOptions,\n InfoOption,\n LineSeparator,\n TitleBox,\n TitleOption,\n ContainerMore,\n ContainerDatePicker,\n Header,\n} from './financeStyles';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\nimport functions from '../../utils/functions';\n\n// types\nimport colors from '../../styles/colors';\nimport finance from '../../services/finance';\n\nconst FinancePage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n\n // states\n const [allFinance, setAllFinance] = useState>([]);\n const [initialDate, setInitialDate] = useState(new Date(1609524128000));\n const [finalDate, setFinalDate] = useState(new Date());\n\n const GetAllStatistics = async () => {\n const listFinance: any = await finance.ListFinance(null, null, token);\n if (listFinance) {\n setAllFinance(listFinance?.result?.list || []);\n }\n };\n\n const onChangeInitialDate = (date: Date | null) => {\n setInitialDate(date || new Date());\n };\n\n const onChangeFinalDate = (date: Date | null) => {\n setFinalDate(date || new Date());\n };\n\n const ActionSearch = async () => {\n const formatInitial = getTime(setHours(initialDate, 1));\n const formatFinal = getTime(setHours(finalDate, 1));\n const listFinance: any = await finance.ListFinance(\n formatInitial,\n formatFinal,\n token,\n );\n if (listFinance) {\n setAllFinance(listFinance?.result?.list || []);\n }\n };\n\n // useEffect\n useEffect(() => {\n GetAllStatistics();\n }, []);\n\n // renders\n const RenderListItems = (item: any) => {\n const {\n title,\n currentSubscriptions,\n canceledSubscriptions,\n subscriptionTotals,\n totalBilling,\n } = item;\n return (\n <>\n \n {title}\n {currentSubscriptions}\n {canceledSubscriptions}\n {subscriptionTotals}\n {`R$ ${functions.toPrice(totalBilling, 2)}`}\n \n \n \n );\n };\n\n const RenderUsersPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n const adjustStyleFab = { marginLeft: 20 };\n return (\n \n \n \n \n \n
Início
\n \n \n \n
\n \n
Fim
\n \n \n \n
\n \n \n Pesquisar\n \n
\n Lista de assinaturas\n \n Tipo de assinatura\n Assinantes atuais\n Assinaturas canceladas\n Assinaturas totais\n Faturamento total\n \n \n \n
\n
\n );\n };\n\n return RenderUsersPage();\n};\n\nexport default FinancePage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\ninterface MenuOptionProps {\n isActive: boolean;\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n /* margin-bottom: 20px;\n margin-top: 80px; */\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n width: 90%;\n max-height: 80%;\n margin: 80px auto 20px;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n`;\n\nexport const MenuContainer = styled.div`\n margin-top: 20px;\n`;\n\nexport const MenuOption = styled.button`\n margin-right: 20px;\n color: ${({ isActive }) => (isActive ? colors.basic.blue : colors.basic.gray)};\n font-size: 16px;\n background-color: transparent;\n border: none;\n border-bottom: ${({ isActive }) => (isActive ? `2px solid ${colors.basic.blue}` : '2px solid transparent')};\n padding: 5px;\n &:hover {\n cursor: pointer;\n }\n`;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n margin-top: 30px;\n`;\n\nexport const ContainerPaginator = styled.div`\n display: flex;\n margin-top: 20px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListContacts(page: number, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/contacts?applicationType=${nameBank}&limit=10&page=${page}`;\n\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function ListText(page: number, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/audios?applicationType=${nameBank}&type=contact&limit=10&page=${page}`;\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DeleteText(idAudio: string, token: string) {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/audios?idAudio=${idAudio}`;\n const response = await api.delete(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function CreateText(\n idUser: string,\n title: string,\n translation: string,\n description: string,\n file: string,\n token: string,\n) {\n const body = {\n idUser,\n title,\n translation,\n description,\n file,\n };\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/audios?applicationType=${nameBank}`;\n const response = await api.post(baseURL, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function UpdateText(\n idAudio: string,\n idUser: string,\n title: string,\n translation: string,\n description: string,\n file: string,\n token: string,\n) {\n const body = {\n idUser,\n title,\n translation,\n description,\n file,\n };\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/audios?applicationType=${nameBank}&idAudio=${idAudio}`;\n const response = await api.put(baseURL, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function ListTranlation(page: number, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/translations?applicationType=${nameBank}&limit=10&page=${page}`;\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DeleteTranslation(idTranslation: string, token: string) {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/translations?idTranslation=${idTranslation}`;\n const response = await api.delete(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function CreateTranslation(\n idUser: string,\n title: string,\n translation: string,\n description: string,\n file: string,\n token: string,\n) {\n const body = {\n idUser,\n title,\n translation,\n description,\n file,\n };\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/translations?applicationType=${nameBank}`;\n const response = await api.post(baseURL, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function UpdateTranslation(\n idTranslation: string,\n idUser: string,\n title: string,\n translation: string,\n description: string,\n file: string,\n token: string,\n) {\n const body = {\n idUser,\n title,\n translation,\n description,\n file,\n };\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/translations?applicationType=${nameBank}&idTranslation=${idTranslation}`;\n const response = await api.put(baseURL, body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport {\n ListContacts,\n ListText,\n DeleteText,\n CreateText,\n UpdateText,\n ListTranlation,\n DeleteTranslation,\n CreateTranslation,\n UpdateTranslation,\n};\n","import React, { useState, useEffect } from 'react';\nimport Paper from '@mui/material/Paper';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport { Pagination } from '@material-ui/lab';\nimport TableRow from '@mui/material/TableRow';\n\nimport { Container, ContainerPaginator } from './styles';\nimport { ListContacts } from '../../../../services/funtionalities';\n\ninterface ContactsTabProps {\n setActiveLoading: (value: boolean) => void;\n}\n\ninterface Column {\n id: 'name' | 'email' | 'subject' | 'message';\n label: string;\n minWidth?: number;\n align?: 'right';\n format?: (value: number) => string;\n}\n\nconst columns: readonly Column[] = [\n { id: 'email', label: 'Email', minWidth: 200 },\n { id: 'name', label: 'Nome', minWidth: 150 },\n { id: 'subject', label: 'Título', minWidth: 150 },\n { id: 'message', label: 'Mensagem', minWidth: 170 },\n];\n\ninterface Data {\n email: string;\n name: string;\n subject: string;\n message: string;\n}\n\nfunction createData(\n name: string,\n email: string,\n subject: string,\n message: string,\n): Data {\n return {\n email,\n name,\n subject,\n message,\n };\n}\n\nexport default function ContactsTab(props: ContactsTabProps) {\n const { setActiveLoading } = props;\n const token: any = String(localStorage.getItem('token') || '');\n\n const [page, setPage] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [rows, setRows] = useState([]);\n\n const GetAllContacts = async () => {\n setActiveLoading(true);\n const listContacts: any = await ListContacts(page, token);\n if (listContacts) {\n setQtdPages(listContacts?.result?.qtdPages);\n const newList = listContacts.result.list.map((e: Data) => {\n const data = createData(e.name, e.email, e.subject, e.message);\n return data;\n });\n setRows(newList || []);\n }\n setActiveLoading(false);\n };\n\n const handleChangePage = async (\n event: React.ChangeEvent,\n value: number,\n ) => {\n setPage(value);\n };\n\n useEffect(() => {\n GetAllContacts();\n }, [page]);\n\n return (\n \n \n \n \n \n \n {columns.map((column) => (\n \n

{column.label}

\n \n ))}\n
\n
\n \n {rows.map((row) => (\n \n {columns.map((column) => {\n const value = row[column.id];\n return (\n \n {column.format\n && typeof value === 'number'\n ? column.format(value)\n : value}\n \n );\n })}\n \n ))}\n \n
\n
\n
\n \n \n \n
\n );\n}\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ContainerPaginator = styled.div`\n display: flex;\n margin-top: 20px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ButtonPlayer = styled.button`\n background-color: transparent;\n border: none;\n margin-right: 10px;\n &:hover {\n cursor: pointer;\n }\n`;\n\nexport const ActionsContainer = styled.div``;\n","import styled from 'styled-components';\nimport colors from '../../../../../../styles/colors';\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n`;\n\nexport const Form = styled.div`\n margin-top: 20px;\n`;\n\nexport const InputAudio = styled.input`\n display: none;\n`;\n\nexport const Label = styled.label`\n padding: 20px 10px;\n width: 200px;\n background-color: #333;\n color: #fff;\n text-transform: uppercase;\n text-align: center;\n display: block;\n cursor: pointer;\n border-radius: 8px;\n`;\n\nexport const ButtonContainer = styled.div`\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n`;\n\nexport const ContainerButtonAudio = styled.div`\n margin-top: 10px;\n display: flex;\n align-items: center;\n`;\n\nexport const ButtonPlayer = styled.button`\n height: 40px;\n width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background-color: #333;\n color: #fff;\n text-transform: uppercase;\n display: block;\n cursor: pointer;\n margin-left: 10px;\n`;\n","/* eslint-disable no-alert */\nimport React, { useState, useEffect } from 'react';\nimport TextField from '@mui/material/TextField';\nimport { Fab } from '@material-ui/core';\nimport Modal from '@mui/material/Modal';\nimport Box from '@mui/material/Box';\nimport { PlayArrow } from '@material-ui/icons';\nimport uploads from '../../../../../../services/uploads';\nimport {\n CreateText,\n UpdateText,\n} from '../../../../../../services/funtionalities';\n\nimport {\n TitleOption,\n Form,\n InputAudio,\n Label,\n ButtonContainer,\n ContainerButtonAudio,\n ButtonPlayer,\n} from './styles';\n\nconst style = {\n position: 'absolute' as const,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '80%',\n bgcolor: 'background.paper',\n boxShadow: 24,\n p: 4,\n};\n\nconst adjustStyleFab = { width: '25%', margin: '20px', alignSelf: 'flex-end' };\n\ninterface ResponseProps {\n status: number;\n message: string;\n}\n\ninterface ModalData {\n id: string;\n title: string;\n translation: string;\n description: string;\n file: string;\n}\n\ntype ModalType = 'create' | 'edit';\n\ninterface ModalCreateProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n setActiveLoading: (value: boolean) => void;\n dataModal: ModalData;\n modalType: ModalType;\n}\n\nexport function ModalCreate(props: ModalCreateProps) {\n const token: any = String(localStorage.getItem('token') || '');\n const idUser: any = String(localStorage.getItem('idUser') || '');\n\n const {\n open, setOpen, setActiveLoading, dataModal, modalType,\n } = props;\n\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [translation, setTranslation] = useState('');\n const [audio, setAudio] = useState('');\n const [enabledButton, setEnabledButton] = useState(true);\n\n const titleModal = modalType === 'create' ? 'Criar texto' : 'Edtar texto';\n\n const clearInputs = () => {\n setTitle('');\n setDescription('');\n setAudio('');\n setTranslation('');\n };\n\n const handleClose = () => {\n setOpen(false);\n clearInputs();\n };\n\n const handleChangeTitle = (event: React.ChangeEvent) => {\n setTitle(event.target.value);\n };\n\n const handleChangeTranslation = (event: React.ChangeEvent) => {\n setTranslation(event.target.value);\n };\n\n const handleChangeDescription = (\n event: React.ChangeEvent,\n ) => {\n setDescription(event.target.value);\n };\n\n const handleChangeAudio = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(\n newDataFiles.eventFile,\n );\n if (upload) {\n setAudio(upload.result);\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const renderAudio = () => {\n if (!audio) {\n return null;\n }\n\n const playerAudio = () => {\n const currentAudio = new Audio(audio);\n currentAudio.play();\n };\n\n return (\n \n \n \n );\n };\n\n const handleCreateText = async () => {\n const listText: ResponseProps = await CreateText(\n idUser,\n title,\n translation,\n description,\n audio,\n token,\n );\n if (listText?.status === 201) {\n alert(listText.message);\n handleClose();\n setActiveLoading(true);\n }\n };\n\n const handleEditText = async () => {\n const listText: ResponseProps = await UpdateText(\n dataModal.id,\n idUser,\n title,\n translation,\n description,\n audio,\n token,\n );\n if (listText?.status === 200) {\n alert(listText.message);\n handleClose();\n setActiveLoading(true);\n }\n };\n\n const handleSave = async () => {\n if (modalType === 'create') {\n await handleCreateText();\n } else {\n await handleEditText();\n }\n };\n\n useEffect(() => {\n if (modalType === 'edit') {\n setTitle(dataModal.title);\n setDescription(dataModal.description);\n setTranslation(dataModal.translation);\n setAudio(dataModal.file);\n }\n }, [dataModal]);\n\n useEffect(() => {\n if (title && description && audio) {\n setEnabledButton(false);\n }\n }, [title, description, audio]);\n\n return (\n
\n \n \n {titleModal}\n
\n \n \n \n \n \n \n {renderAudio()}\n \n \n \n \n Salvar\n \n \n
\n \n
\n );\n}\n","/* eslint-disable no-alert */\nimport React, { useState, useEffect } from 'react';\nimport Paper from '@mui/material/Paper';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport { Pagination } from '@material-ui/lab';\nimport { Fab } from '@material-ui/core';\nimport {\n PlayCircleFilledOutlined,\n Edit,\n Delete,\n Add,\n} from '@material-ui/icons';\nimport TableRow from '@mui/material/TableRow';\n\nimport {\n Container,\n ContainerPaginator,\n ButtonPlayer,\n ActionsContainer,\n} from './styles';\nimport { ListText, DeleteText } from '../../../../services/funtionalities';\nimport { ModalCreate } from './components/ModalCreate';\n\ninterface ContactsTabProps {\n setActiveLoading: (value: boolean) => void;\n activeLoading: boolean;\n}\n\ninterface Column {\n id: 'title' | 'translation' | 'description' | 'file' | 'actions';\n label: string;\n minWidth?: number;\n align?: 'right';\n format?: (value: number) => string;\n}\n\nconst columns: readonly Column[] = [\n { id: 'title', label: 'Título', minWidth: 150 },\n { id: 'translation', label: 'Título', minWidth: 150 },\n { id: 'description', label: 'Description', minWidth: 250 },\n { id: 'file', label: 'Áudio', minWidth: 150 },\n { id: 'actions', label: 'Ações', minWidth: 150 },\n];\n\ninterface Data {\n id: string;\n translation: string;\n title: string;\n description: string;\n file: string;\n}\n\ninterface DeleteProps {\n status: number;\n message: string;\n}\n\ninterface ModalData {\n id: string;\n title: string;\n translation: string;\n description: string;\n file: string;\n}\n\ntype ModalType = 'create' | 'edit';\n\nconst adjustStyleFab = { width: '25%', margin: '20px', alignSelf: 'flex-end' };\n\nexport default function ContactsTab(props: ContactsTabProps) {\n const { setActiveLoading, activeLoading } = props;\n const token: any = String(localStorage.getItem('token') || '');\n\n const [page, setPage] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [openModal, setOpenModal] = useState(false);\n const [dataModal, setDataModal] = useState({} as ModalData);\n const [modalType, setModalType] = useState('create');\n const [rows, setRows] = useState([]);\n\n function createData(\n id: string,\n title: string,\n translation: string,\n description: string,\n file: string,\n ) {\n const renderAudio = () => {\n const audio = new Audio(file);\n\n const playerAudio = () => {\n audio.play();\n };\n\n return (\n \n \n \n );\n };\n\n const renderAction = () => {\n const handleOpenModalEdit = () => {\n setModalType('edit');\n const data = {\n id,\n title,\n translation,\n description,\n file,\n };\n setDataModal(data);\n setOpenModal(true);\n };\n\n const deleteRow = async () => {\n const data: DeleteProps = await DeleteText(id, token);\n if (data.status === 200) {\n alert(data.message);\n }\n setActiveLoading(true);\n };\n\n return (\n \n \n \n \n \n \n \n \n );\n };\n\n return {\n title,\n description,\n translation,\n file: renderAudio(),\n actions: renderAction(),\n };\n }\n\n const GetAllText = async () => {\n setActiveLoading(true);\n const listContacts: any = await ListText(page, token);\n if (listContacts) {\n setQtdPages(listContacts?.result?.qtdPages);\n const newList = listContacts.result.list.map((e: Data) => {\n const data = createData(\n e.id,\n e.title,\n e.translation,\n e.description,\n e.file,\n );\n return data;\n });\n setRows(newList || []);\n }\n setActiveLoading(false);\n };\n\n const handleChangePage = async (\n event: React.ChangeEvent,\n value: number,\n ) => {\n setPage(value);\n };\n\n const handleOpenModal = () => {\n setModalType('create');\n setOpenModal(true);\n };\n\n useEffect(() => {\n if (activeLoading) {\n GetAllText();\n }\n }, [page, activeLoading, openModal]);\n\n return (\n \n \n \n Adicionar Textos\n \n \n \n \n \n \n {columns.map((column) => (\n \n

{column.label}

\n \n ))}\n
\n
\n \n {rows.map((row) => (\n \n {columns.map((column) => {\n const value = row[column.id];\n return (\n \n {column.format\n && typeof value === 'number'\n ? column.format(value)\n : value}\n \n );\n })}\n \n ))}\n \n
\n
\n
\n \n \n \n \n
\n );\n}\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ContainerPaginator = styled.div`\n display: flex;\n margin-top: 20px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ButtonPlayer = styled.button`\n background-color: transparent;\n border: none;\n margin-right: 10px;\n &:hover {\n cursor: pointer;\n }\n`;\n\nexport const ActionsContainer = styled.div``;\n","import styled from 'styled-components';\nimport colors from '../../../../../../styles/colors';\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n`;\n\nexport const Form = styled.div`\n margin-top: 20px;\n`;\n\nexport const InputAudio = styled.input`\n display: none;\n`;\n\nexport const Label = styled.label`\n padding: 20px 10px;\n width: 200px;\n background-color: #333;\n color: #fff;\n text-transform: uppercase;\n text-align: center;\n display: block;\n cursor: pointer;\n border-radius: 8px;\n`;\n\nexport const ButtonContainer = styled.div`\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n`;\n\nexport const ContainerButtonAudio = styled.div`\n margin-top: 10px;\n display: flex;\n align-items: center;\n`;\n\nexport const ButtonPlayer = styled.button`\n height: 40px;\n width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background-color: #333;\n color: #fff;\n text-transform: uppercase;\n display: block;\n cursor: pointer;\n margin-left: 10px;\n`;\n","/* eslint-disable no-alert */\nimport React, { useState, useEffect } from 'react';\nimport TextField from '@mui/material/TextField';\nimport { Fab } from '@material-ui/core';\nimport Modal from '@mui/material/Modal';\nimport Box from '@mui/material/Box';\nimport { PlayArrow } from '@material-ui/icons';\nimport uploads from '../../../../../../services/uploads';\nimport {\n CreateTranslation,\n UpdateTranslation,\n} from '../../../../../../services/funtionalities';\n\nimport {\n TitleOption,\n Form,\n InputAudio,\n Label,\n ButtonContainer,\n ContainerButtonAudio,\n ButtonPlayer,\n} from './styles';\n\nconst style = {\n position: 'absolute' as const,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '80%',\n bgcolor: 'background.paper',\n boxShadow: 24,\n p: 4,\n};\n\nconst adjustStyleFab = { width: '25%', margin: '20px', alignSelf: 'flex-end' };\n\ninterface ResponseProps {\n status: number;\n message: string;\n}\n\ninterface ModalData {\n id: string;\n title: string;\n description: string;\n file: string;\n translation: string;\n}\n\ntype ModalType = 'create' | 'edit';\n\ninterface ModalCreateProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n setActiveLoading: (value: boolean) => void;\n dataModal: ModalData;\n modalType: ModalType;\n}\n\nexport function ModalCreate(props: ModalCreateProps) {\n const token: any = String(localStorage.getItem('token') || '');\n const idUser: any = String(localStorage.getItem('idUser') || '');\n\n const {\n open, setOpen, setActiveLoading, dataModal, modalType,\n } = props;\n\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [translation, setTranslation] = useState('');\n const [audio, setAudio] = useState('');\n const [enabledButton, setEnabledButton] = useState(true);\n\n const titleModal = modalType === 'create' ? 'Criar texto' : 'Edtar texto';\n\n const clearInputs = () => {\n setTitle('');\n setDescription('');\n setTranslation('');\n setAudio('');\n };\n\n const handleClose = () => {\n setOpen(false);\n clearInputs();\n };\n\n const handleChangeTitle = (event: React.ChangeEvent) => {\n setTitle(event.target.value);\n };\n\n const handleChangeTranslation = (\n event: React.ChangeEvent,\n ) => {\n setTranslation(event.target.value);\n };\n\n const handleChangeDescription = (\n event: React.ChangeEvent,\n ) => {\n setDescription(event.target.value);\n };\n\n const handleChangeAudio = async (event: any) => {\n if (event.target.files.length) {\n const newDataFiles = {\n eventFile: event.target.files[0],\n eventName: event.target.files[0].name,\n file: URL.createObjectURL(event.target.files[0]),\n };\n\n const upload: any = await uploads.UploadFile(\n newDataFiles.eventFile,\n );\n if (upload) {\n setAudio(upload.result);\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const renderAudio = () => {\n if (!audio) {\n return null;\n }\n\n const playerAudio = () => {\n const currentAudio = new Audio(audio);\n currentAudio.play();\n };\n\n return (\n \n \n \n );\n };\n\n const handleCreateTranslation = async () => {\n const listText: ResponseProps = await CreateTranslation(\n idUser,\n title,\n translation,\n description,\n audio,\n token,\n );\n if (listText.status === 201) {\n alert(listText.message);\n handleClose();\n setActiveLoading(true);\n }\n };\n\n const handleEditTranslation = async () => {\n const listText: ResponseProps = await UpdateTranslation(\n dataModal.id,\n idUser,\n title,\n translation,\n description,\n audio,\n token,\n );\n if (listText.status === 200) {\n alert(listText.message);\n handleClose();\n setActiveLoading(true);\n }\n };\n\n const handleSave = async () => {\n if (modalType === 'create') {\n await handleCreateTranslation();\n } else {\n await handleEditTranslation();\n }\n };\n\n useEffect(() => {\n if (modalType === 'edit') {\n setTitle(dataModal.title);\n setDescription(dataModal.description);\n setTranslation(dataModal.translation);\n setAudio(dataModal.file);\n }\n }, [dataModal]);\n\n useEffect(() => {\n if (title && description && audio) {\n setEnabledButton(false);\n }\n }, [title, description, audio]);\n\n return (\n
\n \n \n {titleModal}\n
\n \n \n \n \n \n \n {renderAudio()}\n \n \n \n \n Salvar\n \n \n
\n \n
\n );\n}\n","/* eslint-disable no-alert */\nimport React, { useState, useEffect } from 'react';\nimport Paper from '@mui/material/Paper';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport { Pagination } from '@material-ui/lab';\nimport { Fab } from '@material-ui/core';\nimport {\n PlayCircleFilledOutlined,\n Edit,\n Delete,\n Add,\n} from '@material-ui/icons';\nimport TableRow from '@mui/material/TableRow';\n\nimport {\n Container,\n ContainerPaginator,\n ButtonPlayer,\n ActionsContainer,\n} from './styles';\nimport {\n ListTranlation,\n DeleteTranslation,\n} from '../../../../services/funtionalities';\nimport { ModalCreate } from './components/ModalCreate';\n\ninterface ContactsTabProps {\n setActiveLoading: (value: boolean) => void;\n activeLoading: boolean;\n}\n\ninterface Column {\n id: 'title' | 'description' | 'file' | 'translation' | 'actions';\n label: string;\n minWidth?: number;\n align?: 'right';\n format?: (value: number) => string;\n}\n\nconst columns: readonly Column[] = [\n { id: 'title', label: 'Título', minWidth: 150 },\n { id: 'translation', label: 'Tradução', minWidth: 150 },\n { id: 'description', label: 'Description', minWidth: 250 },\n { id: 'file', label: 'Áudio', minWidth: 150 },\n { id: 'actions', label: 'Ações', minWidth: 150 },\n];\n\ninterface Data {\n id: string;\n title: string;\n description: string;\n file: string;\n translation: string;\n}\n\ninterface DeleteProps {\n status: number;\n message: string;\n}\n\ninterface ModalData {\n id: string;\n title: string;\n description: string;\n file: string;\n translation: string;\n}\n\ntype ModalType = 'create' | 'edit';\n\nconst adjustStyleFab = { width: '25%', margin: '20px', alignSelf: 'flex-end' };\n\nexport default function TranlationTab(props: ContactsTabProps) {\n const { setActiveLoading, activeLoading } = props;\n const token: any = String(localStorage.getItem('token') || '');\n\n const [page, setPage] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [openModal, setOpenModal] = useState(false);\n const [dataModal, setDataModal] = useState({} as ModalData);\n const [modalType, setModalType] = useState('create');\n const [rows, setRows] = useState([]);\n\n function createData(\n id: string,\n title: string,\n translation: string,\n description: string,\n file: string,\n ) {\n const renderAudio = () => {\n const audio = new Audio(file);\n\n const playerAudio = () => {\n audio.play();\n };\n\n return (\n \n \n \n );\n };\n\n const renderAction = () => {\n const handleOpenModalEdit = () => {\n setModalType('edit');\n const data = {\n id,\n title,\n description,\n file,\n translation,\n };\n setDataModal(data);\n setOpenModal(true);\n };\n\n const deleteRow = async () => {\n const data: DeleteProps = await DeleteTranslation(id, token);\n if (data.status === 200) {\n alert(data.message);\n }\n setActiveLoading(true);\n };\n\n return (\n \n \n \n \n \n \n \n \n );\n };\n\n return {\n title,\n translation,\n description,\n file: renderAudio(),\n actions: renderAction(),\n };\n }\n\n const GetAllTranslation = async () => {\n setActiveLoading(true);\n const listContacts: any = await ListTranlation(page, token);\n if (listContacts) {\n setQtdPages(listContacts?.result?.qtdPages);\n const newList = listContacts.result.list.map((e: Data) => {\n const data = createData(\n e.id,\n e.title,\n e.translation,\n e.description,\n e.file,\n );\n return data;\n });\n setRows(newList || []);\n setActiveLoading(false);\n }\n };\n\n const handleChangePage = async (\n event: React.ChangeEvent,\n value: number,\n ) => {\n setPage(value);\n };\n\n const handleOpenModal = () => {\n setModalType('create');\n setOpenModal(true);\n };\n\n useEffect(() => {\n if (activeLoading) {\n GetAllTranslation();\n }\n }, [page, activeLoading, openModal]);\n\n return (\n \n \n \n Adicionar Textos\n \n \n \n \n \n \n {columns.map((column) => (\n \n

{column.label}

\n \n ))}\n
\n
\n \n {rows.map((row) => (\n \n {columns.map((column) => {\n const value = row[column.id];\n return (\n \n {column.format\n && typeof value === 'number'\n ? column.format(value)\n : value}\n \n );\n })}\n \n ))}\n \n
\n
\n
\n \n \n \n \n
\n );\n}\n","/* eslint-disable max-len */\n/* eslint-disable no-alert */\n/* eslint-disable no-plusplus */\n// libraries\nimport React, { useState } from 'react';\nimport { Redirect } from 'react-router-dom';\n\n// js\nimport {\n Container,\n ContainerBox,\n TitleBox,\n MenuContainer,\n MenuOption,\n} from './functionalitiesStyles';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\nimport ModalLoading from '../../components/ModalLoading';\nimport ContactsTab from './Tabs/ContactsTab';\nimport TextTab from './Tabs/TextTab';\nimport TranslationTab from './Tabs/TranslationTab';\n\nconst FunctionalitiesPage: React.FC = () => {\n // states\n const [activeLoading, setActiveLoading] = useState(false);\n const [currentTab, setCurrentTab] = useState(1);\n\n const contactsIsActive = currentTab === 1;\n const textIsActive = currentTab === 2;\n const translationIsActive = currentTab === 3;\n\n const renderTabs = () => {\n if (currentTab === 1) {\n return ;\n }\n if (currentTab === 2) {\n return (\n \n );\n }\n return (\n \n );\n };\n\n const RenderUsersPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n\n const handleChangeContact = () => {\n setActiveLoading(true);\n setCurrentTab(1);\n };\n\n const handleChangeText = () => {\n setActiveLoading(true);\n setCurrentTab(2);\n };\n\n const handleChangeTranlation = () => {\n setActiveLoading(true);\n setCurrentTab(3);\n };\n\n return (\n \n \n \n \n Site\n \n \n Contatos\n \n \n Textos\n \n \n Traduções\n \n \n {renderTabs()}\n \n \n );\n };\n\n return RenderUsersPage();\n};\n\nexport default FunctionalitiesPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface InfoOptionInterfaces {\n width?: number | string,\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: 80px;\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const ContainerMore = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 18%;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const InfoOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Light')};\n width: ${(props) => (props.width || '19%')};\n word-wrap: break-word;\n`;\n\nexport const LineSeparator = styled.div`\n background-color: ${colors.basic.gray};\n height: 1px;\n margin-top: 20px;\n opacity: 0.3;\n width: 100%;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n`;\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n width: 19%;\n`;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListHistories(search: string, token: string): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/change/histories?applicationType=${nameBank}${\n search && `&searchTxt=${search}`\n }`;\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function ReverseCondition(\n id: string,\n type: string,\n token: string,\n): Promise {\n try {\n const nameBank = localStorage.getItem('nameBank');\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const baseURL = `/change/histories/restore?applicationType=${nameBank}&idHistory=${id}&type=${type}`;\n const response = await api.post(baseURL, {}, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport { ListHistories, ReverseCondition };\n","/* eslint-disable max-len */\n/* eslint-disable no-alert */\n/* eslint-disable no-plusplus */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport FlatList from 'flatlist-react';\nimport { MenuItem, Select, TextField } from '@material-ui/core';\nimport { Redirect } from 'react-router-dom';\nimport { lightFormat } from 'date-fns';\n\n// js\nimport {\n Container,\n ContainerBox,\n ContainerMore,\n ContainerOptions,\n InfoOption,\n LineSeparator,\n TitleBox,\n TitleOption,\n} from './historicStyles';\n\n// components\nimport ModalLoading from '../../components/ModalLoading';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\n\n// types\nimport { ListHistories, ReverseCondition } from '../../services/histories';\n\n// interfaces\nconst HistoricPage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n\n // states\n const [allHistoric, setAllHistoric] = useState([]);\n const [search, setSearch] = useState('');\n const [activeLoading, setActiveLoading] = useState(false);\n\n // api\n const GetListHistoric = async () => {\n setActiveLoading(true);\n const listHistoric: any = await ListHistories(search, token);\n if (listHistoric?.status === 200) {\n setAllHistoric(listHistoric.result.list);\n }\n setActiveLoading(false);\n };\n\n // methods\n const reverterCondition = async (id: string, type: string) => {\n setActiveLoading(true);\n const listHistoric: any = await ReverseCondition(id, type, token);\n if (listHistoric?.status === 200) {\n GetListHistoric();\n }\n setActiveLoading(false);\n };\n\n function AdjustTypes(action: string) {\n if (action === 'create') {\n return 'Criação';\n }\n if (action === 'edit') {\n return 'Edição';\n }\n if (action === 'update') {\n return 'Atualização';\n }\n if (action === 'delete') {\n return 'Exclusão';\n }\n }\n\n function AdjustNextTypes(action: string) {\n if (action === 'create') {\n return 'Exclusão';\n }\n if (action === 'edit') {\n return 'Edição';\n }\n if (action === 'update') {\n return 'Atualização';\n }\n if (action === 'delete') {\n return 'Criação';\n }\n }\n\n const SearchHistoric = (txt: any) => {\n const infoSearch = txt.target.value;\n setSearch(infoSearch);\n };\n\n // useEffect\n useEffect(() => {\n GetListHistoric();\n }, []);\n\n useEffect(() => {\n const timeOutId = setTimeout(() => {\n GetListHistoric();\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [search]);\n\n // renders\n const RenderListItems = (item: any) => {\n const {\n name, lastMethod, currentMethod, type, path, dateCreated,\n } = item;\n\n const dateInt = Number(dateCreated);\n const date = new Date(dateInt);\n const formatDate = lightFormat(date, 'dd/MM/yyyy');\n const formatHour = lightFormat(date, 'HH:mm');\n const concatDate = `${formatDate} às ${formatHour}`;\n\n const handleChange = async (event: any) => {\n const { id } = event.target.value;\n reverterCondition(id, type);\n };\n\n return (\n <>\n \n {name}\n \n {path === '/users' ? 'Usuário' : 'Módulo'}\n \n {AdjustTypes(lastMethod)}\n {AdjustNextTypes(currentMethod)}\n \n {concatDate}\n \n \n \n \n \n );\n };\n\n const RenderHistoricPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n return (\n \n \n \n \n \n Lista de histórico\n \n Título/Nome\n Tipo\n Ação anterior\n Ação posterior\n Data da modificação\n \n \n \n \n \n );\n };\n\n return RenderHistoricPage();\n};\n\nexport default HistoricPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface TitleOptionInterfaces {\n width?: string;\n}\n\ninterface ContainerOptionsInterface {\n marginTop?: string,\n maxWidth?: string,\n positionItemHorizontal?: string,\n positionItemVertical?: string,\n wrap?: string,\n width?: string,\n}\n\n// styles\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerPaginator = styled.div`\n display: flex;\n margin-top: 20px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\ninterface ContainerBoxInterfaces {\n marginTop?: string;\n}\n\nexport const ContainerBoxModal = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin: 20px 0px 20px 0px;\n min-width: 1000px;\n max-height: 70vh;\n overflow-y: auto;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const AdjustColumn = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ContainerBox = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 5px;\n box-shadow: 1px 1px 3px gray;\n justify-content: center;\n margin-bottom: 20px;\n margin-top: ${({ marginTop }) => marginTop || '80px'};\n min-width: 1000px;\n padding-bottom: 30px;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 30px;\n`;\n\nexport const AdjustPicker = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const ContainerMore = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 40%;\n`;\n\nexport const ContainerHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const IframeArchive = styled.iframe`\n height: 100px;\n width: 100px;\n margin: 10px 10px 0px 0px;\n border: none;\n cursor: pointer;\n`;\n\nexport const ImageArchive = styled.img`\n height: 100px;\n width: 100px;\n margin: 10px 10px 0px 0px;\n cursor: pointer;\n`;\n\nexport const AdjustFilters = styled.div`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 1000px;\n margin-top: 20px;\n`;\n\nexport const ContainerOptions = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n width: 100%;\n`;\n\nexport const InfoOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 14px;\n font-weight: ${consts.getFontWeight('Lato-Light')};\n width: 40%;\n word-wrap: break-word;\n`;\n\nexport const LineSeparator = styled.div`\n background-color: ${colors.basic.gray};\n height: 1px;\n margin-top: 20px;\n opacity: 0.3;\n width: 100%;\n`;\n\nexport const TitleBox = styled.h1`\n color: ${colors.basic.black};\n font-size: 22px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n`;\n\nexport const TitleOption = styled.h1`\n color: ${colors.basic.black};\n font-size: 17px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n width: ${({ width }) => width || '40%'};\n`;\n\nexport const Separator = styled.div`\n width: 10%;\n`;\n\nexport const ContainerOptionsInput = styled.div`\n align-items: ${(props) => (props.positionItemVertical || 'center')};\n background-color: ${colors.basic.white};\n display: flex;\n flex-wrap: ${(props) => (props.wrap || 'nowrap')};\n justify-content: ${(props) => (props.positionItemHorizontal || 'space-between')};\n margin-top: ${(props) => (props.marginTop || '0px')};\n width: ${(props) => (props.width || 'auto')};\n max-width: ${(props) => (props.maxWidth || 'none')};\n`;\n\nexport const ContainerModal = styled.div`\n align-items: center;\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const AdjustInput = styled.div`\n display: flex;\n flex-direction: column;\n margin-right: 10px;\n width: 150px;\n`;\n\nexport const LabelInput = styled.text`\n color: gray;\n`;\n","/* eslint-disable no-alert */\n// js\nimport api from './api';\n\nasync function ListTrigger(page: number, isSend: boolean | null, token: string): Promise {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n let baseURL = `/send/email?page=${page}&limit=10`;\n if (typeof isSend === 'boolean') {\n baseURL = `${baseURL}&isSend=${isSend}`;\n }\n const response = await api.get(baseURL, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function CreateTrigger(\n title: string,\n description: string,\n attachments: Array,\n startAt: string,\n idsUsers: Array,\n token: string,\n): Promise {\n try {\n let body: any = {\n title,\n description,\n startAt,\n idsUsers,\n };\n if (attachments.length) {\n body = {\n ...body,\n attachments,\n };\n }\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.post('/send/email', body, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function EditTrigger(\n title: string,\n description: string,\n attachments: Array,\n startAt: string,\n idsUsers: Array,\n idSend: number,\n token: string,\n): Promise {\n try {\n let body: any = {\n title,\n description,\n startAt,\n idsUsers,\n };\n if (attachments.length) {\n body = {\n ...body,\n attachments,\n };\n }\n const configs = {\n headers: {\n 'x-access-token': token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await api.put(`/send/email?idSend=${idSend}`, body, configs);\n return response.data;\n } catch (error: any) {\n // alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function DelTrigger(idSend: string, token: string): Promise {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.delete(`/send/email?idSend=${idSend}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function VerifyDateTrigger(startAt: string, token: string): Promise {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.get(`/send/evaluation?startAt=${startAt}`, configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nasync function GetNextTrigger(token: string): Promise {\n try {\n const configs = {\n headers: {\n 'x-access-token': token,\n },\n };\n const response = await api.get('/send/schedules', configs);\n return response.data;\n } catch (error: any) {\n alert(error.response.data?.message || 'Erro de servidor');\n }\n}\n\nexport default {\n ListTrigger,\n CreateTrigger,\n EditTrigger,\n DelTrigger,\n VerifyDateTrigger,\n GetNextTrigger,\n};\n","// /* eslint-disable max-len */\n/* eslint-disable no-alert */\n/* eslint-disable no-plusplus */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport FlatList from 'flatlist-react';\nimport { Pagination } from '@material-ui/lab';\nimport {\n addMinutes,\n addHours,\n lightFormat,\n} from 'date-fns';\nimport DateFnsUtils from '@date-io/date-fns';\nimport { FormControl, InputLabel } from '@mui/material';\nimport { MuiPickersUtilsProvider, KeyboardDateTimePicker, KeyboardDatePicker } from '@material-ui/pickers';\nimport {\n Checkbox, Fab, MenuItem, Select, TextField, Modal, Button,\n} from '@material-ui/core';\nimport Tooltip from '@mui/material/Tooltip';\nimport {\n Add, NavigateBefore, Send, InfoOutlined,\n} from '@material-ui/icons';\nimport { Redirect } from 'react-router-dom';\n\n// js\nimport {\n AdjustPicker,\n Container,\n ContainerBox,\n ContainerHeader,\n ContainerModal,\n ContainerMore,\n ContainerOptions,\n ContainerOptionsInput,\n ContainerPaginator,\n InfoOption,\n LineSeparator,\n Separator,\n TitleBox,\n TitleOption,\n ContainerBoxModal,\n AdjustColumn,\n ImageArchive,\n IframeArchive,\n AdjustFilters,\n AdjustInput,\n LabelInput,\n} from './emailsStyles';\n\n// components (navigation)\nimport DrawerNavigation from '../../routes/DrawerNavigation/DrawerNavigation';\nimport ModalLoading from '../../components/ModalLoading';\nimport users from '../../services/users';\nimport uploads from '../../services/uploads';\nimport emails from '../../services/emails';\nimport constants from '../../configs/constants';\n\n// interfaces\ninterface initialFiltersInterfaces {\n signature: string;\n initialDate: string;\n finalDate: string;\n applicationType: any;\n cancel: string;\n progressInitial: string;\n progressFinal: string;\n}\n\nconst UsersPage: React.FC = () => {\n // constants\n const token: any = String(localStorage.getItem('token') || '');\n const adjustStyleFab = { width: '30%' };\n const initialFilters: initialFiltersInterfaces = {\n signature: '',\n initialDate: '',\n finalDate: '',\n applicationType: '',\n cancel: '',\n progressInitial: '',\n progressFinal: '',\n };\n\n // states\n const [allUsers, setAllUsers] = useState([]);\n const [allTrigger, setAllTrigger] = useState([]);\n const [search, setSearch] = useState('');\n const [activeLoading, setActiveLoading] = useState(false);\n const [page, setPage] = useState(1);\n const [pageTrigger, setPageTrigger] = useState(1);\n const [qtdPages, setQtdPages] = useState(1);\n const [qtdPagesTrigger, setQtdPagesTrigger] = useState(1);\n const [allIds, setAllIds] = useState>([]);\n const [openModal, setOpenModal] = useState(false);\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [idFrame, setIdFrame] = useState(1);\n const [dateScheduling, setDateScheduling] = useState(addMinutes(new Date(), 10));\n const [allFiles, setAllFiles] = useState>([]);\n const [triggerActual, setTriggerActual] = useState(null);\n const [allTriggerNotSend, setAllTriggerNotSend] = useState([]);\n const [filters, setFilters] = useState(initialFilters);\n\n // methods\n const GetListTrigger = async () => {\n const listTrigger: any = await emails.ListTrigger(1, null, token);\n if (listTrigger) {\n setAllTrigger(listTrigger?.result?.list || []);\n setQtdPagesTrigger(listTrigger?.result?.qtdPages || 1);\n setPageTrigger(1);\n }\n };\n\n const GetListTriggerNotSend = async () => {\n const listTriggerNotSend: any = await emails.GetNextTrigger(token);\n if (listTriggerNotSend) {\n setAllTriggerNotSend(listTriggerNotSend?.result?.list || []);\n }\n };\n\n const handleChangeTrigger = async (event: any) => {\n const infoObj = event.target.value;\n if (event.target.value?.type === 'EDIT') {\n delete infoObj?.type;\n setTriggerActual(infoObj);\n setTitle(infoObj?.title || '');\n setDescription(infoObj?.description || '');\n setAllFiles(infoObj?.attachments || []);\n // eslint-disable-next-line max-len\n setDateScheduling(infoObj?.startAt ? addHours(new Date(infoObj?.startAt), 3) : addMinutes(new Date(), 10));\n setAllIds(infoObj?.idUsers || []);\n setDateScheduling(addMinutes(new Date(), 10));\n setOpenModal(true);\n } else {\n setActiveLoading(true);\n const onDelTrigger: any = await emails.DelTrigger(infoObj?.id, token);\n if (onDelTrigger?.status === 200) {\n GetListTrigger();\n alert(onDelTrigger?.message || 'Ocorre um erro ao cancelar o disparo!');\n }\n setActiveLoading(false);\n }\n };\n\n const SearchUsers = (txt: any) => {\n setSearch(txt.target.value);\n };\n\n const handleChangePageTrigger = async (event: React.ChangeEvent, value: number) => {\n setPageTrigger(value);\n const listTrigger: any = await emails.ListTrigger(value, null, token);\n if (listTrigger) {\n setAllTrigger(listTrigger?.result?.list || []);\n setQtdPagesTrigger(listTrigger?.result?.qtdPages || 1);\n }\n };\n\n const handleChangePageUsers = async (event: React.ChangeEvent, value: number) => {\n setPage(value);\n const listUsers: any = await users.ListUsers(value, search, token);\n if (listUsers) {\n setAllUsers(listUsers?.result?.list || []);\n setQtdPages(listUsers?.result?.qtdPages || 1);\n }\n };\n\n const closedModal = () => {\n setOpenModal(!openModal);\n setTitle('');\n setDescription('');\n setAllIds([]);\n setIdFrame(1);\n setDateScheduling(addMinutes(new Date(), 10));\n };\n\n const tradeModalTrigger = () => {\n if (idFrame === 1) {\n closedModal();\n } else {\n setIdFrame(1);\n }\n };\n\n const onChangeTitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n setTitle(txt.target.value);\n }\n };\n\n const onChangeSubtitle = (txt: any) => {\n if (txt.target.value.length <= 200) {\n setDescription(txt.target.value);\n }\n };\n\n const validationDisabled = () => {\n if (idFrame === 1) {\n return !(title.length && description.length);\n }\n return allIds.length === 0;\n };\n\n const validationBackground = () => {\n if (idFrame === 1) {\n if (title.length && description.length) {\n return 'primary';\n }\n\n return 'inherit';\n }\n return allIds.length > 0 ? 'primary' : 'inherit';\n };\n\n const nextStep = () => {\n setIdFrame(2);\n };\n\n const createTrigger = async () => {\n const formatDate = lightFormat(dateScheduling, 'yyyy-MM-dd HH:mm:ss.SSS');\n if (triggerActual?.id) {\n const onEdit: any = await emails.EditTrigger(\n title,\n description,\n allFiles,\n formatDate,\n allIds,\n triggerActual?.id,\n token,\n );\n if (onEdit?.status === 200) {\n closedModal();\n GetListTrigger();\n alert(onEdit?.message || 'Disparador alterado!');\n } else {\n alert(onEdit?.message || 'Ocorreu um erro ao alterar o disparador!');\n }\n } else {\n const onCreate: any = await emails.CreateTrigger(\n title,\n description,\n allFiles,\n formatDate,\n allIds,\n token,\n );\n if (onCreate?.status === 201) {\n closedModal();\n GetListTrigger();\n alert(onCreate?.message || 'Disparador agendado!');\n } else {\n alert(onCreate?.message || 'Ocorreu um erro ao agendar o disparador!');\n }\n }\n };\n\n const getNewUsers = async () => {\n const formatDateInitial = filters.initialDate ? lightFormat(new Date(filters.initialDate), 'yyyy-MM-dd HH:mm:ss.SSS') : '';\n const formatDateFinal = filters.progressFinal ? lightFormat(new Date(filters.progressFinal), 'yyyy-MM-dd HH:mm:ss.SSS') : '';\n const listUsers: any = await users.ListUserSearch(\n 1,\n search,\n filters.applicationType,\n Number(filters.progressInitial),\n Number(filters.progressFinal),\n filters.signature,\n filters.cancel,\n formatDateInitial,\n formatDateFinal,\n token,\n '',\n );\n if (listUsers) {\n setAllUsers(listUsers?.result?.list || []);\n setQtdPages(listUsers?.result?.qtdPages || 1);\n setPage(1);\n }\n };\n\n useEffect(() => {\n const timeOutId = setTimeout(async () => {\n if (filters.progressInitial && filters.progressFinal) {\n if (Number(filters.progressInitial) < Number(filters.progressFinal)) {\n getNewUsers();\n } else {\n alert('Informe uma data inicial inferior a data final.');\n }\n } else {\n getNewUsers();\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [filters]);\n\n useEffect(() => {\n GetListTrigger();\n GetListTriggerNotSend();\n }, []);\n\n useEffect(() => {\n const timeOutId = setTimeout(async () => {\n const listUsers: any = await users.ListUsers(1, search, token);\n if (listUsers) {\n setAllUsers(listUsers?.result?.list || []);\n setQtdPages(listUsers?.result?.qtdPages || 1);\n setPage(1);\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }, [search]);\n\n useEffect(() => {\n if (openModal) {\n const timeOutId = setTimeout(async () => {\n const formatDateScheduling = lightFormat(dateScheduling, 'yyyy-MM-dd HH:mm:ss.SSS');\n const verify: any = await emails.VerifyDateTrigger(formatDateScheduling, token);\n if (!verify?.result) {\n alert('Essa data não está disponível para uso.');\n }\n }, 500);\n return () => clearTimeout(timeOutId);\n }\n return () => null;\n }, [dateScheduling, openModal]);\n\n // renders\n const RenderListItemsUsers = (item: any) => {\n const {\n idUser,\n name,\n email,\n } = item;\n\n const onChangeCheckBox = () => {\n if (allIds.includes(idUser)) {\n const removeEmail = allIds.filter((v) => v !== idUser);\n setAllIds(removeEmail);\n } else {\n setAllIds([...allIds, idUser]);\n }\n };\n\n return (\n
\n \n \n \n \n {name}\n {email}\n \n \n
\n );\n };\n\n const RenderListTrigger = (item: any) => {\n const {\n id,\n startAt,\n isSend,\n } = item;\n const valueItemEdit = { ...item, type: 'EDIT' };\n const valueItem = { ...item, type: 'DELETE' };\n\n return (\n
\n \n {id}\n \n {lightFormat(addHours(new Date(startAt), 3), 'dd/MM/yyyy HH:mm')}\n {isSend ? null : (\n \n )}\n \n \n \n
\n );\n };\n\n const EndIcon = () => (\n \n );\n\n const RenderIconGoBack = () => (\n \n );\n\n const RenderInputsTitles = (label: string, value: string, onChange: any) => {\n const ValueActual = value;\n return (\n <>\n \n \n \n );\n };\n\n const handleChange = (date: Date | null) => {\n setDateScheduling(date || new Date());\n };\n\n const handleChangeArchive = (event: any) => {\n if (event?.target?.value === 'image') {\n // Upload image\n const getInputImage: any = document.getElementById('fileImage');\n if (getInputImage) {\n getInputImage.click();\n }\n }\n if (event?.target?.value === 'pdf') {\n // Upload pdf\n const getInputPdf: any = document.getElementById('filePdf');\n if (getInputPdf) {\n getInputPdf.click();\n }\n }\n };\n\n const onChangeFile = async (event: React.ChangeEvent) => {\n if ((event.target.files || []).length) {\n const files = (event.target.files || []);\n const newDataFiles = {\n eventFile: files[0],\n eventName: files[0].name,\n file: URL.createObjectURL(files[0]),\n };\n const upload: any = await uploads.UploadFile(\n newDataFiles.eventFile,\n );\n if (upload?.result) {\n setAllFiles([...allFiles, upload?.result]);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-param-reassign\n event.target.value = null;\n }\n }\n };\n\n const renderFrame = () => {\n if (idFrame === 1) {\n return (\n <>\n {RenderInputsTitles('Título', title, onChangeTitle)}\n {RenderInputsTitles('Descrição', description, onChangeSubtitle)}\n \n \n \n \n `De: ${lightFormat(addHours(new Date(v?.startAt), 3), 'dd/MM/yyyy HH:mm:ss')} Até: ${lightFormat(addHours(new Date(v?.endAt), 3), 'dd/MM/yyyy HH:mm:ss')}`)}` : 'Todas as datas estão disponíveis para uso'}>\n \n \n \n \n \n Escolha um arquivo\n \n Imagem\n PDF\n \n \n \n {allFiles.map((v) => {\n const removeItem = () => {\n const getNewsItems = allFiles.filter((e) => e !== v);\n setAllFiles(getNewsItems);\n };\n if (v.includes('.pdf')) {\n return (\n \n );\n }\n return (\n \n );\n })}\n \n \n \n \n \n );\n }\n return (\n \n \n \n \n Assinante\n setFilters({ ...filters, signature: String(txt.target.value) })}\n style={{ height: 35, width: 150 }}\n >\n TODOS\n SIM\n NÃO\n \n \n \n Data inicial\n \n {\n setFilters({ ...filters, initialDate: String(txt) });\n }}\n maxDate={new Date()}\n invalidDateMessage=\"\"\n autoOk\n style={{ height: 35, width: 150 }}\n />\n \n \n \n Data final\n \n {\n setFilters({ ...filters, finalDate: String(txt) });\n }}\n maxDate={new Date()}\n invalidDateMessage=\"\"\n autoOk\n style={{ height: 35, width: 150 }}\n />\n \n \n \n Qual sistema?\n setFilters({ ...filters, applicationType: String(txt.target.value) })}\n style={{ height: 35, width: 150 }}\n >\n TODOS\n {constants.namesSystem.map((v: any) => (\n {v}\n ))}\n \n \n \n Usuários que cancelaram\n {\n setFilters({ ...filters, cancel: String(txt.target.value) });\n }}\n style={{ height: 38, width: 150 }}\n >\n TODOS\n SIM\n NÃO\n \n \n {\n const onlyNumber = txt.target.value.replace(/\\D/g, '');\n if (Number(onlyNumber) < 100 && Number(onlyNumber) >= 0) {\n setFilters({ ...filters, progressInitial: onlyNumber });\n } else {\n alert('Informe um progresso inicial de 0 a 99.');\n }\n }}\n value={filters.progressInitial}\n style={{ height: 40, width: 150 }}\n />\n {\n const onlyNumber = txt.target.value.replace(/\\D/g, '');\n if (Number(onlyNumber) <= 100 && Number(onlyNumber) > 0) {\n setFilters({ ...filters, progressFinal: onlyNumber });\n } else {\n alert('Informe um progresso inicial de 1 a 100.');\n }\n }}\n value={filters.progressFinal}\n />\n \n \n Lista de usuários\n \n \n \n Nome\n Email\n \n \n \n \n \n \n \n );\n };\n\n const RenderUsersPage = () => {\n if (!localStorage.getItem('existUser')) {\n return ;\n }\n return (\n \n \n \n \n \n Lista de disparador\n \n \n Adicionar disparador\n \n \n \n Identificador\n Data de disparo\n \n \n \n \n \n \n \n \n \n \n {renderFrame()}\n \n \n {idFrame === 1 ? 'Fechar' : 'Voltar'}\n \n \n {/* eslint-disable-next-line no-nested-ternary */}\n {idFrame === 1 ? 'Próximo' : (triggerActual?.id ? 'Editar disparador' : 'Criar disparador')}\n \n \n \n \n \n \n );\n };\n\n return RenderUsersPage();\n};\n\nexport default UsersPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\n\n// styles\nexport const Container = styled.div`\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n flex-direction: column;\n padding: 20px;\n`;\n\nexport const Title = styled.text`\n color: gray;\n font-size: 24px;\n margin-bottom: 10px;\n font-weight: bold;\n`;\n\nexport const Subtitle = styled.text`\n color: gray;\n font-size: 18px;\n margin-bottom: 10px;\n`;\n\nexport const Text = styled.text`\n color: gray;\n font-size: 14px;\n margin-bottom: 10px;\n`;\n\nexport const Column = styled.div`\n display: flex;\n flex-direction: column;\n`;\n","/* eslint-disable max-len */\n// libraries\nimport React from 'react';\nimport {\n Container, Text, Title, Subtitle, Column,\n} from './styles';\n\nconst PoliticPage: React.FC = () => (\n \n Política de Privacidade\n \n Na Idiomas Tec, privacidade e segurança são prioridades e nos comprometemos com a transparência do\n tratamento de dados pessoais dos nossos usuários/clientes. Por isso, esta presente Política de\n Privacidade estabelece como é feita a coleta, uso e transferência de informações de clientes ou outras\n pessoas que acessam ou usam nosso aplicativo.\n Ao utilizar nossos serviços, você entende que coletaremos e usaremos suas informações pessoais nas\n formas descritas nesta Política, sob as normas de Proteção de Dados (LGPD, Lei Federal 13.709/2018),\n das disposições consumeristas da Lei Federal 8078/1990 e as demais normas do ordenamento jurídico\n brasileiro aplicáveis.\n Dessa forma, a Carlos Gomes de Oliveira, doravante denominada simplesmente como Idiomas Tec,\n inscrita no CNPJ sob o nº 41.750.051/0001-18, no papel de Controladora de Dados, obriga-se ao disposto\n na presente Política de Privacidade.\n \n 1. Quais dados coletamos sobre você e para qual finalidade?\n \n Nosso aplicativo coleta e utiliza alguns dados pessoais seus, de forma a viabilizar a prestação de serviços\n e aprimorar a experiência de uso.\n {' '}\n \n 1.1. Dados pessoais fornecidos pelo titular\n \n \n .Nome.\n \n \n .E-mail.\n \n \n 1.2. Dados pessoais coletados automaticamente\n \n \n .Nome, no momento do cadastro, o nome é exigido para identificação pessoal no aplicativo.\n \n \n .E-mail, no momento do cadastro, o e-mail formecido torna-se o login para acesso ao aplicativo e\n para a recuperação de senhas perdidas/esquecidas.\n \n \n 2. Como coletamos os seus dados?\n \n \n Nesse sentido, a coleta dos seus dados pessoais ocorre da seguinte forma:\n \n \n .Após baixar o aplicativo e realizar a instalação, o usuário fornece o nome e o e-mail no momento\n em que realiza seu cadastro, a fim de que posso começar a utilizar o aplicativo.\n \n \n 2.1. Consentimento\n \n É a partir do seu consentimento que tratamos os seus dados pessoais. O consentimento é a manifestação\n livre, informada e inequívoca pela qual você autoriza a Idiomas Tec a tratar seus dados.\n Assim, em consonância com a Lei Geral de Proteção de Dados, seus dados só serão coletados, tratados\n e armazenados mediante prévio e expresso consentimento.\n O seu consentimento será obtido de forma específica para cada finalidade acima descrita, evidenciando\n o compromisso de transparência e boa-fé da Idiomas Tec para com seus usuários/clientes, seguindo as\n regulações legislativas pertinentes.\n Ao utilizar os serviços da Idiomas Tec e fornecer seus dados pessoais, você está ciente e consentindo\n com as disposições desta Política de Privacidade, além de conhecer seus direitos e como exercê-los.\n A qualquer tempo e sem nenhum custo, você poderá revogar seu consentimento.\n É importante destacar que a revogação do consentimento para o tratamento dos dados pode implicar a\n impossibilidade da performance adequada de alguma funcionalidade do aplicativo que dependa da\n operação. Tais consequências serão informadas previamente.\n \n 3. Quais são os seus direitos?\n \n \n A Idiomas Tec assegura a seus usuários/clientes seus direitos de titular previstos no artigo 18 da Lei Geral\n de Proteção de Dados. Dessa forma, você pode, de maneira gratuita e a qualquer tempo:\n \n \n .Confirmar a existência de tratamento de dados, de maneira simplificada ou em formato claro e\n completo.\n \n \n .Acessar seus dados, podendo solicitá-los em uma cópia legível sob forma impressa ou por meio\n eletrônico, seguro e idôneo.\n \n \n .Corrigir seus dados, ao solicitar a edição, correção ou atualização destes.\n \n \n .Limitar seus dados quando desnecessários, excessivos ou tratados em desconformidade com a\n legislação através da anonimização, bloqueio ou eliminação.\n \n \n .Solicitar a portabilidade de seus dados, através de um relatório de dados cadastrais que\n a Idiomas Tec trata a seu respeito.\n \n \n .Eliminar seus dados tratados a partir de seu consentimento, exceto nos casos previstos em lei.\n \n \n .Revogar seu consentimento, desautorizando o tratamento de seus dados.\n \n \n .Informar-se sobre a possibilidade de não fornecer seu consentimento e sobre as\n consequências da negativa.\n \n \n 4. Como você pode exercer seus direitos de titular?\n \n \n Para exercer seus direitos de titular, você deve entrar em contato com a Idiomas Tec através dos\n seguintes meios disponíveis:\n \n \n .Link de comentários dentro da própria Loja da AppleStore\n \n \n .E-mail da Idiomas Tec\n \n \n De forma a garantir a sua correta identificação como titular dos dados pessoais objeto da solicitação, é\n possível que solicitemos documentos ou demais comprovações que possam comprovar sua identidade.\n Nessa hipótese, você será informado previamente.\n \n \n \n 5. Como e por quanto tempo seus dados serão armazenados?\n \n \n \n Seus dados pessoais coletados pela Idiomas Tec serão utilizados e armazenados durante o tempo\n necessário para a prestação do serviço ou para que as finalidades elencadas na presente Política de\n Privacidade sejam atingidas, considerando os direitos dos titulares dos dados e dos controladores.\n De modo geral, seus dados serão mantidos enquanto a relação contratual entre você e a Idiomas\n Tec perdurar. Findado o período de armazenamento dos dados pessoais, estes serão excluídos de\n nossas bases de dados ou anonimizados, ressalvadas as hipóteses legalmente previstas no artigo 16 lei\n geral de proteção de dados, a saber:\n \n \n I – cumprimento de obrigação legal ou regulatória pelo controlador;\n \n \n II – estudo por órgão de pesquisa, garantida, sempre que possível, a anonimização dos dados pessoais;\n \n \n III – transferência a terceiro, desde que respeitados os requisitos de tratamento de dados dispostos nesta\n Lei;\n \n \n IV – uso exclusivo do controlador, vedado seu acesso por terceiro, e desde que anonimizados os dados.\n Isto é, informações pessoais sobre você que sejam imprescindíveis para o cumprimento de\n determinações legais, judiciais e administrativas e/ou para o exercício do direito de defesa em processos\n judiciais e administrativos serão mantidas, a despeito da exclusão dos demais dados.\n \n \n O armazenamento de dados coletados pela Idiomas Tec reflete o nosso compromisso com a segurança\n e privacidade dos seus dados. Empregamos medidas e soluções técnicas de proteção aptas a garantir a\n confidencialidade, integridade e inviolabilidade dos seus dados. Além disso, também contamos com\n medidas de segurança apropriadas aos riscos e com controle de acesso às informações armazenadas.\n \n \n \n 6. O que fazemos para manter seus dados seguros?\n \n \n \n Para mantermos suas informações pessoais seguras, usamos ferramentas físicas, eletrônicas e\n gerenciais orientadas para a proteção da sua privacidade.\n Aplicamos essas ferramentas levando em consideração a natureza dos dados pessoais coletados, o\n contexto e a finalidade do tratamento e os riscos que eventuais violações gerariam para os direitos e\n liberdades do titular dos dados coletados e tratados.\n Entre as medidas que adotamos, destacamos as seguintes:\n \n \n .apenas pessoas autorizadas terão acesso a seus dados pessoais;\n \n \n .o acesso a seus dados pessoais será feito somente após firmado o compromisso de\n confidencialidade;\n \n \n .seus dados pessoais serão armazenados em ambiente seguro e idôneo.\n \n \n A Idiomas Tec se compromete a adotar as melhores posturas para evitar incidentes de segurança.\n Contudo, é necessário destacar que nenhuma página virtual é inteiramente segura e livre de riscos. É\n possível que, apesar de todos os nossos protocolos de segurança, problemas de culpa exclusivamente\n de terceiros ocorram, como ataques cibernéticos de hackers, ou também em decorrência da negligência\n ou imprudência do próprio usuário/cliente.\n Em caso de incidentes de segurança que possam gerar risco ou dano relevante para você ou qualquer\n um de nossos usuários/clientes, comunicaremos aos afetados e a Autoridade Nacional de Proteção de\n Dados sobre o ocorrido, em consonância com as disposições da Lei Geral de Proteção de Dados.\n \n \n \n 7. Com quem seus dados podem ser compartilhados?\n \n \n \n Tendo em vista a preservação de sua privacidade, a Idiomas Tec não compartilhará seus dados pessoais\n com nenhum terceiro não autorizado. Neste momento, a Idiomas Tec não conta com nenhum parceiro\n comercial.\n \n Além disso, também existem outras hipóteses em que seus dados poderão ser compartilhados, que são:\n \n I – Determinação legal, requerimento, requisição ou ordem judicial, com autoridades judiciais,\n administrativas ou governamentais competentes\n\n \n II – Caso de movimentações societárias, como fusão, aquisição e incorporação, de forma automática \n III – Proteção dos direitos da a Idiomas Tec em qualquer tipo de conflito, inclusive os de teor judicial. \n \n \n 7.1. Transferência internacional de dados\n \n \n Alguns dos terceiros com quem compartilhamos seus dados podem ser localizados ou possuir instalações\n localizadas em países estrangeiros. Nessas condições, de toda forma, seus dados pessoais estarão\n sujeitos à Lei Geral de Proteção de Dados e às demais legislações brasileiras de proteção de dados\n Nesse sentido, a Idiomas Tec se compromete a sempre adotar eficientes padrões de segurança\n cibernética e de proteção de dados, nos melhores esforços de garantir e cumprir as exigências\n legislativas.\n Ao concordar com essa Política de Privacidade, você concorda com esse compartilhamento, que se dará\n conforme as finalidades descritas no presente instrumento.\n \n \n 8. Cookies ou dados de navegação\n \n \n A Idiomas Tec não faz uso de Cookies, que são arquivos de texto enviados pela plataforma ao seu\n computador e que nele se armazenam, que contém informações relacionadas à navegação do site.\n \n \n 9. Alteração desta Política de Privacidade\n \n \n A atual versão da Política de Privacidade foi formulada e atualizada pela última vez em: 01 de novembro\n de 2021.\n Reservamos o direito de modificar essa Política de Privacidade a qualquer tempo, principalmente em\n função da adequação a eventuais alterações feitas em nosso aplicativo ou em âmbito legislativo.\n Recomendamos que você a revise com frequência.\n Eventuais alterações entrarão em vigor a partir de sua publicação nas lojas em que o aplicativo esteja\n disponível e sempre lhe notificaremos acerca das mudanças ocorridas.\n Ao utilizar nossos serviços e fornecer seus dados pessoais após tais modificações, você as consente\n \n \n 10. Responsabilidade\n \n \n A Idiomas Tec prevê a responsabilidade dos agentes que atuam nos processos de tratamento de dados,\n em conformidade com os artigos 42 ao 45 da Lei Geral de Proteção de Dados.\n Nos comprometemos em manter esta Política de Privacidade atualizada, observando suas disposições e\n zelando por seu cumprimento.\n Além disso, também assumimos o compromisso de buscar condições técnicas e organizativas\n seguramente aptas a proteger todo o processo de tratamento de dados.\n Caso a Autoridade Nacional de Proteção de Dados exija a adoção de providências em relação ao\n tratamento de dados realizado pela Idiomas Tec, comprometemo-nos a segui-las.\n \n \n 10.1 Isenção de responsabilidade\n \n \n \n Conforme mencionado no Tópico 6, embora adotemos elevados padrões de segurança a fim de evitar\n incidentes, não há nenhuma página virtual inteiramente livre de riscos. Nesse sentido, a Idiomas Tec não\n se responsabiliza por:\n \n \n I – Quaisquer consequências decorrentes da negligência, imprudência ou imperícia dos usuários em\n relação a seus dados individuais. Garantimos e nos responsabilizamos apenas pela segurança dos\n processos de tratamento de dados e do cumprimento das finalidades descritas no presente instrumento.\n Destacamos que a responsabilidade em relação à confidencialidade dos dados de acesso é do usuário.\n \n \n II – Ações maliciosas de terceiros, como ataques de hackers, exceto se comprovada conduta culposa ou\n deliberada da Idiomas Tec. Destacamos que em caso de incidentes de segurança que possam gerar risco\n ou dano relevante para você ou qualquer um de nossos usuários/clientes, comunicaremos aos afetados\n e a Autoridade Nacional de Proteção de Dados sobre o ocorrido e cumpriremos as providências\n necessárias.\n \n \n III – Inveracidade das informações inseridas pelo usuário/cliente nos registros necessários para a\n utilização dos serviços da Idiomas Tec; quaisquer consequências decorrentes de informações falsas ou\n inseridas de má-fé são de inteiramente responsabilidade do usuário/cliente.\n \n \n \n 11. Encarregado de Proteção de Dados\n \n \n \n A Idiomas Tec disponibiliza o seguinte meio para que você possa entrar em contato conosco para exercer\n seus direitos de titular: link de comentários dentro da própria Loja da AppleStore e e-mail da Idiomas Tec.\n Caso tenha dúvidas sobre esta Política de Privacidade ou sobre os dados pessoais que tratamos, você\n pode entrar em contato com o nosso Encarregado de Proteção de Dados Pessoais, através dos seguintes\n canais:\n \n \n .Nome: Carlos Gomes de Oliveira - CPF 256.661.058-41\n \n \n .E-mail: englishforprogrammers@gmail.com\n \n \n \n);\n\nexport default PoliticPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\n\n// styles\nexport const Container = styled.div`\n background-color: ${colors.basic.white};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n flex-direction: column;\n padding: 20px;\n`;\n\nexport const Title = styled.text`\n color: gray;\n font-size: 24px;\n margin-bottom: 10px;\n font-weight: bold;\n`;\n\nexport const Subtitle = styled.text`\n color: gray;\n font-size: 18px;\n margin-bottom: 10px;\n`;\n\nexport const Text = styled.text`\n color: gray;\n font-size: 14px;\n margin-bottom: 10px;\n`;\n\nexport const Column = styled.div`\n display: flex;\n flex-direction: column;\n`;\n","/* eslint-disable max-len */\n// libraries\nimport React from 'react';\nimport {\n Container, Text, Title, Subtitle, Column,\n} from './styles';\n\nconst PoliticEsPage: React.FC = () => (\n \n Política de Privacidad\n \n En Idiomas Tec, la privacidad y seguridad son prioridades y estamos comprometidos con la\n transparencia en el tratamiento de datos personales de nuestros usuarios/clientes. Por ello, esta\n Política de Privacidad establece cómo se realiza la recolección, uso y transferencia de\n información de clientes u otras personas que accedan o utilicen nuestra aplicación.\n Al utilizar nuestros servicios, usted entiende que recopilaremos y utilizaremos su información\n personal de las formas descritas en esta Política, bajo las normas de Protección de Datos (LGPD,\n Ley Federal 13.709/2018), las disposiciones del consumidor de la Ley Federal 8078/1990 y las\n demás normas del ordenamiento jurídico brasileño aplicables.\n De esta manera, Carlos Gomes de Oliveira, en adelante denominada simplemente como Idiomas\n Tec, inscrita en el CNPJ bajo el nº 41.750.051/0001-18, en el papel de Controlador de Datos, se\n compromete a lo dispuesto en esta Política de Privacidad.\n \n 1. ¿Qué datos recopilamos sobre usted y con qué finalidad?\n \n Nuestra aplicación recopila y utiliza algunos datos personales suyos, para hacer viable la\n prestación de servicios y mejorar la experiencia de uso.\n {' '}\n \n 1.1. Datos personales proporcionados por el titular \n \n \n .Nombre.\n \n \n .Correo electrónico.\n \n \n 1.2. Datos personales recopilados automáticamente \n \n \n .Nombre, al momento del registro, el nombre es necesario para la identificación personal\n en la aplicación\n \n \n .Correo electrónico, al momento del registro, el correo electrónico proporcionado se\n convierte en el inicio de sesión para acceder a la aplicación y para la recuperación de\n contraseñas perdidas/olvidadas.\n \n \n 2. ¿Cómo recopilamos sus datos?\n \n \n En este sentido, la recolección de sus datos personales ocurre de la siguiente manera:\n \n \n .Después de descargar la aplicación e instalarla, el usuario proporciona su nombre y correo\n electrónico al registrarse, para que pueda comenzar a utilizar la aplicación.\n \n \n 2.1. Consentimiento\n \n Es a partir de su consentimiento que tratamos sus datos personales. El consentimiento es la\n manifestación libre, informada e inequívoca por la cual usted autoriza a Idiomas Tec a tratar sus\n datos.\n Así, en consonancia con la Ley General de Protección de Datos, sus datos solo serán\n recopilados, tratados y almacenados mediante previo y expreso consentimiento.\n Su consentimiento se obtendrá de manera específica para cada finalidad mencionada\n anteriormente, evidenciando el compromiso de transparencia y buena fe de Idiomas Tec hacia\n sus usuarios/clientes, siguiendo las regulaciones legislativas pertinentes.\n Al utilizar los servicios de Idiomas Tec y proporcionar sus datos personales, usted está\n consciente y consiente con las disposiciones de esta Política de Privacidad, además de conocer\n sus derechos y cómo ejercerlos.\n En cualquier momento y sin costo alguno, puede revocar su consentimiento.\n Es importante destacar que la revocación del consentimiento para el tratamiento de datos puede\n implicar la imposibilidad del funcionamiento adecuado de alguna funcionalidad de la aplicación\n que dependa de esta operación. Tales consecuencias se informarán previamente.\n \n 3. ¿Cuáles son sus derechos?\n \n \n Idiomas Tec garantiza a sus usuarios/clientes sus derechos de titular previstos en el artículo 18\n de la Ley General de Protección de Datos. De esta forma, puede, de manera gratuita y en\n cualquier momento:\n \n \n .Confirmar la existencia de tratamiento de datos, de manera simplificada o en formato claro\n y completo.\n \n \n .Acceder a sus datos, pudiendo solicitarlos en una copia legible en forma impresa o por\n medio electrónico, seguro y adecuado.\n \n \n .Corregir sus datos, solicitando la edición, corrección o actualización de los mismos.\n \n \n .Limitar sus datos cuando sean innecesarios, excesivos o tratados en desacuerdo con la\n legislación mediante anonimización, bloqueo o eliminación.\n \n \n .Solicitar la portabilidad de sus datos, a través de un informe de datos de registro que\n Idiomas Tec trata sobre usted.\n \n \n .Eliminar sus datos tratados a partir de su consentimiento, excepto en casos previstos por\n ley.\n \n \n .Revocar su consentimiento, desautorizando el tratamiento de sus datos.\n \n \n .Informarse sobre la posibilidad de no proporcionar su consentimiento y las consecuencias\n de la negativa.\n \n \n 4. ¿Cómo puede ejercer sus derechos como titular? \n \n \n Para ejercer sus derechos como titular, debe ponerse en contacto con Idiomas Tec a través de\n los siguientes medios disponibles:\n \n \n .Enlace de comentarios dentro de las propias tiendas de la App Store y Google Play.\n \n \n .Correo electrónico de Idiomas Tec.\n \n \n Para garantizar su correcta identificación como titular de los datos personales objeto de la\n solicitud, es posible que le pidamos documentos u otras pruebas que puedan comprobar su\n identidad. En este caso, será informado previamente.\n \n \n \n 5. ¿Cómo y por cuánto tiempo se almacenan sus datos?\n \n \n \n Sus datos personales recopilados por Idiomas Tec se utilizarán y almacenarán durante el tiempo\n necesario para la prestación del servicio o para que se logren los objetivos descritos en esta\n Política de Privacidad, teniendo en cuenta los derechos de los titulares de los datos y de los\n controladores.\n En general, sus datos se mantendrán mientras dure la relación contractual entre usted e Idiomas\n Tec. Una vez finalizado el período de almacenamiento de los datos personales, serán eliminados\n de nuestras bases de datos o anonimizados, excepto en casos previstos por ley.\n El almacenamiento de datos recopilados por Idiomas Tec refleja nuestro compromiso con la\n seguridad y la privacidad de sus datos. Empleamos medidas y soluciones técnicas de protección\n que garantizan la confidencialidad, integridad e inviolabilidad de sus datos. Además, también\n contamos con medidas de seguridad adecuadas a los riesgos y con control de acceso a la\n información almacenada.\n \n \n \n 6. ¿Qué hacemos para mantener sus datos seguros?\n \n \n \n Para mantener sus datos personales seguros, utilizamos herramientas físicas, electrónicas y\n gerenciales orientadas a la protección de su privacidad.\n Aplicamos estas herramientas teniendo en cuenta la naturaleza de los datos personales\n recopilados, el contexto y el propósito del tratamiento y los riesgos que eventuales violaciones\n podrían generar para los derechos y libertades del titular de los datos recopilados y tratados.\n Entre las medidas que adoptamos, destacamos las siguientes:\n \n \n .Solo personas autorizadas tendrán acceso a sus datos personales.\n \n \n .El acceso a sus datos personales solo se hará después de firmar el compromiso de\n confidencialidad.\n \n \n .Sus datos personales se almacenarán en un entorno seguro y adecuado.\n \n \n Idiomas Tec se compromete a adoptar las mejores prácticas para evitar incidentes de seguridad.\n Sin embargo, es necesario destacar que ninguna plataforma virtual es completamente segura y\n libre de riesgos. Es posible que, a pesar de todos nuestros protocolos de seguridad, problemas\n debidos exclusivamente a terceros ocurran, como ataques cibernéticos de hackers, o también\n debido a la negligencia o imprudencia del propio usuario/cliente.\n En caso de incidentes de seguridad que puedan generar riesgo o daño relevante para usted o\n cualquier otro de nuestros usuarios/clientes, informaremos a los afectados y a la Autoridad\n Nacional de Protección de Datos sobre lo ocurrido, en consonancia con las disposiciones de la\n Ley General de Protección de Datos.\n \n \n \n 7. ¿Con quién pueden compartirse sus datos?\n \n \n \n Con el objetivo de preservar su privacidad, Idiomas Tec no compartirá sus datos personales con\n ningún tercero no autorizado. En este momento, Idiomas Tec no cuenta con ningún socio\n comercial.\n \n \n Además, también existen otras circunstancias en las que sus datos pueden ser compartidos,\n como:\n {' '}\n \n \n I – Determinación legal, solicitud, requerimiento u orden judicial por parte de autoridades\n judiciales, administrativas o gubernamentales competentes.\n\n \n \n II – En caso de movimientos societarios, como fusiones, adquisiciones y fusiones, de forma\n automática.\n {' '}\n \n \n III – Protección de los derechos de Idiomas Tec en cualquier tipo de conflicto, incluidos los de\n naturaleza judicial.\n {' '}\n \n \n \n 7.1. Transferencia internacional de datos\n \n \n Algunos de los terceros con quienes compartimos sus datos pueden estar ubicados o tener\n instalaciones en países extranjeros. En estas condiciones, de todas maneras, sus datos\n personales estarán sujetos a la Ley General de Protección de Datos y demás legislaciones\n brasileñas de protección de datos.\n En este sentido, Idiomas Tec se compromete a adoptar siempre estándares eficientes de\n seguridad cibernética y de protección de datos, con los mejores esfuerzos para garantizar y\n cumplir con las exigencias legislativas.\n Al aceptar esta Política de Privacidad, acepta este tipo de compartimiento, que se realizará de\n acuerdo con las finalidades descritas en este documento.\n \n \n 8. Cookies o datos de navegación\n \n \n Idiomas Tec no usa Cookies, que son archivos de texto enviados por la plataforma a su\n computadora y que se almacenan en ella, que contienen información relacionada con la\n navegación del sitio.\n \n \n 9. Modificación de esta Política de Privacidad\n \n \n La versión actual de la Política de Privacidad fue formulada y actualizada por última vez el 25 de\n abril de 2024.\n Nos reservamos el derecho de modificar esta Política de Privacidad en cualquier momento,\n principalmente debido a cambios realizados en nuestra aplicación o en el ámbito legislativo.\n Recomendamos que la revise con frecuencia.\n Cualquier cambio entrará en vigor a partir de su publicación en las tiendas donde la aplicación\n esté disponible y siempre le notificaremos sobre los cambios realizados.\n Al utilizar nuestros servicios y proporcionar sus datos personales después de tales\n modificaciones, usted consiente con ellas\n \n \n 10. Responsabilidad\n \n \n Idiomas Tec prevé la responsabilidad de los agentes que actúan en los procesos de tratamiento\n de datos, de conformidad con los artículos 42 al 45 de la Ley General de Protección de Datos.\n Nos comprometemos a mantener esta Política de Privacidad actualizada, observando sus\n disposiciones y cuidando de su cumplimiento.\n Además, también asumimos el compromiso de buscar condiciones técnicas y organizativas\n adecuadas para proteger todo el proceso de tratamiento de datos.\n Si la Autoridad Nacional de Protección de Datos exige la adopción de medidas en relación con\n el tratamiento de datos realizado por Idiomas Tec, nos comprometemos a seguirlas.\n \n \n 10.1 Exención de responsabilidad\n \n \n \n Como se menciona en el Tópico 6, aunque adoptamos altos estándares de seguridad para evitar\n incidentes, no hay ninguna página virtual completamente libre de riesgos. En este sentido,\n Idiomas Tec no se hace responsable de:\n \n \n I – Cualquier consecuencia derivada de la negligencia, imprudencia o impericia de los usuarios\n en relación con sus datos individuales. Garantizamos y nos hacemos responsables únicamente\n de la seguridad de los procesos de tratamiento de datos y del cumplimiento de las finalidades\n descritas en este documento.\n Cabe destacar que la responsabilidad en cuanto a la confidencialidad de los datos de acceso es\n del usuario.\n \n \n II – Acciones maliciosas de terceros, como ataques de hackers, excepto si se comprueba la\n conducta culposa o deliberada de Idiomas Tec. Destacamos que, en caso de incidentes de\n seguridad que puedan generar riesgo o daño relevante para usted o cualquier otro de nuestros\n usuarios/clientes, informaremos a los afectados y a la Autoridad Nacional de Protección de Datos\n sobre lo ocurrido y cumpliremos con las medidas necesarias.\n \n \n III – Inexactitud de la información ingresada por el usuario/cliente en los registros necesarios para\n la utilización de los servicios de Idiomas Tec; cualquier consecuencia derivada de información\n falsa o ingresada de mala fe es totalmente responsabilidad del usuario/cliente.\n \n \n \n 11. Encargado de Protección de Datos\n \n \n \n Idiomas Tec proporciona el siguiente medio para que pueda ponerse en contacto con nosotros\n para ejercer sus derechos de titular: enlace de comentarios dentro de las propias tiendas de la\n App Store y Google Play, así como por medio del correo electrónico de Idiomas Tec.\n Si tiene alguna pregunta sobre esta Política de Privacidad o sobre los datos personales que\n tratamos, puede ponerse en contacto con nuestro Encargado de Protección de Datos Personales\n a través de los siguientes canales:\n \n \n Carlos Gomes de Oliveira=\n \n Razón Social: Idiomas Tec \n \n Dirección: Estrada das Lágrimas, nº 3.621, São Paulo/SP, CEP 04244-000\n Correo electrónico: contacto@idiomastec.com\n \n \n .CNPJ: 41.750.051/0001-18.\n \n \n \n);\n\nexport default PoliticEsPage;\n","// libraries\nimport styled from 'styled-components';\n\n// js\nimport colors from '../../styles/colors';\nimport consts from '../../utils/consts';\n\n// interfaces\ninterface ButtonActionInterface {\n backgroundColor: boolean,\n enabledPointer: boolean,\n}\n\n// styles\nexport const ButtonAction = styled.button`\n background-color: ${(props) => (props.backgroundColor ? colors.theme.red : colors.basic.gray)};\n cursor: ${(props) => (props.enabledPointer ? 'pointer' : 'auto')};\n border-radius: 5px;\n border-width: 0px;\n color: ${colors.basic.white};\n font-size: 20px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n margin-top: 20px;\n min-height: 45px;\n min-width: 100%;\n transition: all ease .4s;\n :hover {\n opacity: ${(props) => (props.enabledPointer ? 0.8 : 1)};\n }\n`;\n\nexport const BoxInputs = styled.div`\n align-items: center;\n background-color: ${colors.basic.white};\n border-radius: 20px;\n display: flex;\n flex-direction: column;\n margin-bottom: 30px;\n margin-top: 30px;\n min-width: 50%;\n padding: 50px 50px 50px 50px;\n`;\n\nexport const CheckBox = styled.input`\n align-self: flex-start;\n height: 20px;\n width: 20px;\n`;\n\nexport const Container = styled.div`\n align-items: center;\n background-color: ${colors.theme.blue};\n display: flex;\n flex: 1;\n justify-content: center;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n`;\n\nexport const ContainerCheckBox = styled.div`\n align-items: center;\n align-self: flex-start;\n background-color: ${colors.basic.white};\n cursor: pointer;\n display: flex;\n height: 20px;\n justify-items: center;\n margin-top: 20px;\n`;\n\nexport const InputAuth = styled.input`\n background-color: ${colors.basic.white};\n color: ${colors.basic.gray};\n border: none;\n font-size: 16px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n min-height: 40px;\n min-width: 92%;\n outline: 0px;\n padding-left: 10px;\n transition: all ease .4s;\n :focus {\n color: ${colors.basic.black};\n }\n`;\n\nexport const Title = styled.h1`\n color: ${colors.basic.black};\n font-size: 50px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-bottom: 30px;\n`;\n\nexport const TitleInputAuth = styled.h1`\n align-self: flex-start;\n color: ${colors.basic.black};\n font-size: 20px;\n font-weight: ${consts.getFontWeight('Lato-Bold')};\n padding-bottom: 15px;\n padding-top: 15px;\n`;\n\nexport const TitleRemember = styled.h1`\n color: ${colors.basic.black};\n font-size: 18px;\n font-weight: ${consts.getFontWeight('Lato-Regular')};\n padding-left: 10px;\n`;\n\nexport const InputIconview = styled.div`\n min-height: 40px;\n min-width: 100%;\n border: 2px solid gray;\n border-radius: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const ImageView = styled.img`\n float: left;\n margin-right: 20px;\n width: 24px;\n border: none;\n cursor: pointer;\n\n`;\n\nexport const InputIconEnvelope = styled.img`\n float: left;\n margin-right: 20px;\n width: 24px;\n border: none;\n`;\n","/* eslint-disable no-alert */\n// libraries\nimport React, { useEffect, useState } from 'react';\nimport { Alert } from '@material-ui/lab';\n\n// js\nimport {\n BoxInputs,\n ButtonAction,\n Container,\n InputAuth,\n Title,\n TitleInputAuth,\n ImageView,\n InputIconview,\n} from './deleteAccountStyles';\nimport auth from '../../services/auth';\n\n// Images\nimport viewOn from '../../assets/images/viewOn.svg';\nimport viewOff from '../../assets/images/viewOff.svg';\nimport envelope from '../../assets/images/envelope.svg';\n\n// components\nimport ModalLoading from '../../components/ModalLoading';\nimport users from '../../services/users';\n\n// interfaces\ninterface FormUserInterface {\n email: string,\n password: string,\n}\n\nconst DeleteAccountPage: React.FC = () => {\n // consts\n const adjustAlert = { alignSelf: 'flex-start', marginTop: 10 };\n const initialFormUser = {\n email: '',\n password: '',\n };\n\n const [focusPassword, setFocusPassword] = useState(false);\n const [activeLoading, setActiveLoading] = useState(false);\n const [messageAlert, setMessageAlert] = useState('');\n\n const [formUser, setFormUser] = useState(initialFormUser);\n const [verifyButton, setVerifyButton] = useState(false);\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n // useEffect\n useEffect(() => {\n const validatePassword = formUser.password.length >= 6;\n const validateEmail = re.test(String(formUser.email).toLowerCase());\n const validateButton = validatePassword && validateEmail;\n setVerifyButton(validateButton);\n }, [formUser]);\n\n // methods\n const onChangeEmail = (e: React.ChangeEvent) => {\n setFormUser({ ...formUser, email: e.target.value });\n };\n\n const onChangePassword = (e: React.ChangeEvent) => {\n setFormUser({ ...formUser, password: e.target.value });\n };\n\n const Login = async () => {\n try {\n if (formUser.email && formUser.password) {\n setActiveLoading(true);\n const applicationType = window.location.pathname.split('/')[1];\n const sign = await auth.Login(formUser.email, formUser.password, 'client', applicationType);\n const removeAccount: any = await users.DeleteUsers(\n sign.result.idUser,\n sign.result.token,\n );\n if (removeAccount?.status === 200) {\n alert(removeAccount?.message || 'Conta excluída!');\n setFormUser(initialFormUser);\n } else {\n alert(removeAccount?.message || 'Ocorreu um erro ao excluir a conta!');\n }\n setActiveLoading(false);\n } else {\n setMessageAlert('Preencha todos os campos.');\n }\n } catch (error) {\n setActiveLoading(false);\n }\n };\n\n const EnabledFocusEmail = () => {\n setFocusPassword(false);\n };\n\n const EnabledFocusPassword = () => {\n setFocusPassword(true);\n };\n\n const KeyUpInputs = (value: React.KeyboardEvent) => {\n const { key } = value;\n if (key === 'Enter' && !focusPassword) {\n return setFocusPassword(true);\n }\n if (key === 'Enter' && focusPassword) {\n return Login();\n }\n return null;\n };\n\n const [verification, setVerification] = useState(false);\n\n const ViewPassword = () => {\n setVerification(!verification);\n };\n\n // renders\n return (\n \n \n \n Excluir conta\n E-mail\n \n \n \n \n Senha\n \n \n \n \n {messageAlert !== '' ? (\n \n ) : null}\n \n Excluir conta\n \n \n \n );\n};\n\nexport default DeleteAccountPage;\n","// libraries\nimport React from 'react';\nimport { AnimatedSwitch } from 'react-router-transition';\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\n\n// pages\nimport AuthPage from '../pages/Auth/AuthPage';\nimport CategoryPage from '../pages/Category/CategoryPage';\nimport ModulesPage from '../pages/Modules/ModulesPage';\nimport PlansPage from '../pages/Plans/PlansPage';\nimport UsersPage from '../pages/Users/UsersPage';\nimport FinancePage from '../pages/Finance/FinancePage';\nimport FunctionalitiesPage from '../pages/Functionalities/FunctionalitiesPage';\nimport HistoricPage from '../pages/Historic/HistoricPage';\nimport EmailsPage from '../pages/Emails/EmailsPage';\nimport PoliticPage from '../pages/Politic';\nimport PoliticEsPage from '../pages/PoliticEs';\nimport DeleteAccountPage from '../pages/DeleteAccount/DeleteAccountPage';\n\nconst Routes: React.FC = () => {\n // constants\n const opacityMax = { opacity: 1 };\n const opacityMin = { opacity: 0 };\n\n // routes\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Routes;\n","// libraries\nimport React from 'react';\nimport { BrowserRouter } from 'react-router-dom';\n\n// js\nimport GlobalStyle from './styles/global';\nimport Routes from './routes';\n\nconst App: React.FC = () => (\n <>\n \n \n \n \n \n);\n\nexport default App;\n","// libraries\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\n// js\nimport App from './App';\n\n// methods\nfunction renderElement() {\n return (\n \n \n \n );\n}\n\n// render\nReactDOM.render(renderElement(), document.getElementById('root'));\n"],"sourceRoot":""}