{"version":3,"sources":["context/Theming/index.tsx","context/Authentication/auth.context.tsx","context/Authentication/hooks/useAuth.tsx","services/api.ts","services/logout.ts","components/layout/AppDrawer/index.tsx","components/layout/AppMain/index.tsx","components/layout/AppHeader/index.tsx","utils/notification.tsx","context/Modal/modal.context.tsx","context/Modal/hooks/useModal.tsx","components/Modal/ModalHeader/index.tsx","components/Tabelas/TabelaCandidaturas/TabelaCandidaturasAdministrador.tsx","pages/Private/Candidaturas/CandidaturasAdministrador.tsx","components/Tabelas/reload.context.tsx","services/crud/crud.empresa.ts","services/crud/crud.usuario.ts","utils/mask.ts","components/Tabelas/hooks/useReload.tsx","components/Formularios/Alteracoes/FormularioAlteracaoEmpresa/FormularioAlteracaoEmpresa.view.tsx","components/Formularios/Alteracoes/FormularioAlteracaoEmpresa/index.tsx","components/Modal/ModalAlteracao/ModalAlteracaoEmpresa/ModalAlteracoesEmpresa.view.tsx","components/Modal/ModalAlteracao/ModalAlteracaoEmpresa/index.tsx","components/Formularios/Cadastro/FormularioCadastroEmpresa/FormularioCadastroEmpresa.view.tsx","components/Formularios/Cadastro/FormularioCadastroEmpresa/index.tsx","components/Modal/ModalCadastro/ModalCadastroEmpresa/ModalCadastroEmpresa.view.tsx","components/Modal/ModalCadastro/ModalCadastroEmpresa/index.tsx","components/Modal/ModalDelete/ModalDeleteEmpresa/ModalDeleteEmpresa.view.tsx","components/Modal/ModalDelete/ModalDeleteEmpresa/index.tsx","utils/transition.tsx","components/Detalhes/DetalhesEmpresa/DetalhesEmpresa.view.tsx","components/Detalhes/DetalhesEmpresa/index.tsx","components/Modal/ModalDetalhes/ModalDetalhesEmpresa/ModalDetalhesEmpresa.view.tsx","components/Modal/ModalDetalhes/ModalDetalhesEmpresa/index.tsx","components/Tabelas/TabelaEmpresas/TabelaEmpresas.view.tsx","components/Tabelas/TabelaEmpresas/index.tsx","pages/Private/Empresas/index.tsx","pages/Private/MeuCurriculo/context/index.tsx","pages/Private/MeuCurriculo/components/Eventos/EventoForm.tsx","pages/Private/MeuCurriculo/components/Eventos/Evento.tsx","pages/Private/MeuCurriculo/components/Eventos/index.tsx","pages/Private/MeuCurriculo/hooks/Profile/useProfile.tsx","context/PalcoProfissional/index.tsx","pages/Private/MeuCurriculo/components/Perfil/PerfilForm.tsx","pages/Private/MeuCurriculo/components/ExperienciasProfissionais/ExperienciaProfissionalForm.tsx","pages/Private/MeuCurriculo/components/ExperienciasProfissionais/ExperienciaProfissional.tsx","pages/Private/MeuCurriculo/components/ExperienciasProfissionais/index.tsx","pages/Private/MeuCurriculo/components/Perfil/index.tsx","pages/Private/MeuCurriculo/components/SkillsChart/SkillsChart.tsx","pages/Private/MeuCurriculo/components/TabsComponent/TabsComponent.tsx","pages/Private/MeuCurriculo/index.tsx","services/crud/crud.orientacoes.ts","pages/Private/OrientacoesAdmin/index.tsx","services/crud/crud.tiposContrato.ts","components/Formularios/Alteracoes/FormularioAlteracaoTiposContrato/FormularioAlteracaoTiposContrato.view.tsx","components/Formularios/Alteracoes/FormularioAlteracaoTiposContrato/index.tsx","components/Modal/ModalAlteracao/ModalAlteracaoTiposContrato/ModalAlteracaoTiposContrato.view.tsx","components/Modal/ModalAlteracao/ModalAlteracaoTiposContrato/index.tsx","components/Formularios/Cadastro/FormularioCadastroTiposContrato/FormularioCadastroTiposContrato.view.tsx","components/Formularios/Cadastro/FormularioCadastroTiposContrato/index.tsx","components/Modal/ModalCadastro/ModalCadastroTiposContrato/ModalCadastroTiposContrato.view.tsx","components/Modal/ModalCadastro/ModalCadastroTiposContrato/index.tsx","components/Modal/ModalDelete/ModalDeleteTipoContrato/ModalDeleteTipoContrato.view.tsx","components/Modal/ModalDelete/ModalDeleteTipoContrato/index.tsx","components/Detalhes/DetalhesTipoContrato/DetalhesTipoContrato.view.tsx","components/Detalhes/DetalhesTipoContrato/index.tsx","components/Modal/ModalDetalhes/ModalDetalhesTipoContrato/ModalDetalhesTipoContrato.view.tsx","components/Modal/ModalDetalhes/ModalDetalhesTipoContrato/index.tsx","components/Tabelas/TabelaTiposContrato/TabelaTiposContrato.view.tsx","components/Tabelas/TabelaTiposContrato/index.tsx","pages/Private/TiposContrato/index.tsx","utils/funcoes-globais.ts","services/crud/crud.nivelUsuario.ts","components/Formularios/Alteracoes/FormularioAlteracaoUsuario/FormularioAlteracaoUsuario.view.tsx","components/Formularios/Alteracoes/FormularioAlteracaoUsuario/index.tsx","components/Modal/ModalAlteracao/ModalAlteracaoUsuario/ModalAlteracaoUsuario.view.tsx","components/Modal/ModalAlteracao/ModalAlteracaoUsuario/index.tsx","components/Formularios/Cadastro/FormularioCadastroUsuario/FormularioCadastroUsuario.view.tsx","components/Formularios/Cadastro/FormularioCadastroUsuario/index.tsx","components/Modal/ModalCadastro/ModalCadastroUsuario/ModalCadastroUsuario.view.tsx","components/Modal/ModalCadastro/ModalCadastroUsuario/index.tsx","components/Modal/ModalDelete/ModalDeleteUsuario/ModalDeleteUsuario.view.tsx","components/Modal/ModalDelete/ModalDeleteUsuario/index.tsx","components/Detalhes/DetalhesUsuario/DetalhesUsuario.view.tsx","components/Detalhes/DetalhesUsuario/index.tsx","components/Modal/ModalDetalhes/ModalDetalhesUsuario/ModalDetalhesUsuario.view.tsx","components/Modal/ModalDetalhes/ModalDetalhesUsuario/index.tsx","components/Tabelas/TabelaUsuarios/TabelaUsuarios.view.tsx","components/Tabelas/TabelaUsuarios/index.tsx","pages/Private/Usuarios/index.tsx","services/crud/crud.vaga.ts","services/crud/crud.areaConhecimento.ts","components/Formularios/Alteracoes/FormularioAlteracaoVaga/FormularioAlteracaoVaga.view.tsx","components/Formularios/Alteracoes/FormularioAlteracaoVaga/index.tsx","components/Modal/ModalAlteracao/ModalAlteracaoVaga/ModalAlteracaoVaga.view.tsx","components/Modal/ModalAlteracao/ModalAlteracaoVaga/index.tsx","components/Formularios/Cadastro/FormularioCadastroVaga/FormularioCadastroVaga.view.tsx","components/Formularios/Cadastro/FormularioCadastroVaga/index.tsx","components/Modal/ModalCadastro/ModalCadastroVaga/ModalCadastroVaga.view.tsx","components/Modal/ModalCadastro/ModalCadastroVaga/index.tsx","components/Modal/ModalDelete/ModalDeleteVaga/ModalDeleteVaga.view.tsx","components/Modal/ModalDelete/ModalDeleteVaga/index.tsx","components/Detalhes/DetalhesVaga/DetalhesVaga.view.tsx","components/Detalhes/DetalhesVaga/index.tsx","components/Modal/ModalDetalhes/ModalDetalhesVaga/ModalDetalheVaga.view.tsx","components/Modal/ModalDetalhes/ModalDetalhesVaga/index.tsx","components/Tabelas/TabelaVagas/TabelaVagas.view.tsx","components/Tabelas/TabelaVagas/index.tsx","pages/Private/Vagas/index.tsx","pages/Public/NotFound/index.tsx","services/signup.ts","services/terms/index.ts","components/Formularios/Cadastro/FormComponent/index.tsx","components/Formularios/FormularioSignUp/FormularioSignUp.view.tsx","components/Formularios/FormularioSignUp/index.tsx","context/SignUp/signUp.context.tsx","pages/Public/SignUp/index.tsx","routes/Admin.router.tsx","components/layout/AppFooter/index.tsx","components/layout/AppHeaderStudent/index.tsx","components/Detalhes/DetalhesVagaAluno/index.tsx","pages/Private/PalcoProfissional/filemanager.ts","components/Tabelas/TabelaCandidaturas/index.tsx","pages/Private/HomePage/components/HomePageItemView/HomePageItemCardView.tsx","pages/Private/HomePage/components/HomePageItemView/HomePageItemListView.tsx","pages/Private/HomePage/components/HomePageItemView/index.tsx","pages/Private/Candidaturas/CandidaturasAluno.tsx","context/HomePage/index.tsx","pages/Private/HomePage/components/HomePageDetailsDialog.tsx","pages/Private/HomePage/components/HomePageBackdrop.tsx","pages/Private/HomePage/components/HomePageRoot.tsx","pages/Private/HomePage/components/HomePageSearchForm.tsx","pages/Private/HomePage/components/HomePageShowCardView.tsx","pages/Private/HomePage/components/HomePageShowListView.tsx","pages/Private/HomePage/components/HomePageTermsDialog.tsx","pages/Private/HomePage/index.tsx","pages/Private/HomePage/HomePage.tsx","pages/Private/MinhasVagasFavoritas/index.tsx","pages/Private/OrientacoesAluno/cards.tsx","pages/Private/OrientacoesAluno/index.tsx","context/PalcoProfissionalPage/PalcoProfissionalRoot.context.tsx","context/session/SessionContext.tsx","context/session/SessionHook.tsx","context/PalcoProfissionalPage/PalcoProfissionalRoot.context.provider.tsx","pages/Private/PalcoProfissional/audition/activity.service.ts","pages/Private/PalcoProfissional/dialogs/MiniInfo/index.tsx","pages/Private/PalcoProfissional/banner/index.tsx","pages/Private/PalcoProfissional/styles.ts","pages/Private/PalcoProfissional/tables/ActivityTableHeader.tsx","pages/Private/PalcoProfissional/audition.service.ts","pages/Private/PalcoProfissional/tables/context/index.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog/ActivityViewerDialogBiometrics.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog/ActivityViewerDialogFeedback.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog/ActivityViewerDialogFooter.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog/ActivityViewerDialogHeader.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog/ActivityViewerDialogHeading.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog/ActivityViewerDialogSubmission.tsx","pages/Private/PalcoProfissional/dialogs/ActivityViewerDialog.tsx","pages/Private/PalcoProfissional/dialogs/DeleteActivityDialog.tsx","pages/Private/PalcoProfissional/tables/index.tsx","pages/Private/PalcoProfissional/tables/ActivityTableContainer.tsx","pages/Private/PalcoProfissional/tables/ActivityTableBodyContainer.tsx","pages/Private/PalcoProfissional/tables/ActivityTableRow.tsx","pages/Private/PalcoProfissional/tables/ActivityEmptyTableRow.tsx","pages/Private/PalcoProfissional/tables/ActivityTableRoot.tsx","pages/Private/PalcoProfissional/index.tsx","context/PalcoProfissionalPage/hooks/usePalcoProfissionalRoot.tsx","context/session/SessionProvider.tsx","pages/Private/PalcoProfissional/ProgressIndicator/index.tsx","pages/Private/PalcoProfissional/biometry/biometry.helper.ts","pages/Private/PalcoProfissional/biometry/biometry.service.ts","pages/Private/PalcoProfissional/service/lambda.ts","pages/Private/PalcoProfissional/audition/Rekognition.service.ts","pages/Private/PalcoProfissional/audition/audition.service.ts","pages/Private/PalcoProfissional/audition/audition.component.template.tsx","pages/Private/PalcoProfissional/audition/index.tsx","pages/Private/PalcoProfissional/mydata/constants.ts","pages/Private/PalcoProfissional/biometry/biometry.template.tsx","pages/Private/PalcoProfissional/biometry/index.tsx","routes/Aluno.router.tsx","pages/Private/Candidaturas/CandidaturasEmpresa.tsx","routes/Empresa.router.tsx","services/login.ts","components/Formularios/FormularioForgotPassword/FormularioForgotPassword.view.tsx","components/Formularios/FormularioForgotPassword/index.tsx","components/Formularios/FormularioLoginAluno/index.tsx","components/Formularios/FormularioRecoverPassword/FormularioRecoverPassword.view.tsx","components/Formularios/FormularioRecoverPassword/index.tsx","components/Formularios/FormularioLogin/FormularioLogin.view.tsx","components/Formularios/FormularioLogin/index.tsx","pages/Public/Login/index.tsx","pages/Public/SignIn/SignInAdministrador.tsx","pages/Public/SignIn/SignInAluno.tsx","routes/Public.router.tsx","routes/index.tsx","AppRoot.tsx","theme.ts","context/Drawer/drawer.context.tsx","App.tsx","index.tsx"],"names":["INIT_STATE","dark","setDark","ThemingContext","createContext","ThemingProvider","_ref","children","useState","useEffect","localStorage","getItem","JSON","parse","setItem","stringify","toString","_jsx","Provider","value","useTheming","useContext","DEFAULT_VALUE","auth","role","type","token","expires_at","user_id","student_id","has_terms","setAuth","AuthContext","AuthContextProvider","useAuthContext","api","axios","create","baseURL","process","timeout","headers","Accept","interceptors","response","use","error","status","setTimeout","toast","clear","window","location","href","Promise","reject","async","postLogout","post","undefined","Authorization","concat","then","catch","e","AppDrawer","open","drawerWidth","theme","navigate","handleDrawerClose","styles","handleLogout","menuIcon","Icon","Fragment","_jsxs","Drawer","variant","anchor","sx","width","flexShrink","boxSizing","Box","display","alignItems","justifyContent","gap","padding","backgroundColor","palette","primary","main","color","IconButton","onClick","src","alt","height","style","border","left","List","ListItem","ListItemButton","pathname","listItem","ListItemIcon","Home","ListItemText","Search","Bookmark","EmojiPeople","AssignmentInd","OndemandVideo","VideoCameraFront","People","_Fragment","Business","ManageSearch","DocumentScanner","BugReport","ExitToApp","AppMain","styled","shouldForwardProp","prop","_objectSpread","flexGrow","transition","transitions","easing","sharp","duration","leavingScreen","marginLeft","easeOut","enteringScreen","AppBar","MuiAppBar","AppHeader","_ref2","useTheme","breakpoint","useMediaQuery","breakpoints","down","useNavigate","setOpen","borderRadius","useLocation","elevation","bgcolor","background","paper","Toolbar","MenuIcon","flexDirection","Switch","checked","onChange","target","inputProps","Notification","textNotification","arguments","length","icon","PriorityHighIcon","fontFamily","handleOpen","handleClose","ModalContext","ModalContextProvider","React","useModalContext","ModalHeader","header","close","p","Typography","Close","TabelaCandidaturasAdministrador","applications","setApplications","history","candidatos","setCandidatos","video","setVideo","openVideo","setOpenVideo","data-testid","Paper","borderBottom","fontWeight","TextField","placeholder","size","searchTerm","toLowerCase","console","log","filtered","filter","application","some","c","student","user","name","includes","filtraCandidaturas","InputProps","startAdornment","InputAdornment","position","aria-label","TableContainer","className","Table","stickyHeader","TableHead","borderTop","TableRow","hover","tabIndex","TableCell","align","TableBody","map","opportunity","index","title","company","city","state","area","ra","Button","disableElevation","get","res","data","getVideoCurriculo","Delete","Checkbox","hired","disabled","Dialog","maxWidth","fullWidth","DialogContent","DialogActions","delete","id","err","finally","colSpan","rowSpan","textAlign","Videocam","mb","controls","autoPlay","muted","CandidaturasAdministrador","params","useParams","fullApplications","setFullApplications","getApplicationsByJobId","forEach","item","jobs","job","Array","isArray","prev","success","getApplications","Container","startIcon","ArrowBack","reload","setReload","handleReload","ReloadContext","ReloadContextProvider","getEmpresa","resolve","getEmpresaRepresentante","getEmpresas","pagina","_ref3","getAllEmpresas","_ref4","getEmpresasUsuario","idUsuario","_ref5","getEmpresasRepresentante","_ref6","getUsuarios","getAllUsuarios","getUsuario","maskCnpj","replace","useReloadContext","FormularioAlteracaoEmpresaView","idEmpresa","Number","register","handleSubmit","reset","getValues","setValue","control","formState","errors","useForm","mode","formValues","setFormValues","selectedField","setSelectedField","cnpj","files","setFiles","cover_image","logo_image","atualizacaoEmpresa","event","_data$cnpj","numero_registro","arrayDados","Object","entries","arrayFormValues","dataEmpresa","formData","FormData","key","FileList","append","put","Notify","putEmpresa","empresa","preventDefault","component","onSubmit","Grid","container","spacing","md","Controller","rules","required","render","_errors$name","_errors$name2","field","label","helperText","FormControl","Select","MenuItem","_errors$cnpj","_errors$cnpj2","_errors$cnpj3","_errors$cnpj4","_errors$area","_errors$area2","_errors$email_curricu","_errors$email_curricu2","email_curriculum","_errors$about","_errors$about2","multiline","rows","about","_ref7","InputLabelProps","shrink","mt","Input","htmlFor","marginTop","URL","createObjectURL","FormularioAlteracaoEmpresa","ModalAlteracoesEmpresaView","props","fullScreen","companieId","isActive","BorderColorIcon","AddBusiness","DialogContentText","ModalAlteracoesEmpresa","FormularioCadastroEmpresaView","_errors$rnp","_errors$rnp2","_errors$rnp3","setError","representantes","setRepresentantes","selectedFile","setSelectedFile","selectedCoverFile","setSelectedCoverFile","setCnpj","rnp","setRNP","cadastroEmpresa","postEmpresa","apiErrors","reduce","acc","rule","message","handleIsRepresentante","usuario","role_id","searchText","filteredRepresentantes","rep","email","d","site","employees_number","encType","_errors$user_id","Autocomplete","disablePortal","options","getOptionLabel","option","find","_event","newValue","onBlur","renderInput","exibirSeletor","Boolean","minRows","maxRows","defaultValue","handleFileSelect","handleCoverFileSelect","FormularioCadastroEmpresa","ModalCadastroEmpresaView","lg","up","float","AddIcon","Work","ModalCadastroEmpresa","ModalDeleteEmpresaView","idEmpresaDeletar","modalDelete","setModalDelete","enableDelete","setEnableDelete","handleNaoEDeletado","ConfirmDeletaEmpresa","deleteEmpresa","novoArrayEmpresas","dados","tableRows","empresas","setTableRows","active","is_active","handleDeletaEmpresa","DeleteForeverIcon","DialogTitle","marginRight","Warning","ModalDeleteEmpresa","Transition","forwardRef","ref","Slide","direction","ListaDetalhesEmpresaView","_empresa$about","setEmpresa","setUsuario","removeItem","match","line","ListaDetalhesEmpresa","ModalDetalhesEmpresaView","DescriptionIcon","onClose","TransitionComponent","keepMounted","aria-describedby","Store","ModalDetalhesEmpresa","TabelaEmpresasView","_dadosEmpresa$empresa","classes","makeStyles","select","borderColor","inputLabel","useStyles","paginacao","setPaginacao","selectValue","setSelectValue","dadosEmpresa","setDadosEmpresa","representante","setRepresentante","filterUser","meta","margin","InputLabel","_empresa$numero_regis","handleEmpresa","endIcon","Stack","Pagination","count","last_page","page","TabelaEmpresas","Empresas","MeuCurriculoContext","MeuCurriculoContextProvider","professionalExperiences","setProfessionalExperiences","eventos","setEventos","setStudent","profile","profile_picture","link_lattes","id_user","id_course","birthday","phone","cep","address","number","created_at","updated_at","events","course","id_knowledge_area","remember_me_token","signal","setSignal","gruposDeEvento","setGruposDeEvento","loadExperienciasProfissionais","experienciasUrl","loadEventos","eventosUrl","loadData","apiUrl","alert","table","group","eventType","id_event_type","push","getTiposDeEvento","useMeuCurriculo","EventoForm","evento","tiposDeEvento","setTiposDeEvento","keys","split","url","method","onUploadProgress","progressEvent","progress","Math","round","loaded","total","flexWrap","FormHelperText","_ref8","visibility","Evento","setSwitchValue","candidaturaModalStatus","setCandidaturaModalStatus","visible","sponsor","handleDelete","m","xs","Date","started","toLocaleDateString","finished","certificate","rel","textDecoration","Edit","FormGroup","FormControlLabel","handleUpdate","Eventos","sm","xl","jusitifyContent","Add","grupo","paddingLeft","fontSize","h","Divider","minHeight","PlaylistRemove","INITIAL_STATE","initial","taskReducer","payload","action","cursos","accessToken","PalcoProfissionalContext","PalcoProfissionalProvider","dispatch","useReducer","usePalcoProfissional","PerfilForm","_state$cursos$0$codig","_state$usuario$name","handleCloseProfileEditor","perfil","setProfile","studentUrl","curso","codigo_curso","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","maxLength","_ref16","Avatar","cursor","CameraAlt","ExperienciaProfissionalForm","experience","ExperienciaProfissional","company_name","department","description","ExperienciasProfissionais","loadProfile","useProfile","loadProfileById","openProfileEditor","setOpenProfileEditor","PersonAdd","maxHeight","overflowY","MeuPerfil","_student$student","_student$user","_student$user2","_student$student2","_student$student2$cou","_student$student3","_student$student4","_student$student5","_student$student6","_student$student7","_student$user3","_student$student$cour","_student$student8","_student$student8$cou","ManageAccounts","handleOpenProfileEditor","amber","word","charAt","toUpperCase","slice","join","CalendarMonth","Mail","Phone","School","ChartJS","BarElement","CategoryScale","LinearScale","Tooltip","Legend","SkillsChart","isSmallScreen","setIsSmallScreen","innerWidth","chartRef","useRef","handleResize","addEventListener","removeEventListener","chartData","labels","skill","descricao","datasets","carga_horaria_aproveitada","borderWidth","carga_horaria_maxima","responsive","maintainAspectRatio","indexAxis","plugins","tooltip","callbacks","context","raw","dataset","legend","scales","x","beginAtZero","max","y","ticks","animation","onComplete","current","chart","ctx","datasetIndex","getDatasetMeta","bar","roundedValue","xPos","yPos","fillText","containerStyle","Bar","TabsComponent","tabLabels","tabContents","selectedTab","setSelectedTab","Tabs","handleChange","scrollButtons","centered","Tab","MeuCurriculo","skillsData","setSkillsData","loading","setLoading","_data$usuario","_data$cursos","_data$cursos2","String","ra_aluno","id_matriz","cursosData","ultimoCurso","formattedData","flatMap","modalidades","modalidade","parseFloat","fetchSkillsData","putOrientations","banner_path","access_link","show","getOrientations","OrientacoesAdmin","_stateOrientations$da","_stateOrientations$me","_errors$banner_path","isMobile","ellipsisEnabled","setEllipsisEnabled","div","overflowX","borderCollapse","caption","pagination","Banner","Titulo","Descricao","CellCheckbox","CellBanner","CellTitulo","CellDescricao","whiteSpace","overflow","textOverflow","CellEdit","image","stateDrawer","setStateDrawer","dialog","stateOrientations","setStateOrientations","load","setLoad","refesh","setRefesh","clearErrors","setImage","inputRef","hancleTitle","setHancleTitle","timeoutId","handleImage","file","startsWith","reader","FileReader","onload","result","readAsDataURL","marginBottom","clearTimeout","SearchIcon","CircularProgress","itens","prevState","EditIcon","deleteOrientations","shape","request","postOrientations","_errors$title","_errors$title2","_errors$description","_errors$description2","_errors$access_link","_errors$access_link2","onDrop","dataTransfer","onDragOver","click","accept","getTiposContratos","getTipoContrato","FormularioAlteracaoTiposContratoView","idTipoContrato","textField","borderBottomColor","atualizacaoTipoContrato","putTipoContrato","FormularioAlteracaoTiposContrato","ModalAlteracaoTiposContratoView","tipoContratoId","ModalAlteracaoTiposContrato","FormularioCadastroTiposContratoView","cadastroTiposContrato","postTipoContrato","FormularioCadastroTiposContrato","FormularioCadastroTiposContratoview","ModalCadastroTiposContratoView","ModalCadastroTiposContrato","ModalDeleteTipoContratoView","idTipoContratoDeletar","tipoContrato","handleDeletarTipoContrato","deleteTipoContrato","novoArrayTiposContratos","tiposContratos","ModalDeleteTipoContrato","ListaDetalhesTipoContratoView","contrato","setContrato","ListaDetalhesTipoContrato","ModalDetalhesTipoContratoView","Help","ModalDetalhesTipoContrato","TabelaTiposContratoView","_tableRows$tiposContr","TabelaTiposContrato","TiposContrato","estaAtivo","verificarRole","getNiveisUsuario","FormularioAlteracaoUsuarioView","idUsuarioAlterar","niveisUsuario","setNiveisUsuario","atualizacaoUsuario","dataUsuarios","newDataUsuarios","fromEntries","putUsuario","_data$is_active","_data$role_id","_data$is_active2","_data$role_id2","getFuncaoPorExtenso","funcao","_errors$email","_errors$email2","_errors$role_id","_errors$role_id2","nivelUsuario","_errors$is_active","_errors$is_active2","FormularioAlteracaoUsuario","ModalAlteracaoUsuarioView","userId","userRoleId","ModalAlteracaoUsuario","FormularioCadastroUsuarioView","_errors$password","_errors$password2","_errors$password3","_errors$password4","_errors$passwordConfi","_errors$passwordConfi2","_errors$passwordConfi3","_errors$passwordConfi4","setRole","cadastroUsuario","senha","confirmacao","password","passwordConfirm","postUsuario","showPassword","setShowPassword","showPasswordConfirm","setShowPasswordConfirm","minLength","endAdornment","togglePasswordVisibility","prevShowPassword","Visibility","VisibilityOff","togglePasswordConfirmVisibility","FormularioCadastroUsuario","ModalCadastroUsuarioView","PeopleAlt","ModalCadastroUsuario","ModalDeleteUsuarioView","idUsuarioDeletar","ConfirmDeletaUsuario","deleteUsuario","novoArrayUsuarios","usuarios","companies","ModalDeleteUsuario","ListaDetalhesUsuarioView","purple","CheckCircle","ListaDetalhesUsuario","ModalDetalhesUsuarioView","PersonSearch","ModalDetalhesUsuario","TabelaUsuariosView","_tableRows$usuarios","fetchUsuarios","setSearchTerm","labelId","term","ml","Spinner","handleUsuario","AccountCircle","secondary","TabelaUsuarios","UsuariosUsuarios","getVagas","getVagasRepresentante","getVagasEmpresa","getVaga","getVagaRepresentante","getAreasConhecimento","FormularioAlteracaoVagaView","vaga","idVagaAlterar","areas","setAreas","setTiposContratos","atualizacaoVaga","dataVaga","newDataVaga","putVaga","companies_id","knowledge_areas_id","contract_types_id","remuneration_initial","remuneration_final","experience_level","assignments","requirements","additional_info","_errors$status","_errors$status2","_errors$knowledge_are","_errors$knowledge_are2","_errors$contract_type","_errors$contract_type2","contractType","_errors$state","_errors$state2","_errors$city","_errors$city2","_errors$remuneration_","_errors$remuneration_2","_errors$remuneration_3","_errors$remuneration_4","_errors$department","_errors$department2","_errors$experience_le","_errors$experience_le2","_errors$assignments","_errors$assignments2","_errors$requirements","_errors$requirements2","_errors$additional_in","_errors$additional_in2","FormularioAlteracaoVaga","ModalAlteracaoVagaView","vagaId","EditNote","ModalAlteracaoVaga","FormularioCadastroVagaView","_errors$companies_id","_errors$companies_id2","_errors$contract_type3","setArea","setTipoContrato","estado","setEstado","setEmpresas","cadastroVaga","postVaga","Save","FormularioCadastroVaga","ModalCadastroVagaView","Badge","ModalCadastroVaga","ModalDeleteVagaView","idVagaDeletar","handleDeletarVaga","deleteVaga","novoArrayVagas","vagas","ModalDeleteVaga","ListaDetalhesVagaView","_vaga$contract_detail","idVaga","setVaga","v","contract_details","ListaDetalhesVaga","ModalDetalhesVagaView","PermContactCalendar","ModalDetalhesVaga","TabelaVagasView","_dadosVagas$vagas","dadosVagas","setDadosVagas","getAllEmpresasRepresentante","filterCompany","Link","to","TabelaVagas","Vagas","NotFound","paddingTop","paddingBottom","Lottie","animationData","loop","ButtonGroup","postSignup","fieldName","getTerms","FormComponent","defaultValues","steps","activeStep","setActiveStep","termState","setTermState","termText","termsData","desiredObject","prevTermState","term_text","fetchData","prevStep","Stepper","alternativeLabel","Step","StepLabel","gutterBottom","_errors$user","_errors$user2","_errors$user3","_errors$user3$name","_errors$user4","_errors$user5","_errors$user6","_errors$user6$email","pattern","_errors$user7","_errors$user8","_errors$user9","_errors$user9$passwor","_errors$user10","_errors$user11","_errors$user12","_errors$user12$passwo","validate","_errors$company","_errors$company2","_errors$company3","_errors$company3$name","_errors$company4","_errors$company5","_errors$company6","_errors$company6$cnpj","formattedValue","_errors$company7","_errors$company8","_errors$company9","_errors$company9$nume","_errors$company10","_errors$company11","_errors$company12","_errors$company12$abo","_errors$company13","_errors$company14","_errors$company15","_errors$company15$are","_errors$company16","_errors$company17","_errors$company18","_errors$company18$ema","_errors$company19","_errors$company20","_errors$company21","_errors$company21$sit","_errors$company22","_errors$company23","_errors$company24","_errors$company24$emp","handleBack","zIndex","dangerouslySetInnerHTML","__html","FormularioSignUpView","FormularioSignUp","dadosUsuario","proximo","setDados","setDadosUsuario","setProximo","dadosVazio","dadosEmpresaVazio","SignUpContext","SignUpContextProvider","SignUp","AdminRouter","CssBaseline","Routes","Route","path","element","Usuarios","AppFooter","AppHeaderStudent","ListaDetalhesVagaAluno","work_mode","employment_type","students","pink","justidyContetent","VerifiedUser","justifyContetent","fileManagerApi","TabelaCandidaturas","reloadData","jobId","setJobId","job_id","Send","Chip","onDelete","fireCandidate","config","HomePageItemCardView","setJob","jobForStudentDetails","bookmark","deleteBookMark","sendBookMark","minWidth","top","borderBottomRightRadius","Check","objectFit","opacity","transform","contract_type","mr","bookmark_student","BookmarkRemove","Hail","HomePageItemListView","_item$logo_image","logo","Place","HomePageItemView","jobsForStudents","CandidaturasAluno","setJobs","showList","handleCandidaturaStatus","i","aplicacoes","candidaturas","IndexedCard","HomePageContext","HomePageContextProvider","queryJobs","setQueryJobs","setPage","setShowList","showBackdrop","setShowBackdrop","jobData","setJobData","idTerm","fetchJobs","limit","useHomePage","HomePageDetailsDialog","HomePageBackdrop","Backdrop","HomePageRoot","backdrop","HomePageSearchForm","zoom","light","HomePageShowCardView","scroll","scrollOffset","scrollLeft","ChevronLeft","scrollBehavior","ChevronRight","HomePageShowListView","_queryJobs$meta","_queryJobs$meta2","j_job","HomePageTermsDialog","term_id","postTerms","HomePage","MinhasVagasFavoritas","openJobsLoader","setOpenJobsLoader","firstArray","mergedArray","secondObj","correspondingJob","firstObj","getProfile","CardsView","orientacao","truncateText","setTruncateText","typographyRef","Card","onMouseOver","handleMouseOver","innerText","onMouseOut","handleMouseOut","scrollTop","CardMedia","CardContent","placement","arrow","WebkitBoxOrient","WebkitLineClamp","CardActions","OrientacoesAluno","getOrientationsAll","msFlexDirection","alignContent","PalcoProfissionalRootContext","activityGroup","setActivityGroup","reloadSignal","setReloadSignal","setData","fetchPalcoData","skipped","images","videos","detections","auditions","browserAgent","setSkipped","setImages","setVideos","setDetections","setAuditions","setBrowserAgent","SessionContext","useSession","PalcoProfissionalRootProvider","curriculos","entrevistas","_localUser$data","_localUser$data$usuar","_localToken$data","localUser","localToken","transcription","recognition","activity","project_id","curriculo","activity_id","ActivityService","constructor","this","audition","MiniInfo","activityId","setActivityId","activities","setActivities","getAll","VideoCallOutlined","ac","sample","setOpenSample","nome","goAction","compound","centerText","StyledTableCell","tableCellClasses","head","AuditionService","code","ActivityTableContext","setUrl","submission","setSubmission","openDelete","setOpenDelete","deleteConfirmation","setDeleteConfirmation","getVideo","enabled","setEnabled","analysis","gpt_avg","gpt_feedback","setAnalysis","queryResult","setQueryResult","comprehend","setComprehend","grade","setGrade","showImages","setShowImages","getAIEvaluation","ActivityTableContextProvider","useActivityTable","ActivityViewerDialogBiometrics","file_key","ActivityViewerDialogFeedback","feedbackData","setFeedbackData","items","isNaN","feedbackLines","extractedFeedbackData","parseInt","isLastChild","pb","pt","ActivityViewerDialogFooter","DisplaySettings","Refresh","ActivityViewerDialogHeader","VideoCall","ActivityViewerDialogHeading","learning_level","ActivityViewerDialogSubmission","matches","professor","moodle_admin","maxEmotion","maxEmotionConfidence","emotion_confidence","emotion","translatedMaxEmotion","HAPPY","SAD","ANGRY","CONFUSED","DISGUSTED","SURPRISED","CALM","UNKNOWN","FEAR","toFixed","Sentiment","SentimentScore","Positive","Negative","Neutral","Mixed","comprehend_sentiment","comprehend_feedback","ActivityViewerDialog","DeleteActivityDialog","toLocaleLowerCase","ActivityTableViewRoot","ActivityTableContainer","borderTopRightRadius","borderTopLeftRadius","ActivityTableHeader","tutor","tabelaCurriculo","ActivityTableBody","_props$auditions","ActivityEmptyTableRow","row","ActivityTableRow","_row$activity$title","_row$activity","_row$activity2","handleCurriculum","publishCurriculum","anchorEl","setAnchorEl","scope","wordWrap","CopyAll","navigator","clipboard","writeText","checkFileExists","file_url","PlayArrow","str","substring","len","published","ceil","aria-controls","aria-haspopup","aria-expanded","currentTarget","MoreVert","Menu","MenuListProps","ActivityTableRoot","ActivityTableCompound","_params$submission","getOne","PalcoProfissional","INI_VALUES","user_existing_auditions","user_existing_auditions_unfinished","SessionProvider","Set","userAgentString","userAgent","indexOf","detected","$auditions","$images","ProgressIndicator","stepProps","labelProps","optional","step","has","isStepSkipped","completed","convertBase64ToBlob","base64Image","parts","imageType","decodedData","atob","uInt8Array","Uint8Array","charCodeAt","Blob","BiometryService","uploadFilesViaLambda","is_video_file","baseUrl","RekognitionService","autidion","AuditionComponent","auditionCode","setAuditionCode","playbackRef","playbackSubmittedRef","videoRef","downloadLinkRef","stopButtonRef","canvasRef","countDownRef","setURL","startRecording","setStartRecording","showPreview","setShowPreview","shouldStop","setShouldStop","openPreviewer","setOpenPreviewer","setVagas","setVagaId","topicos","setTopicos","showUploadProgressBackdrop","setShowUploadProgressBackdrop","uploadProgressPercent","setUploadProgressPercent","_progressEvent$total","acItems","setAcItems","getActivity","getActivitieItems","setErr","getUserAudioAndVideo","player","stopped","mediaDevices","getUserMedia","audio","stream","srcObject","_stopButtonRef$curren","recordedChunks","mediaRecorder","MediaRecorder","mimeType","videoBitsPerSecond","onstop","sizeInMegabytes","download","play","stop","start","getApi","handleRecording","handleCanvasUploadLambda","videoWidth","videoHeight","el","document","createElement","getContext","drawImage","appendChild","toDataURL","temp_postfix","getTime","temp_path","_images$file_key","compareFaces","source","floor","random","maxConfidence","Infinity","maxConfidenceType","emotions","confidence","Confidence","Type","audition_id","recognition_feedback","similarity","Similarity","extAud","time","useMemo","now","renderer","minutes","seconds","findOne","drawer","Info","Countdown","date","autoStart","filteredQuestions","text","question","id_job","gerarRoteiro","topico","playsInline","ct","setInterval","fetch","videoBlob","blob","Error","update","Upload","Stop","AuditionModule","poses","BiometryTemplate","firstShotDelay","setFirstShotDelay","finalState","setFinalState","initialState","setInitialState","getState","openCamera","setOpenCamera","openBackdrop","setOpenBackdrop","loadBiometry","_state$usuario","handleSuccess","getUserVideo","extractFormattedString","inputString","lastSlashIndex","lastIndexOf","lastDotIndex","desiredSubstring","order","references","reference","media","bio","deleteBiometry","capture","CenterFocusStrong","ArrowForward","BiometryModule","AlunoRouter","default","CandidaturasEmpresa","setCandidaturas","EmpresaRouter","postLogin","postLoginStudent","postLoginAlunoPalcoVirtual","palco_api","FormularioForgotPasswordView","forgotPassword","postRecovery","FormularioForgotPassword","FormularioLoginAluno","_errors$ra","_errors$ra2","login","handleClickShowPassword","onMouseDown","edge","FormularioRecoverPasswordView","query","useSearchParams","signature","recoverPassword","postReset","FormularioRecoverPassword","FormularioLoginView","FormularioLogin","Login","Copyright","getFullYear","SignInAdministrador","noValidate","autoComplete","autoFocus","SignInAluno","alunoPalcoVirtualRes","studentData","PublicRouter","AppRoot","createMuiTheme","red","orange","components","MuiCssBaseline","styleOverrides","createTheme","ThemeProvider","BrowserRouter","Toaster","reverseOrder","setDrawer","DrawerContext","DrawerContextProvider","App","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.65b3f284.chunk.js","sourcesContent":["import {\n\tDispatch,\n\tSetStateAction,\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nexport interface ThemingInterface {\n\tdark: boolean;\n\tsetDark: Dispatch>;\n}\n\nexport const INIT_STATE: ThemingInterface = {\n\tdark: false,\n\tsetDark: () => {},\n};\n\nexport const ThemingContext = createContext(INIT_STATE);\n\nexport const ThemingProvider: React.FC = ({ children }: any) => {\n\tconst [dark, setDark] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (localStorage.getItem(\"@app:darkmode\")) {\n\t\t\tsetDark(\n\t\t\t\tJSON.parse(localStorage.getItem(\"@app:darkmode\") as string)\n\t\t\t);\n\t\t} else {\n\t\t\tlocalStorage.setItem(\"@app-jobs:darkmode\", JSON.stringify(dark));\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\"@app-jobs:darkmode\", dark.toString());\n\t}, [dark]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport const useTheming = () => {\n\treturn useContext(ThemingContext);\n};\n","import React, { createContext, useEffect, useState } from \"react\";\nimport { PropsAuthContext } from \"./models/AuthPropsType\";\n\nconst DEFAULT_VALUE = {\n\tauth: {\n\t\trole: \"\",\n\t\ttype: \"\",\n\t\ttoken: \"\",\n\t\texpires_at: \"\",\n\t\tuser_id: 0,\n\t\tstudent_id: 0,\n\t\thas_terms: false,\n\t},\n\tsetAuth: () => {},\n};\n\nexport const AuthContext = createContext(DEFAULT_VALUE);\n\nexport const AuthContextProvider: React.FC = ({ children }) => {\n\tconst [auth, setAuth] = useState(DEFAULT_VALUE.auth);\n\n\tuseEffect(() => {\n\t\tconst token = localStorage.getItem(\"@app-jobs:token\");\n\n\t\tif (token) {\n\t\t\tsetAuth(JSON.parse(token));\n\t\t}\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n","import {useContext} from \"react\";\nimport {AuthContext} from \"../auth.context\";\n\nexport const useAuthContext = () => {\n return useContext(AuthContext);\n}","import axios from \"axios\";\nimport toast from \"react-hot-toast\";\n\nconst api = axios.create({\n\tbaseURL: process.env.REACT_APP_URL,\n\ttimeout: 5000,\n\theaders: {\n\t\tAccept: \"application/json\",\n\t},\n});\n\n// Add a response interceptor\napi.interceptors.response.use(\n\t(response) => response,\n\t(error) => {\n\t\tif (error.response && error.response.status === 401) {\n\t\t\t// Clear cache (if applicable)\n\t\t\t// Redirect to \"/\"\n\t\t\tsetTimeout(() =>{\n\t\t\t\ttoast.error(\n\t\t\t\t\t\"Atenção, suas sessão expirou! Faça login novamente para prosseguir.\"\n\t\t\t\t);\n\t\t\t},5000)\n\t\t\tlocalStorage.clear();\n\t\t\tlocalStorage.clear();\n\t\t\twindow.location.href = \"/\";\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n);\n\nexport default api;\n","import api from \"./api\";\n\n/**\n * @function postLogout\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo post para a rota /logout, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso o sessionStorage é limpo.\n */\n\nexport async function postLogout() {\n\tlet token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n\treturn await api\n\t\t.post(\"/logout\", undefined, {\n\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t})\n\t\t.then(() => {\n\t\t\tlocalStorage.clear();\n\t\t\tlocalStorage.clear();\n\t\t})\n\t\t.catch((e) => {\n\t\t\treturn e;\n\t\t});\n}\n","import {\n\tAssignmentInd,\n\tBookmark,\n\tBugReport,\n\tBusiness,\n\tDocumentScanner,\n\tEmojiPeople,\n\tExitToApp,\n\tHome,\n\tManageSearch,\n\tOndemandVideo,\n\tPeople,\n\tSearch,\n\tVideoCameraFront,\n} from \"@mui/icons-material\";\nimport {\n\tBox,\n\tDrawer,\n\tIconButton,\n\tList,\n\tListItem,\n\tListItemButton,\n\tListItemIcon,\n\tListItemText,\n} from \"@mui/material\";\nimport { Fragment } from \"react\";\n\nexport function AppDrawer({\n\topen,\n\tdrawerWidth,\n\ttheme,\n\tnavigate,\n\thandleDrawerClose,\n\tauth,\n\tstyles,\n\thandleLogout,\n\tmenuIcon: Icon,\n\tlocation,\n}): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\thandleDrawerClose();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tnavigate(\"/\");\n\t\t\t\t\t\t\t\thandleDrawerClose();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tInício\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\t{auth.role === \"ALUNO\" && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tPesquisar vagas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/minhas-vagas\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMinhas vagas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/candidaturas\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCandidaturas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\n\t\t\t\t\t\t\t\t\t\t\t\"/curriculum/\" + auth.student_id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMeu currículo\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/orientacoes\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCursos e seleções\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/palco-profissional\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tPalco Profissional\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{/* */}\n\t\t\t\t\t{auth.role !== \"ALUNO\" && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{auth.role === \"admin\" ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tnavigate(\"/usuarios\");\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tUsuários\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/empresas\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEmpresas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tnavigate(\"/vagas\");\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tVagas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{auth.role === \"representante_empresa\" ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tnavigate(\"/orientacoes\");\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tCursos e seleções\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{auth.role === \"admin\" ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tnavigate(\"/tipos-contrato\");\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tContratos\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\twindow.open(\n\t\t\t\t\t\t\t\t\t\"https://uninta.edu.br/site/suporte-a-sistemas/\"\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tReportar problema\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSair\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { styled } from \"@mui/material\";\n\nconst drawerWidth = 296;\n\n/**\n * Container de tamanho variável para as páginas do projeto\n * Este container é posicionado ao lado do Drawer e abaixo da Appbar\n */\nexport const AppMain = styled(\"main\", {\n\tshouldForwardProp: (prop) => prop !== \"open\",\n})<{\n\topen?: boolean;\n}>(({ theme, open }) => ({\n\tflexGrow: 1,\n\ttransition: theme.transitions.create(\"margin\", {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.leavingScreen,\n\t}),\n\tmarginLeft: 0,\n\t...(open && {\n\t\ttransition: theme.transitions.create(\"margin\", {\n\t\t\teasing: theme.transitions.easing.easeOut,\n\t\t\tduration: theme.transitions.duration.enteringScreen,\n\t\t}),\n\t\tmarginLeft: drawerWidth,\n\t}),\n}));\n","import MenuIcon from \"@mui/icons-material/Menu\";\nimport {\n\tAppBarProps,\n\tBox,\n\tIconButton,\n\tSwitch,\n\tToolbar,\n\tstyled,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport MuiAppBar from \"@mui/material/AppBar\";\nimport { CSSProperties, Fragment, useEffect, useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { useTheming } from \"../../../context/Theming\";\nimport { postLogout } from \"../../../services/logout\";\nimport { AppDrawer } from \"../AppDrawer\";\nimport { AppMain } from \"../AppMain\";\n\nconst drawerWidth = 296;\n\n/**\n * Appbar do projeto, contendo o Drawer e o Main, container principal do projeto\n */\nconst AppBar = styled(MuiAppBar, {\n\tshouldForwardProp: (prop) => prop !== \"open\",\n})(({ theme, open }: any) => ({\n\ttransition: theme.transitions.create([\"margin\", \"width\"], {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.leavingScreen,\n\t}),\n\t...(open && {\n\t\twidth: `calc(100% - ${drawerWidth}px)`,\n\t\tmarginLeft: `${drawerWidth}px`,\n\t\ttransition: theme.transitions.create([\"margin\", \"width\"], {\n\t\t\teasing: theme.transitions.easing.easeOut,\n\t\t\tduration: theme.transitions.duration.enteringScreen,\n\t\t}),\n\t}),\n}));\n\nexport default function AppHeader({ children }: any) {\n\tconst { dark, setDark } = useTheming();\n\tconst { auth, setAuth } = useAuthContext();\n\t// alert(JSON.stringify(auth));\n\n\tconst theme = useTheme();\n\tconst breakpoint = useMediaQuery(theme.breakpoints.down(\"md\"));\n\tconst navigate = useNavigate();\n\tconst [open, setOpen] = useState(!breakpoint);\n\n\tconst handleDrawerOpen = () => {\n\t\tsetOpen(true);\n\t};\n\n\tconst handleDrawerClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tuseEffect(() => {\n\t\t// Update 'open' state when the breakpoint changes\n\t\tsetOpen(!breakpoint);\n\t}, [breakpoint]);\n\n\t/**\n\t *\n\t * @param e Toggle Switch of color theme\n\t */\n\tconst handleChange = (e) => {\n\t\tsetDark(e.target.checked);\n\t};\n\t/**\n\t * @function handleLogout\n\t * Chama a função de postLogout, faz uma mudança de rotas para / e seta valores vazios na propriedade auth do contexto AuthContext.\n\t * @returns Retorna o menu navegação.\n\t */\n\tfunction handleLogout() {\n\t\tpostLogout();\n\t\tif (\n\t\t\tauth.role === \"admin\" ||\n\t\t\tauth.role === \"representante\" ||\n\t\t\tauth.role === \"representante_empresa\"\n\t\t) {\n\t\t\tnavigate(\"/login-admin\");\n\t\t} else {\n\t\t\tnavigate(\"/\");\n\t\t}\n\t\tsetAuth({\n\t\t\trole: \"\",\n\t\t\ttype: \"\",\n\t\t\ttoken: \"\",\n\t\t\texpires_at: \"\",\n\t\t\tuser_id: 0,\n\t\t\tstudent_id: 0,\n\t\t\thas_terms: false,\n\t\t});\n\t}\n\n\tconst styles: { [key: string]: CSSProperties } = {\n\t\tlistItem: {\n\t\t\tbackgroundColor: theme.palette.primary.main,\n\t\t\tcolor: \"white\",\n\t\t\tborderRadius: \"5px\",\n\t\t},\n\t\tListItemIcon: {\n\t\t\tcolor: \"white\",\n\t\t},\n\t};\n\tconst location = useLocation();\n\n\tuseEffect(() => {\n\t\thandleDrawerClose();\n\t}, [location]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleDrawerOpen();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* }\n\t\t\t\t\t\t\tsx={{ color: \"white\" }}\n\t\t\t\t\t\t\tonClick={handleLogout}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSair\n\t\t\t\t\t\t */}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{/*
\n\t\t\t\t\t{JSON.stringify(student.user.name[0] as string, null, 4)}\n\t\t\t\t
*/}\n\t\t\t\n\t\t\t\n\t\t\t{children}\n\t\t
\n\t);\n}\n","import toast from 'react-hot-toast';\n\nimport PriorityHighIcon from '@mui/icons-material/PriorityHigh';\n\nexport default function Notification(textNotification: string, type: 'success' | 'warning' | 'error' = 'success') {\n return (\n <>\n {\n type === 'warning' ? (\n toast(textNotification, {\n duration: 5500,\n icon: (\n \n ),\n style: {\n color: \"#ffc000\",\n border: `1px solid #ffc000`,\n fontFamily: 'Lato'\n }\n })\n ) : (\n toast[type](textNotification, {\n duration: 2500,\n style: {\n border: `1px solid ${type === 'success' ? '#4caf50' : '#bd0e0e'}`,\n fontFamily: 'Lato'\n }\n })\n )\n }\n \n );\n}\n","import React, { createContext } from \"react\";\nimport { PropsModalContext } from \"./models/PropsModalContext\";\n\nconst DEFAULT_VALUE: PropsModalContext = {\n\topen: false,\n\tsetOpen: () => {},\n\thandleOpen: () => {},\n\thandleClose: () => {},\n};\n\nexport const ModalContext = createContext(DEFAULT_VALUE);\n\nexport const ModalContextProvider: React.FC = ({ children }) => {\n\tconst [open, setOpen] = React.useState(false);\n\n\tfunction handleOpen() {\n\t\tsetOpen(true);\n\t}\n\n\tfunction handleClose() {\n\t\tsetOpen(false);\n\t}\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n","import { useContext } from \"react\";\nimport { ModalContext } from \"../modal.context\";\n\nexport const useModalContext = () => {\n\treturn useContext(ModalContext);\n};\n","import { Close } from \"@mui/icons-material\";\nimport { Box, IconButton, Typography, useTheme } from \"@mui/material\";\nimport { useModalContext } from \"../../../context/Modal/hooks/useModal\";\n\nexport default function ModalHeader({ header, icon, close }: any) {\n\tconst theme = useTheme();\n\tconst { handleClose } = useModalContext();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{icon} {header}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Delete, Search, Videocam } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tCheckbox,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tIconButton,\n\tInputAdornment,\n\tPaper,\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableContainer,\n\tTableHead,\n\tTableRow,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport axios from \"axios\";\nimport { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport api from \"../../../services/api\";\nimport Notification from \"../../../utils/notification\";\nimport ModalHeader from \"../../Modal/ModalHeader\";\n\nexport default function TabelaCandidaturasAdministrador({\n\tapplications,\n\tsetApplications,\n}: any) {\n\tconst history = useNavigate();\n\n\tconst [candidatos, setCandidatos] = useState([]);\n\tconst [, setOpen] = useState(false);\n\tconst [video, setVideo] = useState(null);\n\tconst [openVideo, setOpenVideo] = useState(false);\n\tconst getVideoCurriculo = async (ra) => {\n\t\tawait axios\n\t\t\t.get(\n\t\t\t\t`${process.env.REACT_APP_FILE_MANAGER_API}/auditions/${ra}/published`\n\t\t\t)\n\t\t\t.then((res) => {\n\t\t\t\tsetOpenVideo(true);\n\t\t\t\tsetVideo(res.data);\n\t\t\t});\n\t};\n\n\tconst filtraCandidaturas = (e) => {\n\t\tif (e.target.value === \"\" || e.target.value === null) {\n\t\t\tsetCandidatos(applications);\n\t\t} else {\n\t\t\tconst searchTerm = e.target.value.toLowerCase(); // Convert input to lowercase for case-insensitive comparison\n\t\t\tconsole.clear();\n\t\t\tconsole.log(searchTerm);\n\t\t\tconst filtered = applications.filter((application) =>\n\t\t\t\tapplication.applications.some((c) =>\n\t\t\t\t\tc.student.user.name.toLowerCase().includes(searchTerm)\n\t\t\t\t)\n\t\t\t);\n\t\t\tconsole.log(filtered);\n\t\t\tsetCandidatos(filtered);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tsetCandidatos(applications);\n\t}, [applications]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCandidaturas realizadas\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tfiltraCandidaturas(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\t\tstartAdornment: (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTitulo\n\t\t\t\t\t\t\t\tEmpresa\n\t\t\t\t\t\t\t\tLocal\n\t\t\t\t\t\t\t\tÁrea\n\t\t\t\t\t\t\t\tRA\n\t\t\t\t\t\t\t\tNome\n\t\t\t\t\t\t\t\tCurrículo\n\t\t\t\t\t\t\t\tVídeo\n\t\t\t\t\t\t\t\tAções\n\t\t\t\t\t\t\t\tContratado\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*
{JSON.stringify(applications, null, 4)}
*/}\n\t\t\t\t\t\t\t{candidatos && candidatos.length > 0 ? (\n\t\t\t\t\t\t\t\tcandidatos.map((opportunity: any) => {\n\t\t\t\t\t\t\t\t\treturn opportunity.applications.length >\n\t\t\t\t\t\t\t\t\t\t0 ? (\n\t\t\t\t\t\t\t\t\t\topportunity.applications.map(\n\t\t\t\t\t\t\t\t\t\t\t(c, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topportunity.title\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topportunity.company\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topportunity.city\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topportunity.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topportunity.area\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.student.ra}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tc.student\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.user\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thistory(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"/curriculum/\" +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tc.student_id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVisualizar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {c.student.user.email} */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenVideo(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetVideoCurriculo(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tc\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.student\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.ra\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReproduzir\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {c.student.user.email} */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// close={() => setOpen(false)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVocê deseja\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprosseguir\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcom a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texclusão da\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcandidatura?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tawait api\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.delete(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`/applications/${c.id}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tres: any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNotification(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Candidatura removida com sucesso\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"success\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.catch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terr: any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNotification(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Falha ao remover candidatura!\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"error\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.finally(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thistory(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"/candidaturas\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tExcluir\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNenhuma candidatura encontrada\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\tclose={() => setOpenVideo(false)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tReprodutor\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tApresentando o vídeo currículo do aluno\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetOpenVideo(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tFechar player\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { ArrowBack } from \"@mui/icons-material\";\nimport { Box, Button, Container } from \"@mui/material\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport toast from \"react-hot-toast\";\nimport { useNavigate, useParams } from \"react-router\";\nimport TabelaCandidaturasAdministrador from \"../../../components/Tabelas/TabelaCandidaturas/TabelaCandidaturasAdministrador\";\nimport api from \"../../../services/api\";\n\n/**\n *\n * @description Tela de candidaturas Empresa e Administrador partilham de views parecidas\n */\nexport default function CandidaturasAdministrador(): JSX.Element {\n\tconst history = useNavigate();\n\t/**\n\t * @description define o estado das aplicações realizadas no sistema\n\t */\n\tconst params = useParams();\n\tconst [fullApplications, setFullApplications] = useState([]);\n\t/**\n\t * @description busca applications existentes e em seguida informações de candidato e vaga\n\t */\n\tconst getApplications = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\ttry {\n\t\t\tawait api\n\t\t\t\t.get(\"/applications\", {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then(async (res: any) => {\n\t\t\t\t\tres.data.forEach((item: any) => {\n\t\t\t\t\t\tif (item.jobs.length > 0)\n\t\t\t\t\t\t\titem.jobs.forEach(async (job) => {\n\t\t\t\t\t\t\t\tawait api\n\t\t\t\t\t\t\t\t\t.get(\"/jobs/\" + job.id, {\n\t\t\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.then((res: any) => {\n\t\t\t\t\t\t\t\t\t\t// var d = res.data[0];\n\t\t\t\t\t\t\t\t\t\tif (Array.isArray(res.data)) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tres.data[0].applications &&\n\t\t\t\t\t\t\t\t\t\t\t\tres.data[0].applications\n\t\t\t\t\t\t\t\t\t\t\t\t\t.length > 0\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetFullApplications((prev) => [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\t\tres.data[0],\n\t\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetFullApplications((prev) => [\n\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\tres.data,\n\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\ttoast.success(\"Listando candidaturas encontradas.\");\n\t\t\t\t});\n\t\t} catch (err) {\n\t\t\ttoast.error(\n\t\t\t\t\"Falha ao buscar candidaturas! Recarregue a página e tente novamente.\"\n\t\t\t);\n\t\t}\n\t};\n\n\t/**\n\t * @description busca applications a partir de um dado job_id\n\t */\n\tconst getApplicationsByJobId = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/jobs/\" + params.id, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tif (res.data.applications && res.data.applications.length === 0)\n\t\t\t\t\treturn setFullApplications([]);\n\t\t\t\tsetFullApplications([res.data]);\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (params.id) {\n\t\t\tgetApplicationsByJobId();\n\t\t} else {\n\t\t\tgetApplications();\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\tonClick={() => history(-1)}\n\t\t\t\t\t\tsx={{ mb: 3 }}\n\t\t\t\t\t>\n\t\t\t\t\t\tVoltar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(fullApplications, null, 4)}
*/}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import React, { createContext } from \"react\";\nimport { PropsReloadContext } from \"./models/PropsReloadContext\";\n\nconst DEFAULT_VALUE: PropsReloadContext = {\n reload: true, \n setReload: () => {},\n handleReload: () => {}\n}\n\nexport const ReloadContext = createContext(DEFAULT_VALUE);\n\nexport const ReloadContextProvider: React.FC = ({ children }) => {\n const [reload, setReload] = React.useState(false);\n\n function handleReload() {\n setReload(!reload);\n }\n\n return (\n \n {children}\n \n\n );\n}","import {\n AtualizarEmpresa,\n RespostaEmpresa,\n RespostaEmpresaId,\n} from \"../../models/Empresa\";\nimport Notify from \"../../utils/notification\";\nimport api from \"../api\";\n\n/**\n * @function postEmresa\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo post para a rota /companies, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com a empresa cadastrada.\n * @param {CriarEmpresa} data - Dados da empresa a ser cadastrada.\n */\n\nexport async function postEmpresa(data: any): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .post(\"/companies\", data, {\n headers: { Authorization: `Bearer ${token}` },\n })\n // .then((data) => {\n // Notify(\"Empresa cadastrada com sucesso!\");\n // return data;\n // })\n // .catch((e: any) => {\n // Notify(\n // \"Empresa não foi cadastrada, verifique seus dados e tente novamente!\",\n // \"error\",\n // );\n // return e;\n // });\n}\n\n/**\n * @function getEmpresa\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /companies/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados duma empresa específica.\n * @param {number} id - Id da empresa a ser buscada.\n */\n\nexport async function getEmpresa(id: number): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n if (id === null || id === 0) {\n return Promise.resolve(\"ID is null or 0, cancelling the call\");\n } else {\n console.log(\"ID AQUI é :\" + id);\n return await api\n .get(`/companies/${id}`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n }\n}\n\n/**\n * @function getEmpresaRepresentante\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /companies/user/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados de uma empresa específica do usuário representante logado no sistema.\n */\n\nexport async function getEmpresaRepresentante(\n id: number,\n): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n if (id === null || id === 0) {\n return Promise.resolve(\"ID is null or 0, cancelling the call\");\n }\n\n return await api\n .get(`/companies/user/${id}`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function getEmpresas\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /companies/:pagina, caso o parâmetro página seja nulo, caso não, a requisição do tipo get é feita para a rota /companies, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as empresas disponíveis na base de dados.\n * @param {string | null} pagina - Número da página escolhida para a paginação\n */\n\nexport async function getEmpresas(\n pagina: string | null,\n): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .get(`/companies?page=${pagina === null ? \"1\" : pagina}&limit=10`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n}\n\nexport async function getAllEmpresas() {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .get(\"/companies\", { headers: { Authorization: `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function getEmpresasUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /companies/list/user/:idUsuario, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as empresas do usuário associado ao idUsuario.\n * @param {number} idUsuario - Id do usuário dono das empresas que serão buscadas.\n */\n\nexport async function getEmpresasUsuario(\n pagina: string | null,\n idUsuario: number,\n): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .get(\n `/companies/list/user/${idUsuario}?page=${pagina === null ? \"1\" : pagina}`,\n { headers: { Authorization: `Bearer ${token}` } },\n )\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function getEmpresasRepresentante\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /companies/user, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as empresas do usuário logado no sistema.\n */\n\nexport async function getEmpresasRepresentante(\n pagina: string | null,\n): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .get(`/companies/user?page=${pagina === null ? \"1\" : pagina}&limit=10`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n}\n\nexport async function getAllEmpresasRepresentante() {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .get(`/companies/user`, { headers: { Authorization: `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n })\n .catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function putEmpresa\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo put para a rota /companies/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado pela api.\n * @param {number} id - Id da empresa a ser atualizada.\n * @param {AtualizarEmpresa} data - Dados da empresa a ser atualizada.\n */\n\nexport async function putEmpresa(id: number, data: AtualizarEmpresa | any) {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .put(`/companies/${id}`, data, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then(() => {\n Notify(\"Empresa alterada com sucesso!\");\n return;\n })\n .catch((e) => {\n Notify(\n \"Empresa não foi alterada, verifique seus dados e tente novamente!\",\n \"error\",\n );\n return e;\n });\n}\n\n/**\n * @function deleteEmpresa\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo delete para a rota /companies/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado.\n * @param {number} id - Id da empresa a ser deletada.\n */\n\nexport async function deleteEmpresa(id: number) {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api\n .delete(`/companies/${id}`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then(() => {\n Notify(\"Empresa deletada com sucesso!\");\n return;\n })\n .catch((e) => {\n Notify(\n \"Empresa não foi deleta, verifique seus dados e tente novamente!\",\n \"error\",\n );\n return e;\n });\n}\n","import { AtualizarUsuario, CriarUsuario, RespostaUsuario, Usuario } from \"../../models/Usuario\";\nimport Notify from \"../../utils/notification\";\nimport api from \"../api\";\n\n/**\n * @function postUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo post para a rota /users, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com um elemento que contém os dados do usuário cadastrado. \n * @param {CriarUsuario} data - Dados do usuário a ser cadastrado.\n */\n\nexport async function postUsuario(data: CriarUsuario): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n let dados = {\n name: data.name,\n email: data.email,\n password: data.password,\n is_active: data.is_active,\n role_id: data.role_id\n }\n\n return await api.post(\"/users\", dados, { headers: { \"Authorization\": `Bearer ${token}` } }).then((data) => {\n Notify(\"Usuário cadastrado com sucesso!\");\n return data;\n }).catch((e: any) => {\n Notify(\"Usuário não foi cadastrado, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n\n}\n\n/**\n * @function getUsuarios\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /users/:pagina, caso o parâmetro página não seja nulo, caso não, a requisição do tipo get é feita para a rota /users, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todos os usuários disponíveis na base de dados.\n * @param {string | null} pagina - Número da página escolhida para a paginação.\n */\n\nexport async function getUsuarios(pagina: string | null, role: string|null, name?: string|null): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/users?page=${pagina === null ? '1' : pagina}&limit=10${role ? '&role=' + role : ''}${name ? '&name=' + name : ''}`, { headers: { \"Authorization\": `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\nexport async function getAllUsuarios() {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get('/users', { headers: { \"Authorization\": `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function getUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /users/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados dum usuário específico associado ao id.\n * @param {number} id - Id do usuário a ser buscado.\n */\n\nexport async function getUsuario(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`users/${id}`, { headers: { \"Authorization\": `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function putUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo put para a rota /users/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado pela api.\n * @param {number} id - Id do usuário a ser atualizado.\n * @param {AtualizarUsuario} data - Dados do usuario a ser atualizado.\n */\n\nexport async function putUsuario(id: number, data: AtualizarUsuario) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.put(`/users/${id}`, data, { headers: { \"Authorization\": `Bearer ${token}` } }\n ).then(() => {\n Notify(\"Usuário alterado com sucesso!\");\n }).catch((e) => {\n Notify(\"Usuário não foi alterado, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n}\n\n/**\n * @function deleteUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo delete para a rota /users/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado.\n * @param {number} id - Id do usuário a ser deletado.\n */\n\nexport async function deleteUsuario(id: number) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.delete(`/users/${id}`, { headers: { \"Authorization\": `Bearer ${token}` } })\n .catch((e) => {\n return e;\n });\n\n}","/**\n * @function maskCnpj\n * Utiliza regex para adicionar uma máscara nos imputs de cnpj. \n * @param {string} value - Representa o cnpj digitado no imput pelo usuário.\n * @returns Retorna uma string com a máscara adicionada ultilizzando o replace.\n */\nexport default function maskCnpj(value: string): string {\n return value\n .replace(/\\D+/g, '') // não deixa ser digitado nenhuma letra\n .replace(/(\\d{2})(\\d)/, '$1.$2') // captura 2 grupos de número o primeiro com 2 digitos e o segundo de com 3 digitos, apos capturar o primeiro grupo ele adiciona um ponto antes do segundo grupo de número\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1/$2') // captura 2 grupos de número o primeiro e o segundo com 3 digitos, separados por /\n .replace(/(\\d{4})(\\d)/, '$1-$2')\n .replace(/(-\\d{2})\\d+?$/, '$1') // captura os dois últimos 2 números, com um - antes dos dois números\n}","import {useContext} from \"react\";\nimport { ReloadContext } from \"../reload.context\";\n\nexport const useReloadContext = () => {\n return useContext(ReloadContext);\n}","import { Input } from \"@material-ui/core\";\nimport {\n\tBox,\n\tButton,\n\tContainer,\n\tFormControl,\n\tGrid,\n\tMenuItem,\n\tSelect,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { AtualizarEmpresa } from \"../../../../models/Empresa\";\nimport {\n\tgetEmpresa,\n\tgetEmpresaRepresentante,\n\tputEmpresa,\n} from \"../../../../services/crud/crud.empresa\";\nimport maskCnpj from \"../../../../utils/mask\";\nimport Notify from \"../../../../utils/notification\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\n\nfunction FormularioAlteracaoEmpresaView(): React.ReactElement {\n\tlet idEmpresa = Number(localStorage.getItem(\"id_empresa\"));\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\treset,\n\t\tgetValues,\n\t\tsetValue,\n\t\tcontrol,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst [formValues, setFormValues] = useState();\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst { auth } = useAuthContext();\n\n\tconst [selectedField, setSelectedField] = useState(\n\t\tformValues?.cnpj ? \"cnpj\" : \"rnp\"\n\t); // Set selectedField based on cnpj or numero_registro\n\n\tconst [files, setFiles] = useState({\n\t\tcover_image: null,\n\t\tlogo_image: null,\n\t});\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\") {\n\t\t\tgetEmpresa(idEmpresa)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tif (data.cnpj) {\n\t\t\t\t\t\tsetSelectedField(\"cnpj\");\n\t\t\t\t\t\tdata.cnpj = maskCnpj(data.cnpj);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetSelectedField(\"rnp\");\n\t\t\t\t\t}\n\t\t\t\t\tsetFormValues(data);\n\t\t\t\t\treset(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tgetEmpresaRepresentante(idEmpresa)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tif (data.cnpj) {\n\t\t\t\t\t\tsetSelectedField(\"cnpj\");\n\t\t\t\t\t\tdata.cnpj = maskCnpj(data.cnpj);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetSelectedField(\"rnp\");\n\t\t\t\t\t}\n\t\t\t\t\tsetFormValues(data);\n\t\t\t\t\treset(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\t}, [idEmpresa, auth.role, reset]);\n\n\tconst handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n\t\tsetSelectedField(event.target.value as string);\n\t};\n\n\tasync function atualizacaoEmpresa(data, event) {\n\t\tif (data.cnpj) {\n\t\t\tdelete data.numero_registro;\n\t\t\tdata.cnpj = data.cnpj?.replace(/[^\\w]+/g, \"\");\n\t\t}\n\n\t\tif (data.numero_registro) {\n\t\t\tdelete data.cnpj;\n\t\t}\n\n\t\tlet arrayDados = Object.entries(data);\n\n\t\tlet arrayFormValues = Object.entries(formValues);\n\n\t\tlet dataEmpresa = arrayDados.filter((value, index) => {\n\t\t\treturn value[1] !== arrayFormValues[index][1];\n\t\t});\n\n\t\tconsole.log(\"Form Data:\", data);\n\n\t\t// Access file details for logo_image and cover_image\n\t\tif (data.logo_image) {\n\t\t\tconsole.log(\"Logo Image:\", {\n\t\t\t\tname: data.logo_image[0].name,\n\t\t\t\ttype: data.logo_image[0].type,\n\t\t\t\tsize: data.logo_image[0].size,\n\t\t\t});\n\t\t}\n\n\t\tif (data.cover_image) {\n\t\t\tconsole.log(\"Cover Image:\", {\n\t\t\t\tname: data.cover_image[0].name,\n\t\t\t\ttype: data.cover_image[0].type,\n\t\t\t\tsize: data.cover_image[0].size,\n\t\t\t});\n\t\t}\n\n\t\tif (files.logo_image) {\n\t\t\tdata.logo_image = files.logo_image;\n\t\t} else {\n\t\t\tdelete data.logo_image;\n\t\t}\n\t\tif (files.cover_image) {\n\t\t\tdata.cover_image = files.cover_image;\n\t\t} else {\n\t\t\tdelete data.cover_image;\n\t\t}\n\n\t\tconst formData = new FormData();\n\t\tfor (const key in data) {\n\t\t\t// Check if the value is a File object\n\t\t\tif (data[key] instanceof FileList) {\n\t\t\t\tformData.append(key, data[key][0]);\n\t\t\t} else {\n\t\t\t\tformData.append(key, data[key]);\n\t\t\t}\n\t\t}\n\n\t\tif (dataEmpresa.length > 0) {\n\t\t\tputEmpresa(idEmpresa, formData)\n\t\t\t\t.then(() => {\n\t\t\t\t\thandleClose();\n\t\t\t\t\thandleReload();\n\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\t\"id_usuario_filter\",\n\t\t\t\t\t\tformValues.empresa.user_id.toString()\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t\tNotify(\n\t\t\t\t\"Atualize a informação para efetuar a operação de atualização!\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tEditar Empresa\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\tatualizacaoEmpresa(data, event)\n\t\t\t\t)}\n\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={getValues(\"name\") ? value : \"\"}\n\t\t\t\t\t\t\t\t\terror={errors.name?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.name?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Nome Fantasia\" não pode\n\t\t\t\t\t\t\t\t\t\t\t\tser vazio!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCNPJ\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRegistro Profissional\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{selectedField === \"cnpj\" && (\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\"cnpj\",\n\t\t\t\t\t\t\t\t\t\t\t\tmaskCnpj(e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tvalue={getValues(\"cnpj\") ? value : \"\"}\n\t\t\t\t\t\t\t\t\t\terror={errors.cnpj?.type === \"required\"}\n\t\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\t\terrors.cnpj?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tO campo \"CNPJ\" é\n\t\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{selectedField === \"rnp\" && (\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\"numero_registro\",\n\t\t\t\t\t\t\t\t\t\t\t\te.target.value\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\tgetValues(\"numero_registro\")\n\t\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\terror={errors.cnpj?.type === \"required\"}\n\t\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\t\terrors.cnpj?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Registro\n\t\t\t\t\t\t\t\t\t\t\t\t\tProfissional\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={getValues(\"area\") ? value : \"\"}\n\t\t\t\t\t\t\t\t\terror={errors.area?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.area?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Área de atuação\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tgetValues(\"email_curriculum\")\n\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.email_curriculum?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.email_curriculum?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"E-mail para recebimento\n\t\t\t\t\t\t\t\t\t\t\t\tde curriculum\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={getValues(\"about\") ? value : \"\"}\n\t\t\t\t\t\t\t\t\terror={errors.about?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.about?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Sobre a empresa\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={getValues(\"site\") ? value : \"\"}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{/* \n \n \n \n \n \n \n */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnvio da logo\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetFiles({\n\t\t\t\t\t\t\t\t\t\t\t...files,\n\t\t\t\t\t\t\t\t\t\t\tlogo_image: e.target.files[0],\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(files &&\n\t\t\t\t\t\t\t\t\tfiles.logo_image &&\n\t\t\t\t\t\t\t\t\tfiles.logo_image.name) ||\n\t\t\t\t\t\t\t\t\t\"Nenhum arquivo selecionado\"}\n\t\t\t\t\t\t\t\t{/* {getValues(\"logo_image\") &&\n\t\t\t\t\t\t\t\tgetValues(\"logo_image\")[0]\n\t\t\t\t\t\t\t\t\t? getValues(\"logo_image\")[0].name\n\t\t\t\t\t\t\t\t\t: \"Nenhum arquivo selecionado\"} */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{formValues &&\n\t\t\t\t\t\t\tformValues.logo_image &&\n\t\t\t\t\t\t\ttypeof formValues.logo_image === \"string\" ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tformValues &&\n\t\t\t\t\t\t\t\tformValues.logo_image && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnvio da capa\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetFiles({\n\t\t\t\t\t\t\t\t\t\t\t...files,\n\t\t\t\t\t\t\t\t\t\t\tcover_image: e.target.files[0],\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{formValues &&\n\t\t\t\t\t\t\t\tformValues.logo_image &&\n\t\t\t\t\t\t\t\ttypeof formValues.cover_image === \"string\" ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tformValues &&\n\t\t\t\t\t\t\t\t\tformValues.cover_image && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{(files &&\n\t\t\t\t\t\t\t\t\tfiles.cover_image &&\n\t\t\t\t\t\t\t\t\tfiles.cover_image.name) ||\n\t\t\t\t\t\t\t\t\t\"Nenhum arquivo selecionado\"}\n\t\t\t\t\t\t\t\t{/*
{JSON.stringify(formValues, null, 4)}
*/}\n\t\t\t\t\t\t\t\t{/* {getValues(\"cover_image\") &&\n\t\t\t\t\t\t\t\tgetValues(\"cover_image\")[0]\n\t\t\t\t\t\t\t\t\t? getValues(\"cover_image\")[0].name\n\t\t\t\t\t\t\t\t\t: \"Nenhum arquivo selecionado\"} */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAtualizar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioAlteracaoEmpresaView;\n","import React from \"react\";\nimport FormularioAlteracaoEmpresaView from \"./FormularioAlteracaoEmpresa.view\";\n\nfunction FormularioAlteracaoEmpresa(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioAlteracaoEmpresa;","import { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { AddBusiness } from \"@mui/icons-material\";\nimport BorderColorIcon from \"@mui/icons-material/BorderColor\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport Notify from \"../../../../utils/notification\";\nimport FormularioAlteracaoEmpresa from \"../../../Formularios/Alteracoes/FormularioAlteracaoEmpresa\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalAlteracoesEmpresaView(props) {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\t// const lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { auth } = useAuthContext();\n\tconst { open, handleOpen } = useModalContext();\n\n\t/**\n\t * @function handleAtualizarEmpresa\n\t * Verifica se o usuário logado é um admin ou se está ativo no sistema, se sim abre o modal de FormularioAlteracaoEmpresa e seta um valor no sessionStorage com a chave de nome id_empresa, senão emite um Notify.\n\t * @param {number} id - Representa o id da empresa.\n\t * @param {number} isActive - Representa o role do usuário logado no sistema.\n\t */\n\tfunction handleAtualizarEmpresa(id: number, isActive: number) {\n\t\tif (isActive === 1 || auth.role === \"admin\") {\n\t\t\thandleOpen();\n\t\t\tlocalStorage.setItem(\"id_empresa\", id.toString());\n\t\t} else {\n\t\t\tNotify(\n\t\t\t\t\"Você não está ativo no sistema, aguarde sua ativação!\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleAtualizarEmpresa(props.companieId, props.isActive);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Alterar\"}\n\t\t\t\tdata-testid=\"modal-alteracao-empresa\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalAlteracoesEmpresaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalAlteracoesEmpresaView from \"./ModalAlteracoesEmpresa.view\";\n\nfunction ModalAlteracoesEmpresa(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalAlteracoesEmpresa;\n","import { Search } from \"@mui/icons-material\";\nimport {\n\tAutocomplete,\n\tBox,\n\tButton,\n\tContainer,\n\tFormControl,\n\tGrid,\n\tInput,\n\tInputAdornment,\n\tMenuItem,\n\tSelect,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport toast from \"react-hot-toast\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { CriarEmpresa } from \"../../../../models/Empresa\";\nimport { Usuario } from \"../../../../models/Usuario\";\nimport { postEmpresa } from \"../../../../services/crud/crud.empresa\";\nimport { getAllUsuarios } from \"../../../../services/crud/crud.usuario\";\nimport maskCnpj from \"../../../../utils/mask\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\n\nfunction FormularioCadastroEmpresaView(): React.ReactElement {\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tcontrol,\n\t\tsetError,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\t// const [representante, setRepresentante] = useState(\"\");\n\t// const [representanteDisplay, setRepresentanteDisplay] = useState(\"\");\n\tconst [representantes, setRepresentantes] = useState([]);\n\n\tconst [selectedFile, setSelectedFile] = useState(null);\n\tconst [selectedCoverFile, setSelectedCoverFile] = useState(\n\t\tnull\n\t);\n\n\tconst [selectedField, setSelectedField] = useState(\"cnpj\");\n\n\tconst [cnpj, setCnpj] = useState(\"\");\n\tconst [rnp, setRNP] = useState(\"\");\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst { auth } = useAuthContext();\n\n\t// Define a function to handle file selection\n\tconst handleFileSelect = (e: React.ChangeEvent) => {\n\t\tif (e.target.files && e.target.files.length > 0) {\n\t\t\tsetSelectedFile(e.target.files[0]);\n\t\t}\n\t};\n\n\t// Define a function to handle file selection\n\tconst handleCoverFileSelect = (e: React.ChangeEvent) => {\n\t\tif (e.target.files && e.target.files.length > 0) {\n\t\t\tsetSelectedCoverFile(e.target.files[0]);\n\t\t}\n\t};\n\n\tconst handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n\t\tsetSelectedField(event.target.value as string);\n\t};\n\t/**\n\t * @function cadastroEmpresa\n\t * Remove a máscara do cnpj com a ultilização de um replace, faz a chamada da função de postEmpresa enviando data como parâmetro, se caso a requisição der certo emite um Notify, chama as funções handleClose e handleReload fechando o modal e dando um refresh na página.\n\t * @param {CriarEmpresa} data - Representa os dados cadastrados da empresa.\n\t */\n\tasync function cadastroEmpresa(data: CriarEmpresa, error?: any) {\n\t\t// alert(JSON.stringify(Object.keys(data)))\n\n\t\tconst formData = new FormData();\n\n\t\tfor (const key in data) {\n\t\t\tif (data[key] instanceof FileList) {\n\t\t\t\tformData.append(key, data[key][0]);\n\t\t\t} else {\n\t\t\t\tformData.append(key, data[key]);\n\t\t\t}\n\t\t}\n\n\t\t// postEmpresa(formData).then(() => {\n\t\t// \thandleClose();\n\t\t// \thandleReload();\n\t\t// });\n\n\t\tawait postEmpresa(formData)\n\t\t\t.then((data) => {\n\t\t\t\thandleClose();\n\t\t\t\thandleReload();\n\t\t\t\ttoast.success(\"Empresa cadastrada com sucesso!\");\n\t\t\t\treturn data;\n\t\t\t})\n\t\t\t.catch((e: any) => {\n\t\t\t\tif (e.response && e.response.data && e.response.data.errors) {\n\t\t\t\t\tconst apiErrors = e.response.data.errors.reduce(\n\t\t\t\t\t\t(acc: any, error: any) => {\n\t\t\t\t\t\t\tsetError(error.field, {\n\t\t\t\t\t\t\t\ttype: error.rule,\n\t\t\t\t\t\t\t\tmessage: error.message,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tacc[error.field] = {\n\t\t\t\t\t\t\t\ttype: error.rule,\n\t\t\t\t\t\t\t\tmessage: error.message,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\tconsole.log(apiErrors); // Debugging line\n\t\t\t\t\treturn apiErrors;\n\t\t\t\t\t// set the errors object with API errors\n\t\t\t\t}\n\t\t\t\ttoast.error(\n\t\t\t\t\t\"Empresa não foi cadastrada, verifique seus dados e tente novamente!\"\n\t\t\t\t);\n\t\t\t\treturn e;\n\t\t\t});\n\t}\n\n\t/**\n\t * @function handleIsRepresentante\n\t * Faz uma verificação se o usuário é um representante.\n\t * @param {Usuario} usuario - Representa o usuário.\n\t * @param data\n\t * @returns Retorna true ou false de acordo com a verificação.\n\t */\n\tfunction handleIsRepresentante(usuario: Usuario) {\n\t\treturn usuario.role_id === 2;\n\t}\n\n\tconst [searchText] = useState(\"\");\n\n\tconst filteredRepresentantes = representantes.filter(\n\t\t(rep) =>\n\t\t\trep.name.toLowerCase().includes(searchText.toLowerCase()) ||\n\t\t\trep.email.toLowerCase().includes(searchText.toLowerCase())\n\t);\n\t/**\n\t * @function exibirSelectRepresentantesCadastro\n\t * Faz uma verificação se o usuário logado é um admin, se sim retorna um componente com um select e dentro do select faz um map de todos os usuário representantes cadastrados no banco de dados, senão retorna um componente vazio.\n\t * @returns {JSX.Element} - Retorna um componente, dependendo da verificação o componente será vazio ou com um select.\n\t */\n\t// function exibirSelectRepresentantesCadastro(): JSX.Element {\n\t// \tif (auth.role === \"admin\") {\n\t// \t\treturn (\n\t// \t\t\t\n\t// \t\t\t\t\n\t// \t\t\t\t\t\n\t// \t\t\t\t\t\t\t`${option.name} | ${option.email}`\n\t// \t\t\t\t\t\t}\n\t// \t\t\t\t\t\t{...register(\"user_id\", { required: true })}\n\t// \t\t\t\t\t\tvalue={representanteDisplay}\n\t// \t\t\t\t\t\tonChange={(_event, newValue: any) => {\n\t// \t\t\t\t\t\t\tif (\n\t// \t\t\t\t\t\t\t\tnewValue &&\n\t// \t\t\t\t\t\t\t\ttypeof newValue === \"object\" &&\n\t// \t\t\t\t\t\t\t\t\"id\" in newValue\n\t// \t\t\t\t\t\t\t) {\n\t// \t\t\t\t\t\t\t\talert(newValue.id);\n\t// \t\t\t\t\t\t\t\tsetRepresentante(newValue.id);\n\t// \t\t\t\t\t\t\t\tsetRepresentanteDisplay(newValue);\n\t// \t\t\t\t\t\t\t} else {\n\t// \t\t\t\t\t\t\t\tsetRepresentante(\"\");\n\t// \t\t\t\t\t\t\t\tsetRepresentanteDisplay(\"\");\n\t// \t\t\t\t\t\t\t}\n\t// \t\t\t\t\t\t}}\n\t// \t\t\t\t\t\trenderInput={(params) => {\n\t// \t\t\t\t\t\t\treturn (\n\t// \t\t\t\t\t\t\t\t\n\t// \t\t\t\t\t\t\t);\n\t// \t\t\t\t\t\t}}\n\t// \t\t\t\t\t/>\n\t// \t\t\t\t\n\t// \t\t\t\t{/* {\n\t// \t\t\t\t\t\talert(event.target.value);\n\t// \t\t\t\t\t\tsetRepresentante(event.target.value);\n\t// \t\t\t\t\t}}\n\t// \t\t\t\t\terror={errors.user_id?.type === \"required\"}\n\t// \t\t\t\t\thelperText={\n\t// \t\t\t\t\t\terrors.user_id?.type === \"required\" && (\n\t// \t\t\t\t\t\t\t\n\t// \t\t\t\t\t\t\t\tO campo \"Representante\" é obrigatório!\n\t// \t\t\t\t\t\t\t\n\t// \t\t\t\t\t\t)\n\t// \t\t\t\t\t}\n\t// \t\t\t\t>\n\t// \t\t\t\t\tSelecione um representante\n\t// \t\t\t\t\t{representantes.map((representante, index) => (\n\t// \t\t\t\t\t\t{`${representante.name} | ${representante.email}`}\n\t// \t\t\t\t\t))}\n\t// \t\t\t\t */}\n\t// \t\t\t\n\t// \t\t);\n\t// \t} else {\n\t// \t\treturn <>;\n\t// \t}\n\t// }\n\n\tfunction exibirSeletor() {\n\t\tif (auth.role === \"admin\") {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t`${option.name} | ${option.email}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tfilteredRepresentantes.find(\n\t\t\t\t\t\t\t\t\t\t\t(rep) => rep.id === field.value\n\t\t\t\t\t\t\t\t\t\t) || null\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonChange={(_event, newValue) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tnewValue &&\n\t\t\t\t\t\t\t\t\t\t\ttypeof newValue === \"object\" &&\n\t\t\t\t\t\t\t\t\t\t\t\"id\" in newValue\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tfield.onChange(newValue.id);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tfield.onChange(null);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonBlur={field.onBlur}\n\t\t\t\t\t\t\t\t\trenderInput={(params) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t// endAdornment: (\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t\t\tsetSearchText(\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t\t\t\tevent.target\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t\t\t\t\t.value\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t// \t\n\t\t\t\t\t\t\t\t\t\t\t\t// ),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{errors.user_id?.type === \"required\" && (\n\t\t\t\t\t\t\tO campo \"Representante\" é obrigatório!\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn <>;\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tgetAllUsuarios()\n\t\t\t.then((data) => {\n\t\t\t\tsetRepresentantes(data.filter(handleIsRepresentante));\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tAdicionar Empresa\n\t\t\t\n\t\t\t {\n\t\t\t\t\t// alert(data.cnpj);\n\t\t\t\t\tif (selectedFile) {\n\t\t\t\t\t\tdata.logo_image = selectedFile;\n\t\t\t\t\t}\n\t\t\t\t\tif (selectedCoverFile) {\n\t\t\t\t\t\tdata.cover_image = selectedCoverFile;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar d = {\n\t\t\t\t\t\tuser_id: data.user_id,\n\t\t\t\t\t\tname: data.name,\n\t\t\t\t\t\tcnpj: data.cnpj,\n\t\t\t\t\t\tnumero_registro: data.numero_registro,\n\t\t\t\t\t\tabout: data.about,\n\t\t\t\t\t\tarea: data.area,\n\t\t\t\t\t\temail_curriculum: data.email_curriculum,\n\t\t\t\t\t\tsite: data.site,\n\t\t\t\t\t\temployees_number: data.employees_number,\n\t\t\t\t\t\tcover_image: data.cover_image,\n\t\t\t\t\t\tlogo_image: data.logo_image,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (selectedField === \"cnpj\" && data.cnpj) {\n\t\t\t\t\t\tdelete d.numero_registro;\n\t\t\t\t\t\td.cnpj = data.cnpj.replace(/[^\\w]+/g, \"\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdelete d.cnpj;\n\t\t\t\t\t}\n\n\t\t\t\t\tcadastroEmpresa(d, setError);\n\t\t\t\t})}\n\t\t\t\tencType=\"multipart/form-data\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{exibirSeletor()}\n\t\t\t\t\t{/* {exibirSelectRepresentantesCadastro()} */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Nome Fantasia\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCNPJ\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRegistro Profissional\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{selectedField === \"cnpj\" && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetCnpj(maskCnpj(e.target.value));\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\t\terrors.cnpj?.type === \"required\" ||\n\t\t\t\t\t\t\t\t\t\t\tBoolean(errors.cnpj)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\t\terrors.cnpj?.type === \"required\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tO campo \"CNPJ\" é\n\t\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\terrors.cnpj?.message &&\n\t\t\t\t\t\t\t\t\t\t\t\t\"Falha ao validar o CNPJ fornecido\"\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{selectedField === \"rnp\" && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetRNP(e.target.value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\t\terrors.rnp?.type === \"required\" ||\n\t\t\t\t\t\t\t\t\t\t\tBoolean(errors.rnp)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\t\terrors.rnp?.type === \"required\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Registro\n\t\t\t\t\t\t\t\t\t\t\t\t\tProfissional\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\terrors.rnp?.message &&\n\t\t\t\t\t\t\t\t\t\t\t\t\"Falha ao validar o Registro Profissional fornecido\"\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Área de atuação\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"E-mail para recebimento de\n\t\t\t\t\t\t\t\t\t\tcurriculum\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Sobre a empresa\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnvio da logo\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedFile =\n\t\t\t\t\t\t\t\t\t\t\t\t\te.target.files[0];\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(selectedFile);\n\t\t\t\t\t\t\t\t\t\t\t\thandleFileSelect(e);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{selectedFile\n\t\t\t\t\t\t\t\t\t\t\t? selectedFile.name\n\t\t\t\t\t\t\t\t\t\t\t: \"Nenhum arquivo selecionado\"}\n\n\t\t\t\t\t\t\t\t\t\t{/* {selectedFile && (\n \n )} */}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnvio da image de capa\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedCoverFile =\n\t\t\t\t\t\t\t\t\t\t\t\t\te.target.files[0];\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedCoverFile\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\thandleCoverFileSelect(e);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{selectedCoverFile\n\t\t\t\t\t\t\t\t\t\t\t? selectedCoverFile.name\n\t\t\t\t\t\t\t\t\t\t\t: \"Nenhum arquivo selecionado\"}\n\t\t\t\t\t\t\t\t\t\t{/*
{JSON.stringify(selectedCoverFile, null, 4)}
*/}\n\t\t\t\t\t\t\t\t\t\t{/* {selectedCoverFile && (\n \n )} */}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAdicionar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioCadastroEmpresaView;\n","import React from \"react\";\nimport FormularioCadastroEmpresaView from \"./FormularioCadastroEmpresa.view\";\n\nfunction FormularioCadastroEmpresa(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioCadastroEmpresa;","import Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\n// import DialogTitle from '@mui/material/DialogTitle';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { Work } from \"@mui/icons-material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport Button from \"@mui/material/Button\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport Notify from \"../../../../utils/notification\";\nimport FormularioCadastroEmpresa from \"../../../Formularios/Cadastro/FormularioCadastroEmpresa\";\nimport ModalHeader from \"../../ModalHeader\";\nimport \"../styles.scss\";\n\nfunction ModalCadastroEmpresaView(props) {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\tconst lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { auth } = useAuthContext();\n\tconst { open, handleOpen } = useModalContext();\n\n\t/**\n\t * @function userAtive\n\t * Verifica se o usuário logado é um admin ou se está ativo no sistema, se sim abre o modal de FormularioCadastroEmpresa, senão emite um Notify.\n\t * @param {number} id - Representa o role do usuário logado no sistema.\n\t */\n\tfunction userAtive(id: number) {\n\t\tif (id === 1 || auth.role === \"admin\") {\n\t\t\thandleOpen();\n\t\t} else {\n\t\t\tNotify(\n\t\t\t\t\"Você não esta ativo no sistema, aguarde sua ativação\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tuserAtive(props.isActive);\n\t\t\t\t}}\n\t\t\t\tdata-testid=\"modal-cadastro-empresa\"\n\t\t\t>\n\t\t\t\tADICIONAR EMPRESA\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\nexport default ModalCadastroEmpresaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalCadastroEmpresaView from \"./ModalCadastroEmpresa.view\";\n\nfunction ModalCadastroEmpresa(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalCadastroEmpresa;\n","import { Warning } from \"@mui/icons-material\";\nimport DeleteForeverIcon from \"@mui/icons-material/DeleteForever\";\nimport { Box, FormControl, TextField, Typography } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Empresa } from \"../../../../models/Empresa\";\nimport {\n\tdeleteEmpresa,\n\tgetEmpresa,\n} from \"../../../../services/crud/crud.empresa\";\nimport Notify from \"../../../../utils/notification\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDeleteEmpresaView(props) {\n\tconst navigate = useNavigate();\n\tlet idEmpresaDeletar;\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\tconst { auth } = useAuthContext();\n\tconst [modalDelete, setModalDelete] = useState(false);\n\tconst [enableDelete, setEnableDelete] = useState(false);\n\n\t/**\n\t * @function handleNaoEDeletado\n\t * Faz uma verifição se o tipo de contrato foi deletado.\n\t * @param {Empresa} empresa - Representa cada empresa.\n\t * @returns {boolean} - Verifica os contratos que não foram deletados.\n\t */\n\tfunction handleNaoEDeletado(empresa: Empresa) {\n\t\treturn empresa.id !== idEmpresaDeletar;\n\t}\n\n\t/**\n\t * @function handleEmpresa\n\t * Faz uma mudança de rotas para /vagas\n\t */\n\tfunction handleEmpresa() {\n\t\tlocalStorage.setItem(\"id_empresa_filter\", props.companieId.toString());\n\t\tnavigate(`/vagas`);\n\t}\n\n\t/**\n\t * @function handleDeletaEmpresa\n\t * Verifica se o usuário é um admin ou se está ativo no sistema, se sim salva na variavel empresa a empresa ao qual o usuário quer deletar e em seguida verifica se a quantidade de vagas da empresa é igual a 0, caso sim será salvo uma chave de nome id_empresa_filter com o valor do id da empresa a ser deletada e abrirá o modal questionando se o usuário deseja ver as vagas existentes, caso não será emitido um Notify para a confirmação da deleção. Se o usuário não estiveer ativo ou não for admin será emitido um Notify.\n\t * @param { number} id - Representa o id da empresa.\n\t * @param { number} isActive - Representa se o usuário esta ativo, recebendo 1 para ativo e 0 para desativo.\n\t */\n\tasync function handleDeletaEmpresa(id: number, isActive: number) {\n\t\tvar active = 0;\n\t\tvar empresa: any = null;\n\t\tif (isActive) {\n\t\t\tactive = isActive;\n\t\t}\n\t\tif (!isActive) {\n\t\t\tawait getEmpresa(id).then(async (res: any) => {\n\t\t\t\t// alert(JSON.stringify(res));\n\t\t\t\t// alert(JSON.stringify(res.user));\n\t\t\t\tactive = res.user.is_active;\n\t\t\t\tempresa = res;\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\t(active === 1 || active === 1 || auth.role === \"admin\") &&\n\t\t\tempresa !== null\n\t\t) {\n\t\t\t// empresa = props.dados.tableRows.empresas.filter((empresa: Empresa) => {\n\t\t\t// return empresa.id === id;\n\t\t\t// });\n\n\t\t\tif (empresa.jobs.length > 0) {\n\t\t\t\thandleOpen();\n\t\t\t} else {\n\t\t\t\tsetModalDelete(!modalDelete);\n\t\t\t}\n\t\t} else {\n\t\t\tNotify(\n\t\t\t\t\"Você não está ativo no sistema, aguarde sua ativação!\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction ConfirmDeletaEmpresa(id: number) {\n\t\tsetModalDelete(!modalDelete);\n\t\tdeleteEmpresa(id)\n\t\t\t.then(() => {\n\t\t\t\tidEmpresaDeletar = id;\n\t\t\t\tlet novoArrayEmpresas =\n\t\t\t\t\tprops.dados.tableRows.empresas.filter(handleNaoEDeletado);\n\t\t\t\tprops.dados.setTableRows({ empresas: novoArrayEmpresas });\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{/* \n \n */}\n\t\t\t {\n\t\t\t\t\thandleDeletaEmpresa(props.companieId, props.isActive);\n\t\t\t\t}}\n\t\t\t\ttitle=\"Deletar\"\n\t\t\t\tdata-testid=\"modal-delete-empresa\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\"Você não pode deletar a empresa caso a vagas existentes\"}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tQuer ver as vagas existentes?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tNão\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleEmpresa();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSim\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAtenção! Esta é uma ação permanente.\n\t\t\t\t\t\t\t
Para prosseguir com a exclusão da empresa\n\t\t\t\t\t\t\tdigite \"excluir\" e clique em confirmar.\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\te.target.value.toLowerCase() === \"excluir\"\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tsetEnableDelete(true);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetEnableDelete(false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetModalDelete(!modalDelete);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNão\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tConfirmDeletaEmpresa(props.companieId);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tConfirmar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n}\nexport default ModalDeleteEmpresaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDeleteEmpresaView from \"./ModalDeleteEmpresa.view\";\n\nfunction ModalDeleteEmpresa(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDeleteEmpresa;\n","import Slide from \"@mui/material/Slide\";\nimport { TransitionProps } from \"@mui/material/transitions\";\nimport React from \"react\";\n\nexport const Transition = React.forwardRef(function Transition(\n\tprops: TransitionProps & {\n\t\tchildren: React.ReactElement;\n\t},\n\tref: React.Ref\n) {\n\treturn ;\n});\n","import { Box, Container, Typography } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { RespostaEmpresaId } from \"../../../models/Empresa\";\nimport { Usuario } from \"../../../models/Usuario\";\nimport {\n\tgetEmpresa,\n\tgetEmpresaRepresentante,\n} from \"../../../services/crud/crud.empresa\";\nimport { getUsuario } from \"../../../services/crud/crud.usuario\";\nimport \"../style.scss\";\n\nfunction ListaDetalhesEmpresaView(): React.ReactElement {\n\tlet idEmpresa = Number(localStorage.getItem(\"id_empresa\"));\n\tconst [empresa, setEmpresa] = useState();\n\tconst [usuario, setUsuario] = useState();\n\tconst { auth } = useAuthContext();\n\t// const { handleClose } = useModalContext();\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\" && idEmpresa) {\n\t\t\tgetEmpresa(idEmpresa)\n\t\t\t\t.then(async (data: any) => {\n\t\t\t\t\tsetEmpresa(data);\n\t\t\t\t\t// console.log(\"D: \" + data.user_id);\n\t\t\t\t\t// console.log(data.user_id);\n\t\t\t\t\t// alert(\"D: \" + data.user_id);\n\t\t\t\t\tawait getUsuario(data.user_id)\n\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\tsetUsuario(data);\n\t\t\t\t\t\t\tlocalStorage.removeItem(\"id_empresa\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else if (idEmpresa) {\n\t\t\tgetEmpresaRepresentante(idEmpresa)\n\t\t\t\t.then(async (data) => {\n\t\t\t\t\tsetEmpresa(data);\n\t\t\t\t\t// alert(\"DE: \" + data.user_id);\n\t\t\t\t\tawait getUsuario(data.user_id)\n\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\tsetUsuario(data);\n\t\t\t\t\t\t\tlocalStorage.removeItem(\"id_empresa\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\t}, [idEmpresa, auth.role]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{empresa?.name}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tVeja abaixo os dados da empresa\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tRepresentante:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t{`${usuario?.name} | ${usuario?.email}`}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNome Fantasia:\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t{empresa?.name}
\n\t\t\t\t\t\t\tCNPJ:\n\t\t\t\t\t\t{empresa?.cnpj}
\n\t\t\t\t\t\t\tÁrea:\n\t\t\t\t\t\t{empresa?.area}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tE-mail pare recebimento de currículos:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{empresa?.email_curriculum}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tSite:\n\t\t\t\t\t\t{empresa?.site}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNúmero de colaboradores:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{empresa?.employees_number}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSobre a empresa:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{empresa?.about && empresa.about.length > 50\n\t\t\t\t\t\t\t\t? empresa?.about\n\t\t\t\t\t\t\t\t\t\t?.match(/.{1,50}/g)\n\t\t\t\t\t\t\t\t\t\t.map((line, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{line}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t: empresa?.about}\n\t\t\t\t\t\t
\n\n\t\t\t\t{/* \n \n Representante:\n \n {`${usuario?.name} | ${usuario?.email}`}\n \n\n \n \n Nome Fantasia:\n \n \n {empresa?.name}\n \n \n\n \n CNPJ:\n \n {empresa?.cnpj}\n \n \n\n \n Área:\n \n {empresa?.area}\n \n \n\n \n \n E-mail pare recebimento de currículos:\n \n \n {empresa?.email_curriculum}\n \n \n\n \n Site:\n \n {empresa?.site}\n \n \n\n \n \n Número de colaboradores:\n \n \n {empresa?.employees_number}\n \n \n\n \n \n Sobre a empresa:\n \n \n {empresa?.about}\n \n */}\n\t\t\t\t{/* Dados antigos */}\n\n\t\t\t\t{/*
*/}\n\t\t\t
\n\t\t\t{/*
\n \n voltar\n \n
*/}\n\t\t\n\t);\n}\n\nexport default ListaDetalhesEmpresaView;\n","import React from \"react\";\nimport ListaDetalhesEmpresaView from \"./DetalhesEmpresa.view\";\n\nfunction ListaDetalhesEmpresa(): React.ReactElement {\n return (\n \n );\n}\n\nexport default ListaDetalhesEmpresa;","import { Store } from \"@mui/icons-material\";\nimport DescriptionIcon from \"@mui/icons-material/Description\";\nimport { DialogActions } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Transition } from \"../../../../utils/transition\";\nimport ListaDetalhesEmpresa from \"../../../Detalhes/DetalhesEmpresa\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDetalhesEmpresaView(props) {\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\n\t/**\n\t * @function handleDeletaEmpresa\n\t * Abre o modal de ListaDetalhesEmpresa e seta um valor no sessionStorage com a chave de nome id_empresa.\n\t * @param {number} id - Representa o id pra empresa.\n\t */\n\tfunction handleDetalhesEmpresa(id: number) {\n\t\thandleOpen();\n\t\tlocalStorage.setItem(\"id_empresa\", id.toString());\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleDetalhesEmpresa(props.companieId);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Detalhes\"}\n\t\t\t\tdata-testid=\"modal-detalhes-empresa\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t{/* */}\n\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tVoltar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDetalhesEmpresaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDetalhesEmpresaView from \"./ModalDetalhesEmpresa.view\";\n\nfunction ModalDetalhesEmpresa(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDetalhesEmpresa;\n","import { makeStyles } from \"@material-ui/core\";\nimport { Business, ManageSearch } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tFormControl,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tTypography,\n} from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Pagination from \"@mui/material/Pagination\";\nimport Paper from \"@mui/material/Paper\";\nimport Stack from \"@mui/material/Stack\";\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 TableRow from \"@mui/material/TableRow\";\nimport { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { TabelaEmpresas } from \"../../../models/FormulariosAlteracao\";\nimport { Meta } from \"../../../models/Meta\";\nimport { Usuario } from \"../../../models/Usuario\";\nimport {\n\tgetEmpresas,\n\tgetEmpresasRepresentante,\n\tgetEmpresasUsuario,\n} from \"../../../services/crud/crud.empresa\";\nimport {\n\tgetAllUsuarios,\n\tgetUsuario,\n} from \"../../../services/crud/crud.usuario\";\nimport maskCnpj from \"../../../utils/mask\";\nimport Notify from \"../../../utils/notification\";\nimport ModalAlteracoesEmpresa from \"../../Modal/ModalAlteracao/ModalAlteracaoEmpresa\";\nimport ModalCadastroEmpresa from \"../../Modal/ModalCadastro/ModalCadastroEmpresa\";\nimport ModalDeleteEmpresa from \"../../Modal/ModalDelete/ModalDeleteEmpresa\";\nimport ModalDetalhesEmpresa from \"../../Modal/ModalDetalhes/ModalDetalhesEmpresa\";\nimport { useReloadContext } from \"../hooks/useReload\";\nimport \"../style.scss\";\n\nfunction TabelaEmpresasView() {\n\tconst useStyles = makeStyles((theme) => ({\n\t\tselect: {\n\t\t\t\"& .MuiOutlinedInput-notchedOutline\": {\n\t\t\t\tborderColor: \"grey \",\n\t\t\t},\n\t\t\t\"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n\t\t\t\tborderColor: \"grey !important\",\n\t\t\t},\n\t\t\t\"&:hover .MuiOutlinedInput-notchedOutline\": {\n\t\t\t\tborderColor: \"black !important\",\n\t\t\t},\n\t\t},\n\t\tinputLabel: {\n\t\t\t// color: \"red\",\n\t\t\t\"&.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\tconst navigate = useNavigate();\n\tconst { auth } = useAuthContext();\n\tconst { reload, setReload } = useReloadContext();\n\n\tconst [paginacao, setPaginacao] = useState({} as Meta);\n\tconst [selectValue, setSelectValue] = useState(\"\");\n\n\t// const [tableRowsInitial, setTableRowsInitial] = useState({} as TabelaEmpresas);\n\tconst [dadosEmpresa, setDadosEmpresa] = useState({} as TabelaEmpresas);\n\tconst [representantes, setRepresentantes] = useState>([]);\n\tconst [representante, setRepresentante] = useState({} as Usuario);\n\n\t/**\n\t * @function handleIsRepresentante\n\t * Recebe um objeto do tipo Usuario e verifica se o role_id é igual a 2.\n\t * @param {Usuario} usuario - Representa um usuario.\n\t * @returns {boolean} - Verifica se o usuário é um representante e retorna true ou false.\n\t */\n\tfunction handleIsRepresentante(usuario: Usuario): boolean {\n\t\treturn usuario.role_id === 2;\n\t}\n\n\t/**\n\t * @function handleEmpresa\n\t * Verifica se o usuário não tem empresas cadastradas, caso sim exibe um Notify, senão salva uma chave no sessionStorage de nome id_usuario_filter cujo o valor será o id do usuário selecionado.\n\t * @param {number} id - Id do usuário selecionado.\n\t * @param {number} index - Representa uma posição no array de usuários.\n\t */\n\tfunction handleEmpresa(id: number, index: number) {\n\t\t// Check if dadosEmpresa is defined and has the property empresas\n\t\tif (dadosEmpresa && dadosEmpresa.empresas) {\n\t\t\t// Check if empresas[index] is defined\n\t\t\tif (dadosEmpresa.empresas[index]) {\n\t\t\t\t// Check if jobs is defined on empresas[index]\n\t\t\t\tif (\n\t\t\t\t\tdadosEmpresa.empresas[index].jobs &&\n\t\t\t\t\tdadosEmpresa.empresas[index].jobs.length > 0\n\t\t\t\t) {\n\t\t\t\t\tlocalStorage.setItem(\"id_empresa_filter\", id.toString());\n\t\t\t\t\tnavigate(`/vagas`);\n\t\t\t\t} else {\n\t\t\t\t\tNotify(\n\t\t\t\t\t\t\"Essa empresa não tem vagas cadastradas!\",\n\t\t\t\t\t\t\"warning\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Handle the case where empresas[index] is undefined\n\t\t\t\tconsole.error(\"Empresas at index\", index, \"is undefined\");\n\t\t\t}\n\t\t} else {\n\t\t\t// Handle the case where dadosEmpresa or dadosEmpresa.empresas is undefined\n\t\t\tconsole.error(\"dadosEmpresa or dadosEmpresa.empresas is undefined\");\n\t\t}\n\t}\n\n\t/**\n\t * @function handleChangePage\n\t * Faz uma requisição para a api e traz as informações da paginação e o array de tipos de contrato.\n\t * @param {object} event - Representa o elemento que sofreu o evento.\n\t * @param {number} page - Representa a página atual.\n\t */\n\tfunction handleChangePage(event: unknown, page: number) {\n\t\tif (auth.role === \"admin\") {\n\t\t\tif (selectValue !== \" \") {\n\t\t\t\tlet idUsuario = selectValue;\n\n\t\t\t\tgetEmpresasUsuario(`${page}`, Number(idUsuario)).then(\n\t\t\t\t\t(data) => {\n\t\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\t\tsetSelectValue(idUsuario);\n\t\t\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tgetEmpresas(`${page}`).then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tgetEmpresasRepresentante(`${page}`)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t\t\t// setTableRowsInitial({ empresas: data.data });\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * @function filterUser\n\t * Verifica se o valor do evento for diferente de vazio, caso sim atribui à constante results o array empresas atualizado com as empresas do usuário selecionado e em seguida atualiza o tableRows com o valor do results e o selecValue para o valor do evento, caso contrario seta o tableRows para o valor inicial e o selectValue para o valor do evento.\n\t * @param event - Representa o elemento que sofreu o evento.\n\t */\n\tfunction filterUser(event) {\n\t\tif (event.target.value !== \"\") {\n\t\t\tgetEmpresasUsuario(null, event.target.value).then((data) => {\n\t\t\t\t// setTableRowsInitial({ empresas: data.data });\n\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t});\n\n\t\t\t// const results = tableRowsInitial.empresas.filter((empresa) => {\n\t\t\t// return empresa.user_id === event.target.value;\n\t\t\t// });\n\n\t\t\tsetSelectValue(event.target.value);\n\t\t} else {\n\t\t\tsetReload(!reload);\n\t\t\t// setSelectValue(event.target.value);\n\t\t\t// setDadosEmpresa(tableRowsInitial);\n\t\t}\n\t}\n\n\t/**\n\t * @function exibirFiltroUsuario\n\t * Verifica se o usuário logado é um admin, se sim retorna um componente select.\n\t * @returns {JSX.Element} - Retorna um select que filtra as empresas por representates.\n\t */\n\tfunction exibirFiltroUsuario(): JSX.Element {\n\t\tif (auth.role === \"admin\") {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tFiltro de empresa por representantes\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTodas as empresas\n\t\t\t\t\t\t{representantes.map((representante, index) => (\n\t\t\t\t\t\t\t{`${representante.name} | ${representante.email}`}\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn <>;\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\") {\n\t\t\tgetEmpresas(null)\n\t\t\t\t.then((data) => {\n\t\t\t\t\t// setTableRowsInitial({ empresas: data.data });\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetAllUsuarios()\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetRepresentantes(data.filter(handleIsRepresentante));\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tif (localStorage.getItem(\"id_usuario_filter\")) {\n\t\t\t\tlet idUsuario = localStorage.getItem(\n\t\t\t\t\t\"id_usuario_filter\"\n\t\t\t\t) as string;\n\n\t\t\t\t// alert(\"AQUI: \" + idUsuario);\n\t\t\t\tgetEmpresasUsuario(null, Number(idUsuario)).then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetSelectValue(idUsuario);\n\t\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t\t\tlocalStorage.removeItem(\"id_usuario_filter\");\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tgetEmpresas(null)\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t\t\t\tsetSelectValue(\" \");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tgetEmpresasRepresentante(null)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetDadosEmpresa({ empresas: data.data });\n\t\t\t\t\t// setTableRowsInitial({ empresas: data.data });\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetUsuario(auth.user_id)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetRepresentante(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\n\t\tsetReload(true);\n\t}, [reload, setReload, auth.role, auth.user_id]);\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEmpresas cadastradas\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tListando todas as empresas cadastrados no\n\t\t\t\t\t\t\t\tsistema\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t{exibirFiltroUsuario()}\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tNome\n\t\t\t\t\t\t\t\t\tCNPJ\n\t\t\t\t\t\t\t\t\tVagas\n\t\t\t\t\t\t\t\t\tAções\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{dadosEmpresa.empresas?.map(\n\t\t\t\t\t\t\t\t\t(empresa, index) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t {empresa.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{empresa.cnpj\n\t\t\t\t\t\t\t\t\t\t\t\t\t? maskCnpj(empresa.cnpj)\n\t\t\t\t\t\t\t\t\t\t\t\t\t: empresa.numero_registro ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t \"Dado indisponível\"}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// alert(\"EMPRESA ID: \" + empresa.id);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// alert(\"INDEX: \" + JSON.stringify(index));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleEmpresa(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tempresa.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Vagas da empresa\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tendIcon={}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{empresa.jobs\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? empresa.jobs.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{/* */}\n\t\t\t\n\t\t\n\t);\n}\n\nexport default TabelaEmpresasView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../context/Modal/modal.context\";\nimport { ReloadContextProvider } from \"../reload.context\";\nimport TabelaEmpresasView from \"./TabelaEmpresas.view\";\n\nfunction TabelaEmpresas(): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default TabelaEmpresas;\n","import React from \"react\";\nimport TabelaEmpresas from \"../../../components/Tabelas/TabelaEmpresas\";\n\nexport default function Empresas(): React.ReactElement {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t);\n}\n","import axios from \"axios\";\nimport { createContext, useContext, useEffect, useState } from \"react\";\nimport { useParams } from \"react-router\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { IEvent, IEventType, IProfessionaExperience } from \"./types\";\n\ntype ApiResponse = {\n\tstudent: {\n\t\tid: number | null;\n\t\tprofile: null | any; // You might want to replace 'any' with a more specific type\n\t\tprofile_picture: null | any; // You might want to replace 'any' with a more specific type\n\t\tra: string;\n\t\tlink_lattes: null | any; // You might want to replace 'any' with a more specific type\n\t\tid_user: number | null;\n\t\tid_course: number | null;\n\t\tbirthday: null | string; // Replace 'string' with a more specific type if the birthday is expected to have a certain format\n\t\tphone: string;\n\t\tcep: string;\n\t\tstate: string;\n\t\tcity: string;\n\t\taddress: string;\n\t\tnumber: number | null;\n\t\tcreated_at: string;\n\t\tupdated_at: string;\n\t\tevents: any[]; // You might want to replace 'any' with a more specific type\n\t\tprofessionalExperiences: any[]; // You might want to replace 'any' with a more specific type\n\t\tcourse: {\n\t\t\tid: number | null;\n\t\t\tname: string;\n\t\t\tid_knowledge_area: number | null;\n\t\t\tcreated_at: string;\n\t\t};\n\t\tjobs: any[]; // You might want to replace 'any' with a more specific type\n\t};\n\tuser: {\n\t\tid: number | null;\n\t\tname: string;\n\t\temail: string;\n\t\tremember_me_token: null | any; // You might want to replace 'any' with a more specific type\n\t\tis_active: number | null;\n\t\trole_id: number | null;\n\t\tcreated_at: string;\n\t\tupdated_at: string;\n\t};\n};\n\nexport const MeuCurriculoContext = createContext(null);\n\n/**\n *\n * @param param0\n * @returns Provider para os dados partilhados entre os componentes do curriculo\n */\nexport const MeuCurriculoContextProvider = ({ children }: any) => {\n\tconst { auth } = useAuthContext();\n\tconst params = useParams();\n\tconst [professionalExperiences, setProfessionalExperiences] = useState<\n\t\tIProfessionaExperience[] | null\n\t>(null);\n\tconst [eventos, setEventos] = useState(null);\n\tconst [student, setStudent] = useState({\n\t\tstudent: {\n\t\t\tid: null,\n\t\t\tprofile: null,\n\t\t\tprofile_picture: null,\n\t\t\tra: \"\",\n\t\t\tlink_lattes: null,\n\t\t\tid_user: null,\n\t\t\tid_course: null,\n\t\t\tbirthday: null,\n\t\t\tphone: \"\",\n\t\t\tcep: \"\",\n\t\t\tstate: \"\",\n\t\t\tcity: \"\",\n\t\t\taddress: \"\",\n\t\t\tnumber: null,\n\t\t\tcreated_at: \"\",\n\t\t\tupdated_at: \"\",\n\t\t\tevents: [],\n\t\t\tprofessionalExperiences: [],\n\t\t\tcourse: {\n\t\t\t\tid: null,\n\t\t\t\tname: \"\",\n\t\t\t\tid_knowledge_area: null,\n\t\t\t\tcreated_at: \"\",\n\t\t\t},\n\t\t\tjobs: [],\n\t\t},\n\t\tuser: {\n\t\t\tid: null,\n\t\t\tname: \"\",\n\t\t\temail: \"\",\n\t\t\tremember_me_token: null,\n\t\t\tis_active: null,\n\t\t\trole_id: null,\n\t\t\tcreated_at: \"\",\n\t\t\tupdated_at: \"\",\n\t\t},\n\t});\n\tconst [signal, setSignal] = useState(false);\n\tconst [gruposDeEvento, setGruposDeEvento] = useState([]);\n\n\tconst loadExperienciasProfissionais = async () => {\n\t\t// alert(JSON.stringify(params));\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tlet experienciasUrl = `${process.env.REACT_APP_URL}/professional-experiences/`;\n\n\t\t// Concise ternary operator approach:\n\t\texperienciasUrl +=\n\t\t\tparams.id !== undefined ? `student/${params.id}` : \"\";\n\n\t\tawait axios\n\t\t\t.get(experienciasUrl, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tsetProfessionalExperiences(res.data.data);\n\t\t\t});\n\t};\n\n\tconst loadEventos = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\t// let eventosUrl = `${process.env.REACT_APP_URL}/events/`;\n\t\t// eventosUrl += params.id !== undefined ? `student/${params.id}` : \"\";\n\n\t\tif (!params.id && !auth.student_id) {\n\t\t\treturn;\n\t\t}\n\t\tlet eventosUrl = `${process.env.REACT_APP_URL}/students/${\n\t\t\tauth.student_id ? auth.student_id : params.id\n\t\t}`;\n\t\tawait axios\n\t\t\t.get(eventosUrl, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tconsole.log(\n\t\t\t\t\t\"%c EVENTOS - 1\",\n\t\t\t\t\t\"color: purple; font-size: 24px;\"\n\t\t\t\t);\n\t\t\t\tconsole.log(res.data.student.events);\n\t\t\t\tsetEventos(res.data.student.events);\n\t\t\t\t// setEventos(res.data.data);\n\t\t\t})\n\t\t\t.finally(() => {});\n\t};\n\tconst loadData = async () => {\n\t\t// alert(JSON.stringify(params));\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tlet apiUrl = `${process.env.REACT_APP_URL}/students/`;\n\t\tapiUrl += `${\n\t\t\tauth.student_id ? auth.student_id : params.id ? params.id : \"\"\n\t\t}`;\n\n\t\tawait axios\n\t\t\t.get(`${apiUrl}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then(async (res: any) => {\n\t\t\t\tif (Array.isArray(res.data)) {\n\t\t\t\t\tsetStudent(res.data[0]);\n\t\t\t\t\tif (\n\t\t\t\t\t\tres.data &&\n\t\t\t\t\t\tres.data[0].student &&\n\t\t\t\t\t\tres.data[0].student.eventos\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetEventos(res.data[0].student.eventos);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloadEventos();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tres.data &&\n\t\t\t\t\t\tres.data[0].student &&\n\t\t\t\t\t\tres.data[0].student.professionalExperiences\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetProfessionalExperiences(\n\t\t\t\t\t\t\tres.data[0].student.professionalExperiences\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloadExperienciasProfissionais();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetStudent(res.data);\n\t\t\t\t\tif (\n\t\t\t\t\t\tres.data &&\n\t\t\t\t\t\tres.data.student &&\n\t\t\t\t\t\tres.data.student.eventos\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetEventos(res.data.student.eventos);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloadEventos();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tres.data &&\n\t\t\t\t\t\tres.data.student &&\n\t\t\t\t\t\tres.data.student.professionalExperiences\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetProfessionalExperiences(\n\t\t\t\t\t\t\tres.data.student.professionalExperiences\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloadExperienciasProfissionais();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\talert(\"Falha ao buscar perfil do estudante\");\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\ttry {\n\t\t\tif (params.id) loadData();\n\t\t\telse loadData();\n\t\t} catch (err) {\n\t\t\tconsole.log(err);\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tuseEffect(() => {\n\t\ttry {\n\t\t\tloadData();\n\t\t\tsetSignal(false);\n\t\t} catch (err) {\n\t\t\tconsole.log(err);\n\t\t}\n\t\t// eslint-disable-next-line\n\t}, [signal, setSignal]);\n\n\t/**\n\t * Busca tipos de evento e em seguida categoriza os eventos cadastrado pelo aluno em\n\t * grupos de evento definidos por tipo e nome\n\t */\n\tconst getTiposDeEvento = async () => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/event-type`;\n\n\t\taxios\n\t\t\t.get(`${apiUrl}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tconsole.log(\"%cEVENTOS\", \"color:green; font-size: 24px;\");\n\t\t\t\tconsole.log(res.data);\n\t\t\t\tconsole.table(res.data);\n\t\t\t\treturn res.data;\n\t\t\t})\n\t\t\t.then((data: IEventType[]) => {\n\t\t\t\tif (eventos && Array.isArray(eventos)) {\n\t\t\t\t\tconst group = eventos.reduce((acc: any, event) => {\n\t\t\t\t\t\tconst eventType = data.find(\n\t\t\t\t\t\t\t(type) => type.id === event.id_event_type\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (eventType) {\n\t\t\t\t\t\t\tacc[eventType.name] = acc[eventType.name] || [];\n\t\t\t\t\t\t\tacc[eventType.name].push(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {});\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\"%cGRUPOS DE EVENTOS\",\n\t\t\t\t\t\t\"color:green; font-size: 24px;\"\n\t\t\t\t\t);\n\t\t\t\t\tconsole.log(eventos);\n\t\t\t\t\tconsole.log(group);\n\t\t\t\t\tsetGruposDeEvento(group);\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tgetTiposDeEvento();\n\t\t// eslint-disable-next-line\n\t}, [eventos]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport const useMeuCurriculo = () => {\n\treturn useContext(MeuCurriculoContext);\n};\n","import {\n\tBox,\n\tButton,\n\tFormControl,\n\tFormHelperText,\n\tInput,\n\tInputLabel,\n\tMenuItem,\n\tPaper,\n\tSelect,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport axios from \"axios\";\nimport { Dispatch, SetStateAction, useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport Notification from \"../../../../../utils/notification\";\nimport { useMeuCurriculo } from \"../../context\";\n\n// Define a function to handle file selection\nconst handleFileSelect = (e, onChange) => {\n\tconst selectedFile = e.target.files[0];\n\tonChange(selectedFile);\n};\n\ntype PropType = {\n\tevento: any;\n\tsetOpen: Dispatch>;\n};\n\n/**\n *\n * @param param0\n * @returns Formulário para cadastrar nova participação em evento\n */\nexport default function EventoForm({ evento, setOpen }: PropType) {\n\tconst {\n\t\tcontrol,\n\t\thandleSubmit,\n\t\tsetValue,\n\t\tformState: { errors },\n\t} = useForm();\n\t// const { state } = usePalcoProfissional();\n\tconst { auth } = useAuthContext();\n\tconst { setSignal } = useMeuCurriculo();\n\n\tconst onSubmitEvents = async (data) => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\ttry {\n\t\t\tconst formData = new FormData();\n\t\t\t// Append other form fields\n\t\t\tfor (const key in data) {\n\t\t\t\tif (key !== \"certificate\") {\n\t\t\t\t\tformData.append(key, data[key]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Append profile picture only if it's not provided through perfil.profile_picture\n\t\t\tif (selectedFile) {\n\t\t\t\tformData.append(\"certificate\", selectedFile);\n\t\t\t}\n\n\t\t\tconst url = evento\n\t\t\t\t? `${process.env.REACT_APP_URL}/events/${evento.id}`\n\t\t\t\t: `${process.env.REACT_APP_URL}/events`;\n\t\t\tconst method = evento ? \"put\" : \"post\";\n\n\t\t\tconst response = await axios[method](url, formData, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\"Content-Type\": \"multipart/form-data\",\n\t\t\t\t},\n\t\t\t\tonUploadProgress: (progressEvent: any) => {\n\t\t\t\t\tconst progress = Math.round(\n\t\t\t\t\t\t(progressEvent.loaded / progressEvent.total) * 100\n\t\t\t\t\t);\n\t\t\t\t\tconsole.log(`Upload Progress: ${progress}%`);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconsole.log(response);\n\n\t\t\tNotification(\"Successo\", \"success\");\n\t\t} catch (error) {\n\t\t\tNotification(\"Falha\", \"error\");\n\t\t\t// console.error(\"Error:\", error);\n\t\t} finally {\n\t\t\tsetOpen(false);\n\t\t\t// alert(typeof setOpen);\n\t\t\t// setOpen(false);\n\t\t}\n\t\tsetSignal(true);\n\t};\n\n\tconst [tiposDeEvento, setTiposDeEvento] = useState([]);\n\tconst getTiposDeEvento = async () => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/event-type`;\n\n\t\taxios\n\t\t\t.get(`${apiUrl}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tsetTiposDeEvento(res.data);\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tgetTiposDeEvento();\n\t}, []);\n\n\t// Set default values when experience is provided\n\tuseEffect(() => {\n\t\tif (evento) {\n\t\t\tObject.keys(evento).forEach((key) => {\n\t\t\t\tif (key === \"started\" || key === \"finished\") {\n\t\t\t\t\tsetValue(key, evento[key].split(\"T\")[0]);\n\t\t\t\t} else {\n\t\t\t\t\tsetValue(key, evento[key]);\n\t\t\t\t}\n\t\t\t\t// setValue(key, evento[key]);\n\t\t\t});\n\t\t}\n\t}, [evento, setValue]);\n\n\tconst [selectedFile, setSelectedFile] = useState(null);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAdicionar participação em eventos\n\t\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(evento, null, 4)}
*/}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTipo de evento\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{tiposDeEvento &&\n\t\t\t\t\t\t\t\t\t\t\t\ttiposDeEvento.map((item) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{errors.id_event_type && ( // Display error message if there's an error for id_event_type\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tError message for id_event_type\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnvio do certificado\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedFile =\n\t\t\t\t\t\t\t\t\t\t\t\t\te.target.files[0];\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(selectedFile);\n\t\t\t\t\t\t\t\t\t\t\t\thandleFileSelect(\n\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedFile\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{selectedFile\n\t\t\t\t\t\t\t\t\t\t\t? selectedFile.name\n\t\t\t\t\t\t\t\t\t\t\t: \"Nenhum arquivo selecionado\"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSalvar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n}\n","import { Business, Close, Delete, Edit } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tFormControlLabel,\n\tFormGroup,\n\tIconButton,\n\tPaper,\n\tSwitch,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport axios, { AxiosResponse } from \"axios\";\nimport { Fragment, useState } from \"react\";\nimport ModalHeader from \"../../../../../components/Modal/ModalHeader\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport Notification from \"../../../../../utils/notification\";\nimport { useMeuCurriculo } from \"../../context\";\nimport EventoForm from \"./EventoForm\";\n\n/**\n *\n * @param param0\n * @returns Componente de evento\n */\nexport default function Evento({ evento }: any) {\n\tconst theme = useTheme();\n\tconst { auth } = useAuthContext();\n\tconst [open, setOpen] = useState(false);\n\tconst handleOpen = () => setOpen(true);\n\tconst handleClose = () => setOpen(false);\n\n\tconst { setSignal } = useMeuCurriculo();\n\n\tconst handleDelete = async (id) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/events`;\n\n\t\tawait axios\n\t\t\t.delete(`${apiUrl}/${id}`, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\tNotification(\"Excluindo evento\", \"success\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetSignal(true);\n\t\t\t});\n\t};\n\n\tconst [, setSwitchValue] = useState(true); // or whatever the initial value should be\n\tconst [candidaturaModalStatus, setCandidaturaModalStatus] =\n\t\tuseState(false);\n\n\tconst handleUpdate = async (id, value) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/events`;\n\n\t\tawait axios\n\t\t\t.put(\n\t\t\t\t`${apiUrl}/${id}`,\n\t\t\t\t{\n\t\t\t\t\tvisible: value,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t// Notification(\"Atualizando evento!\", \"success\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetSignal(true);\n\t\t\t});\n\n\t\ttry {\n\t\t\t// Your existing axios code\n\n\t\t\t// Update the local state or any other logic you need\n\t\t\tsetSwitchValue(value);\n\t\t\tNotification(\"Atualizando experiência profissional\", \"success\");\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error updating API:\", error);\n\t\t} finally {\n\t\t\tsetSignal(true);\n\t\t}\n\t};\n\n\treturn (auth.role === \"admin\" || auth.role === \"representante_empresa\") &&\n\t\tevento.visible === 0 ? (\n\t\t\n\t) : (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tEditar evento\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{/*
{JSON.stringify(evento, null, 4)}
*/}\n\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\tclose={() => setCandidaturaModalStatus(false)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tDeseja confirmar a exclusão do evento cadastrado:{\" \"}\n\t\t\t\t\t\"{evento.title}\" em {evento.sponsor}?\n\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\t{JSON.stringify(job, null, 4)}\n\t\t\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tCancelar\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tconsole.log(\"TODO:\");\n\t\t\t\t\t\t\t// handleDelete(experience.id);\n\t\t\t\t\t\t\thandleDelete(evento.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tConfirmar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{evento.title} - {evento.sponsor}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDuração:{\" \"}\n\t\t\t\t\t\t\t\t\t{new Date(\n\t\t\t\t\t\t\t\t\t\tevento.started\n\t\t\t\t\t\t\t\t\t).toLocaleDateString()}{\" \"}\n\t\t\t\t\t\t\t\t\ta{\" \"}\n\t\t\t\t\t\t\t\t\t{new Date(\n\t\t\t\t\t\t\t\t\t\tevento.finished\n\t\t\t\t\t\t\t\t\t).toLocaleDateString()}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCertificado:{\" \"}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<>Acesse aqui\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\t\t{JSON.stringify(h, null, 4)}\n\t\t\t\t\t\t\t\t\t\t\t\t
*/}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\thandleOpen();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t// handleDelete(evento.id);\n\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.checked;\n\t\t\t\t\t\t\t\t\t\t\t\thandleUpdate(\n\t\t\t\t\t\t\t\t\t\t\t\t\tevento.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel=\"Divulgar informação\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","import { Add, Business, Close, PlaylistRemove } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tDialog,\n\tDivider,\n\tGrid,\n\tIconButton,\n\tPaper,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { Fragment, useState } from \"react\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport { useMeuCurriculo } from \"../../context\";\nimport Evento from \"./Evento\";\nimport EventoForm from \"./EventoForm\";\n\n/**\n *\n * @returns Retorna o componente de agrupamento de eventos com a lista de eventos separados em grupamentos\n * a partir dos event-types cadastrados e permitidos\n */\nexport default function Eventos() {\n\tconst theme = useTheme();\n\tconst { auth } = useAuthContext();\n\tconst { gruposDeEvento } = useMeuCurriculo();\n\n\tconst [open, setOpen] = useState(false);\n\tconst handleOpen = () => setOpen(true);\n\tconst handleClose = () => setOpen(false);\n\n\t// const [gruposDeEvento, setGruposDeEvento] = useState([]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCadastrar novo evento\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tParticipação em Eventos\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{/*
{JSON.stringify(gruposDeEvento, null, 4)}
*/}\n\t\t\t\t{Object.keys(gruposDeEvento).length > 0 && gruposDeEvento ? (\n\t\t\t\t\tObject.keys(gruposDeEvento).map(\n\t\t\t\t\t\t(grupo: any, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{grupo}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{gruposDeEvento[grupo].map((h, index) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNenhum evento encontrado\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t
\n\t);\n}\n","import axios from \"axios\";\nimport { useState } from \"react\";\nimport { useParams } from \"react-router\";\n\nexport type ProfileType = {\n\temail: string;\n\tid: number;\n\tis_active: boolean | number;\n\tname: string;\n\tremember_me_token: string | null;\n\trole_id: number;\n\tcreated_at: string;\n\tupdated_at: string;\n};\n\nconst INITIAL_STATE: ProfileType = {\n\temail: \"\",\n\tid: 0,\n\tis_active: false,\n\tname: \"\",\n\tremember_me_token: null,\n\trole_id: 0,\n\tcreated_at: \"\",\n\tupdated_at: \"\",\n};\n\n/**\n *\n * @returns retorna perfil do aluno\n */\nconst useProfile = () => {\n\tconst params = useParams();\n\tconst [perfil, setProfile] = useState(INITIAL_STATE);\n\n\tconst loadProfile = async () => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/profile`;\n\n\t\tawait axios\n\t\t\t.get(`${apiUrl}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tsetProfile(res.data[0].student);\n\t\t\t});\n\t};\n\n\tconst loadProfileById = async () => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/students/${params.id}`;\n\n\t\tawait axios\n\t\t\t.get(`${apiUrl}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tsetProfile(res.data);\n\t\t\t});\n\t};\n\n\treturn { perfil, loadProfile, loadProfileById };\n};\n\nexport { useProfile };\n","import { createContext, useContext, useEffect, useReducer } from \"react\";\n\nexport interface PalcoProfissionalState {\n\tstate: PalcoProfissional;\n\treducer: () => {};\n}\n\ninterface PalcoProfissional {\n\tuser: User;\n\tprofile: Profile;\n\tcursos: Curso[];\n\tusuario: Usuario;\n\taccessToken: string;\n}\n\ninterface Usuario {\n\tid: string;\n\tname: string;\n\temail: string;\n\tcourse: string;\n\tlearning_level: string;\n\trole: string;\n\tcreated_at: string;\n\tupdated_at: string;\n}\n\ninterface Curso {\n\tcodigo_nivel_ensino: number;\n\tnome_nivel_ensino: string;\n\tcodigo_curso: string;\n\tnome_curso: string;\n\tperiodo?: number;\n\tsituacao: string;\n\tidhabilitacaofilial: string;\n\tidperlet: string;\n}\n\ninterface Profile {\n\tnome: string;\n\tfuncao: string;\n\temail: string;\n}\n\ninterface User {\n\ttipo_auth: string;\n\ttipo_auth_moodle?: any;\n\tfuncionario_rm: any[];\n\tprofessor: boolean;\n\taluno: boolean;\n\tmoodle_admin: boolean;\n}\n\nconst initial = {};\n\nexport function taskReducer(state: PalcoProfissional, payload: any) {\n\tswitch (payload.action) {\n\t\tcase \"set_user\":\n\t\t\treturn { ...state, user: payload.user };\n\t\tcase \"set_profile\":\n\t\t\treturn { ...state, profile: payload.profile };\n\t\tcase \"set_cursos\":\n\t\t\treturn { ...state, cursos: payload.cursos };\n\t\tcase \"accessToken\":\n\t\t\treturn { ...state, accessToken: payload.accessToken };\n\t\tcase \"restore_state\":\n\t\t\treturn payload.payload; // Assuming payload is the saved state\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport const PalcoProfissionalContext = createContext(\n\t{}\n);\n\nexport const PalcoProfissionalProvider = ({ children }): any => {\n\tconst [state, dispatch] = useReducer(taskReducer, initial);\n\n\tuseEffect(() => {\n\t\tconst data = localStorage.getItem(\n\t\t\t\"@palco-profissional:state\"\n\t\t) as string;\n\n\t\tdispatch({\n\t\t\taction: \"restore_state\",\n\t\t\tpayload: JSON.parse(data),\n\t\t});\n\t}, []);\n\n\t// useEffect(() => {\n\t// \tlocalStorage.setItem(\n\t// \t\t\"@palco-profissional:state\",\n\t// \t\tJSON.stringify(state)\n\t// \t);\n\t// }, [state]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport const usePalcoProfissional = () => {\n\treturn useContext(PalcoProfissionalContext);\n};\n","/**\n * ## PerfilForm: Componente ReactJS funcional para exibir o formulário de edição de perfil.\n *\n * Este componente recebe uma prop para fechar o editor no modal e uma prop para realizar o reload do perfil.\n *\n * ## Exemplo de uso:\n *\n * ```javascript\n * const App = () => {\n * return ;\n * };\n * ```\n *\n * ## Props:\n *\n * * `handleCloseProfileEditor`: Um método para fechar o modal de edição de perfil.\n * * `setReload`: Um método para realizar o reload do perfil do usuário.\n *\n * ## Funções:\n *\n * * `handleFileSelect(e, onChange)`: Define o estado que irá armazenar o arquivo de imagem.\n * * `onSubmitEvents(data)` : Faz o envio dos dados do formulário do componente\n */\n\n// Importações\nimport { CameraAlt } from \"@mui/icons-material\";\nimport {\n\tAvatar,\n\tBox,\n\tButton,\n\tFormControl,\n\tInput,\n\tPaper,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport axios from \"axios\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport { usePalcoProfissional } from \"../../../../../context/PalcoProfissional\";\nimport Notification from \"../../../../../utils/notification\";\nimport { useMeuCurriculo } from \"../../context\";\n\n// Código do componente\n\nfunction PerfilForm({ handleCloseProfileEditor, setReload }: any) {\n\tconst { auth } = useAuthContext();\n\t// react-hook-form\n\tconst { control, handleSubmit, setValue } = useForm();\n\t//\tcontexto do palco profissional\n\tconst { state } = usePalcoProfissional();\n\t// estado interno do component\n\tconst [perfil, setProfile] = useState(null);\n\t// variável de estado para armazenar arquivo selecionado\n\tconst [selectedFile, setSelectedFile] = useState(null);\n\tconst { setSignal } = useMeuCurriculo();\n\n\t/**\n\t *\n\t * @param e\n\t * @param onChange\n\t * @description\tdefine o método empregado para selecionar o arquivo a ser anexado no formulário\n\t */\n\tconst handleFileSelect = (e, onChange) => {\n\t\tconst selectedFile = e.target.files[0];\n\t\tonChange(selectedFile);\n\t};\n\n\t/**\n\t *\n\t * @param data\n\t * @description define o método empregado para submeter o formulário e dar feedback ao usuário\n\t */\n\tconst onSubmitEvents = async (data: any) => {\n\t\tconsole.clear();\n\t\tconsole.log(data);\n\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\ttry {\n\t\t\tconst formData = new FormData();\n\t\t\t// Anexa campos do formulário que não sejam a foto de perfil\n\t\t\tfor (const key in data) {\n\t\t\t\tif (key !== \"profile_picture\") {\n\t\t\t\t\tformData.append(key, data[key]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Anexa campo de profile_picture somente se esta tiver sido definida previamente\n\t\t\tif (selectedFile) {\n\t\t\t\tformData.append(\"profile_picture\", selectedFile);\n\t\t\t}\n\n\t\t\tconst url =\n\t\t\t\tperfil || data.id\n\t\t\t\t\t? `${process.env.REACT_APP_URL}/students/${data.id}`\n\t\t\t\t\t: `${process.env.REACT_APP_URL}/students`;\n\t\t\tconst method = perfil ? \"put\" : \"post\";\n\n\t\t\tawait axios[method](url, formData, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\"Content-Type\": \"multipart/form-data\",\n\t\t\t\t},\n\t\t\t}).then(() => {\n\t\t\t\twindow.location.reload();\n\t\t\t});\n\n\t\t\t//\tResposta da chamada no Axios\n\t\t\thandleCloseProfileEditor();\n\n\t\t\tNotification(\n\t\t\t\t`Sucesso ao ${perfil ? \"atualizar\" : \"cadastrar\"} perfil!`\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tNotification(\n\t\t\t\t`Falha ao ${perfil ? \"atualizar\" : \"cadastrar\"} perfil!`,\n\t\t\t\t\"error\"\n\t\t\t);\n\t\t} finally {\n\t\t\tsetReload(true);\n\t\t}\n\t\tsetSignal(true);\n\t};\n\n\t/**\n\t * ao montar o componente busca os dados existentes do perfil e popula o estado.\n\t */\n\tuseEffect(() => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\t// const apiUrl = `${process.env.REACT_APP_URL}/profile`;\n\t\tconst studentUrl = `${process.env.REACT_APP_URL}/students`;\n\n\t\taxios\n\t\t\t.get(`${studentUrl}/${auth.student_id}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => {\n\t\t\t\t// let email = res.data.student.email;\n\t\t\t\tdelete res.data.student.jobs;\n\t\t\t\tdelete res.data.student.professionalExperiences;\n\t\t\t\tdelete res.data.student.events;\n\t\t\t\tsetProfile({\n\t\t\t\t\t...res.data.student,\n\t\t\t\t\tcurso: res.data.student.course.name,\n\t\t\t\t\temail: res.data.user.email.toLowerCase(),\n\t\t\t\t});\n\t\t\t});\n\n\t\t// axios\n\t\t// \t.get(`${apiUrl}`, {\n\t\t// \t\theaders: {\n\t\t// \t\t\tAuthorization: \"Bearer \" + token,\n\t\t// \t\t},\n\t\t// \t})\n\t\t// \t.then(async (res: any) => {\n\t\t// \t\tlet email = res.data[0].email;\n\t\t// \t\tawait axios\n\t\t// \t\t\t.get(`${studentUrl}/${res.data[0].student.id}`, {\n\t\t// \t\t\t\theaders: {\n\t\t// \t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t// \t\t\t\t},\n\t\t// \t\t\t})\n\t\t// \t\t\t.then((res) => {\n\t\t// \t\t\t\tdelete res.data.jobs;\n\t\t// \t\t\t\tsetProfile({ ...res.data, email });\n\t\t// \t\t\t});\n\t\t// \t});\n\t\t// eslint-disable-next-line\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (perfil) {\n\t\t\tObject.keys(perfil).forEach((key) => {\n\t\t\t\tif (key === \"birthday\") {\n\t\t\t\t\tif (perfil[\"birthday\"] !== null) {\n\t\t\t\t\t\tsetValue(key, perfil[key].split(\"T\")[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetValue(key, new Date());\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetValue(key, perfil[key]);\n\t\t\t\t}\n\t\t\t\t// setValue(key, perfil[key]);\n\t\t\t});\n\t\t}\n\t}, [perfil, setValue]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tEditar perfil\n\t\t\t\t\t\n\t\t\t\t\t\tAtualize as informações do seu perfil e demais detalhes\n\t\t\t\t\t\taqui.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tFoto de perfil\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedFile =\n\t\t\t\t\t\t\t\t\t\t\t\t\te.target.files[0];\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(selectedFile);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/> */}\n\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst selectedFile =\n\t\t\t\t\t\t\t\t\t\t\t\t\te.target.files[0];\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(selectedFile);\n\t\t\t\t\t\t\t\t\t\t\t\thandleFileSelect(\n\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedFile\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedFile\n\t\t\t\t\t\t\t\t\t\t\t\t\t? selectedFile.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"Foto para o seu perfil\"}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t setOpenProfileEditor(false)}\n\t\t\t\t\t\t\t\tonClick={() => handleCloseProfileEditor()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{perfil ? \"Atualizar\" : \"Salvar\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default PerfilForm;\n","import {\n\tBox,\n\tButton,\n\tFormControl,\n\tPaper,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport axios, { AxiosResponse } from \"axios\";\nimport { Fragment, useEffect } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport { useMeuCurriculo } from \"../../context\";\n\n/**\n *\n * @param param0\n * @returns Formulário para cadastrar experiência profissional\n */\nexport default function ExperienciaProfissionalForm({\n\texperience,\n\tsetOpen,\n}: any) {\n\tconst { control, handleSubmit, setValue } = useForm();\n\t// const { state } = usePalcoProfissional();\n\tconst { auth } = useAuthContext();\n\tconst { setSignal } = useMeuCurriculo();\n\n\tconst onSubmit = async (data) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/professional-experiences`;\n\n\t\tif (experience) {\n\t\t\t// If experience is provided, update existing data\n\t\t\tawait axios\n\t\t\t\t.put(`${apiUrl}/${experience.id}`, data, {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\tconsole.log(\"Success!\");\n\t\t\t\t});\n\t\t} else {\n\t\t\t// If experience is not provided, create new data\n\t\t\tawait axios\n\t\t\t\t.post(apiUrl, data, {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\tconsole.log(\"Success!\");\n\t\t\t\t});\n\t\t}\n\n\t\tsetOpen(false);\n\t\tsetSignal(true);\n\t};\n\n\t// Set default values when experience is provided\n\tuseEffect(() => {\n\t\tif (experience) {\n\t\t\tObject.keys(experience).forEach((key) => {\n\t\t\t\tif (key === \"started\" || key === \"finished\") {\n\t\t\t\t\tsetValue(key, experience[key].split(\"T\")[0]);\n\t\t\t\t} else {\n\t\t\t\t\tsetValue(key, experience[key]);\n\t\t\t\t}\n\t\t\t\t// setValue(key, experience[key]);\n\t\t\t});\n\t\t}\n\t}, [experience, setValue]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(experience, null, 4)}
*/}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAdicionar experiência profissional\n\t\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(auth.user_id), null, 4)}
*/}\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t setOpen(false)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{experience ? \"Atualizar\" : \"Salvar\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","import { Business, Close, Delete, Edit } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tFormControlLabel,\n\tFormGroup,\n\tIconButton,\n\tPaper,\n\tSwitch,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport axios, { AxiosResponse } from \"axios\";\nimport { Fragment, useState } from \"react\";\nimport ModalHeader from \"../../../../../components/Modal/ModalHeader\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport Notification from \"../../../../../utils/notification\";\nimport { useMeuCurriculo } from \"../../context\";\nimport ExperienciaProfissionalForm from \"./ExperienciaProfissionalForm\";\n\nexport default function ExperienciaProfissional({ experience }: any) {\n\tconst { auth } = useAuthContext();\n\tconst theme = useTheme();\n\tconst [open, setOpen] = useState(false);\n\tconst { setSignal } = useMeuCurriculo();\n\tconst [candidaturaModalStatus, setCandidaturaModalStatus] =\n\t\tuseState(false);\n\tconst handleOpen = () => {\n\t\tsetOpen(true);\n\t};\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleDelete = async (id) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/professional-experiences`;\n\n\t\tawait axios\n\t\t\t.delete(`${apiUrl}/${id}`, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\tNotification(\n\t\t\t\t\t\"Experiência profissional excluída com sucesso\",\n\t\t\t\t\t\"success\"\n\t\t\t\t);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetSignal(true);\n\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t});\n\t};\n\n\tconst [, setSwitchValue] = useState(true); // or whatever the initial value should be\n\n\tconst handleUpdate = async (id, value) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/professional-experiences`;\n\n\t\tawait axios\n\t\t\t.put(\n\t\t\t\t`${apiUrl}/${id}`,\n\t\t\t\t{\n\t\t\t\t\tvisible: value,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t// Notification(\"Atualizando experiência profissional\", \"success\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetSignal(true);\n\t\t\t});\n\n\t\ttry {\n\t\t\t// Your existing axios code\n\n\t\t\t// Update the local state or any other logic you need\n\t\t\tsetSwitchValue(value);\n\t\t\tNotification(\"Atualizando experiência profissional\", \"success\");\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error updating API:\", error);\n\t\t} finally {\n\t\t\tsetSignal(true);\n\t\t}\n\t};\n\n\treturn (auth.role === \"admin\" || auth.role === \"representante_empresa\") &&\n\t\texperience.visible === 0 ? (\n\t\t\n\t) : (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEditar experiência Profissional\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\tclose={() => setCandidaturaModalStatus(false)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tDeseja confirmar a exclusão da experiência profissional\n\t\t\t\t\tcadastrada: \"{experience.role}\" em{\" \"}\n\t\t\t\t\t{experience.company_name}?\n\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\t{JSON.stringify(job, null, 4)}\n\t\t\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tCancelar\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tconsole.log(\"TODO:\");\n\t\t\t\t\t\t\thandleDelete(experience.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tConfirmar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(experience, null, 4)}
*/}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCargo: {experience.role}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{experience.company_name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tPeríodo:{\" \"}\n\t\t\t\t\t\t\t\t\t{new Date(\n\t\t\t\t\t\t\t\t\t\texperience.started\n\t\t\t\t\t\t\t\t\t).toLocaleDateString()}{\" \"}\n\t\t\t\t\t\t\t\t\ta{\" \"}\n\t\t\t\t\t\t\t\t\t{new Date(\n\t\t\t\t\t\t\t\t\t\texperience.finished\n\t\t\t\t\t\t\t\t\t).toLocaleDateString()}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSetor: {`${experience.department}`}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDescrição: {experience.description}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*
{JSON.stringify(experience, null, 4)}
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\thandleOpen();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t// handleDelete(experience.id);\n\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.checked;\n\t\t\t\t\t\t\t\t\t\t\t\thandleUpdate(\n\t\t\t\t\t\t\t\t\t\t\t\t\texperience.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewValue\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel=\"Divulgar informação\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","import {\n\tAdd,\n\tBusiness,\n\tClose,\n\tPersonAdd,\n\tPlaylistRemove,\n} from \"@mui/icons-material\";\nimport {\n\tBox,\n\tDialog,\n\tGrid,\n\tIconButton,\n\tPaper,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport { useMeuCurriculo } from \"../../context\";\nimport { useProfile } from \"../../hooks/Profile/useProfile\";\nimport PerfilForm from \"../Perfil/PerfilForm\";\nimport ExperienciaProfissional from \"./ExperienciaProfissional\";\nimport ExperienciaProfissionalForm from \"./ExperienciaProfissionalForm\";\n\n/**\n *\n * @returns Tela de experiencias profissionais do curriculo\n */\nexport default function ExperienciasProfissionais() {\n\tconst theme = useTheme();\n\t// const history = useNavigate();\n\tconst { auth } = useAuthContext();\n\t// const { state } = usePalcoProfissional();\n\tconst { loadProfile } = useProfile();\n\tconst [reload, setReload] = useState(false);\n\tconst { professionalExperiences } = useMeuCurriculo();\n\n\t/**\n\t * Controlador do formulário de experiencia profissional\n\t */\n\tconst [open, setOpen] = useState(false);\n\tconst handleOpen = () => setOpen(true);\n\tconst handleClose = () => setOpen(false);\n\n\t/**\n\t * Controlador do formulário de perfil do usuário\n\t */\n\tconst [openProfileEditor, setOpenProfileEditor] = useState(false);\n\t// const handleOpenProfileEditor = () => setOpenProfileEditor(true);\n\tconst handleCloseProfileEditor = () => setOpenProfileEditor(false);\n\n\t/**\n\t * Carrega dados de perfil do usuário\n\t */\n\tuseEffect(() => {\n\t\tloadProfile();\n\t\t// eslint-disable-next-line\n\t}, [reload]);\n\n\tuseEffect(() => {\n\t\tloadProfile();\n\t\t// eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCadastrar perfil\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCadastrar experiência Profissional\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tExperiência profissional\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{professionalExperiences &&\n\t\t\t\t\tArray.isArray(professionalExperiences) &&\n\t\t\t\t\tprofessionalExperiences.length > 0 ? (\n\t\t\t\t\t\tprofessionalExperiences.map((h, index) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tNenhuma experiência profissional encontrada\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/**\n * ## MeuComponente: Componente ReactJS funcional para exibir o perfil do aluno.\n *\n * Este componente não recebe props, porém utiliza dos dados do contexto MeuCurriculoContext.\n *\n * ## Exemplo de uso:\n *\n * ```javascript|typescript\n * const App = () => {\n * return ;\n * };\n * ```\n *\n * ## Props:\n *\n * * `none`: Nenhuma prop necessária.\n *\n * ## Funções:\n *\n * * `formatarSaudacao(nome)`: Formata a saudação de acordo com o valor da prop 'nome'.\n */\n\n// Importações\nimport {\n\tCalendarMonth,\n\tClose,\n\tEdit,\n\tHome,\n\tMail,\n\tManageAccounts,\n\tPhone,\n\tSchool,\n} from \"@mui/icons-material\";\nimport {\n\tAvatar,\n\tBox,\n\tDialog,\n\tGrid,\n\tIconButton,\n\tPaper,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { amber } from \"@mui/material/colors\";\nimport { Fragment, useState } from \"react\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport { useMeuCurriculo } from \"../../context\";\nimport PerfilForm from \"./PerfilForm\";\n\n// Código do componente\nfunction MeuPerfil() {\n\tconst theme = useTheme();\n\t// const history = useNavigate();\n\tconst { auth } = useAuthContext();\n\t// const { state } = usePalcoProfissional();\n\t// const { perfil, loadProfile, loadProfileById } = useProfile();\n\tconst [, setReload] = useState(false);\n\tconst { student } = useMeuCurriculo();\n\n\t// Controlador do formulário de experiencia profissional\n\tconst [, setOpen] = useState(false);\n\t// const handleOpen = () => setOpen(true);\n\t// const handleClose = () => setOpen(false);\n\n\t// Controlador do formulário de perfil do usuário\n\tconst [openProfileEditor, setOpenProfileEditor] = useState(false);\n\tconst handleOpenProfileEditor = () => setOpenProfileEditor(true);\n\tconst handleCloseProfileEditor = () => setOpenProfileEditor(false);\n\n\t// Carrega dados de perfil do usuário\n\t// useEffect(() => {\n\t// \tif (auth.role !== \"student\") {\n\t// \t\tloadProfileById();\n\t// \t} else {\n\t// \t\tloadProfile();\n\t// \t}\n\t// \t// eslint-disable-next-line\n\t// }, [reload]);\n\n\t// useEffect(() => {\n\t// \tif (auth.role !== \"student\") {\n\t// \t\tloadProfileById();\n\t// \t} else {\n\t// \t\tloadProfile();\n\t// \t}\n\t// \t// eslint-disable-next-line\n\t// }, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tEditar perfil\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{/*
{JSON.stringify(student, null, 4)}
*/}\n\n\t\t\t{/* \n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\thistory(-1);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsx={{ mt: 3, mb: 3 }}\n\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\t\tdisableElevation\n\t\t\t\t\t>\n\t\t\t\t\t\tVoltar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t */}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tPerfil\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{student?.user?.name\n\t\t\t\t\t\t\t\t\t? student.user.name[0]\n\t\t\t\t\t\t\t\t\t: \"0\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{student?.user?.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(student &&\n\t\t\t\t\t\t\t\t\tstudent.student &&\n\t\t\t\t\t\t\t\t\tstudent.student.course &&\n\t\t\t\t\t\t\t\t\tstudent?.student?.course?.name\n\t\t\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t\t(word) =>\n\t\t\t\t\t\t\t\t\t\t\t\tword.charAt(0).toUpperCase() +\n\t\t\t\t\t\t\t\t\t\t\t\tword.slice(1)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t.join(\" \")) ??\n\t\t\t\t\t\t\t\t\t\"Curso não informado\"}{\" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{student?.student?.profile}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t Aniversário:{\" \"}\n\t\t\t\t\t\t\t{student?.student?.birthday\n\t\t\t\t\t\t\t\t? new Date(\n\t\t\t\t\t\t\t\t\t\tstudent.student.birthday\n\t\t\t\t\t\t\t\t ).toLocaleDateString()\n\t\t\t\t\t\t\t\t: \"Aniversário não informado pelo usuário\"}\n\t\t\t\t\t\t\t{/*
{JSON.stringify(perfil, null, 4)}
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{student?.student?.address\n\t\t\t\t\t\t\t\t? `${student.student.address}, ${student.student.cep}, ${student.student.city} - ${student.student.state}`\n\t\t\t\t\t\t\t\t: \"Endereço não informado\"}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{student && student.user\n\t\t\t\t\t\t\t\t? student.user.email.toLowerCase()\n\t\t\t\t\t\t\t\t: \"Email não informado\"}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{student && student?.phone !== \"\"\n\t\t\t\t\t\t\t\t? student.student.phone\n\t\t\t\t\t\t\t\t: \"Telefone não informado pelo usuário\"}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{student?.student?.course?.name\n\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t(word) =>\n\t\t\t\t\t\t\t\t\t\tword.charAt(0).toUpperCase() +\n\t\t\t\t\t\t\t\t\t\tword.slice(1)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join(\" \") ?? \"Curso não informado\"}{\" \"}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n\n// Exporta o componente\nexport default MeuPerfil;\n","import {\n\tBarElement,\n\tCategoryScale,\n\tChart as ChartJS,\n\tChartOptions,\n\tLegend,\n\tLinearScale,\n\tTooltip,\n} from \"chart.js\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Bar } from \"react-chartjs-2\";\n// Registro dos componentes do Chart.js\nChartJS.register(BarElement, CategoryScale, LinearScale, Tooltip, Legend);\n\ninterface Skill {\n\tdescricao: string;\n\tcarga_horaria_aproveitada: number;\n\tcarga_horaria_maxima: number;\n}\n\ninterface SkillsChartProps {\n\tdata: Skill[];\n}\n\nconst SkillsChart: React.FC = ({ data }) => {\n\tconst [isSmallScreen, setIsSmallScreen] = useState(window.innerWidth < 600);\n\tconst chartRef = useRef | null>(null); // Referência ao gráfico\n\n\tuseEffect(() => {\n\t\tconst handleResize = () => {\n\t\t\tsetIsSmallScreen(window.innerWidth < 600);\n\t\t};\n\n\t\twindow.addEventListener(\"resize\", handleResize);\n\t\treturn () => window.removeEventListener(\"resize\", handleResize);\n\t}, []);\n\n\tif (!Array.isArray(data) || data.length === 0) {\n\t\treturn
Nenhum dado disponível para exibir o gráfico.
;\n\t}\n\n\tconst chartData = {\n\t\tlabels: data.map((skill) => skill.descricao),\n\t\tdatasets: [\n\t\t\t{\n\t\t\t\tlabel: \"Carga Horária Aproveitada\",\n\t\t\t\tdata: data.map((skill) => skill.carga_horaria_aproveitada),\n\t\t\t\tbackgroundColor: \"rgba(88, 86, 214, 0.8)\",\n\t\t\t\tborderColor: \"rgba(88, 86, 214, 1)\",\n\t\t\t\tborderWidth: 1,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: \"Carga Horária Máxima\",\n\t\t\t\tdata: data.map((skill) => skill.carga_horaria_maxima),\n\t\t\t\tbackgroundColor: \"rgba(140, 138, 138, 0.27)\",\n\t\t\t\tborderColor: \"rgba(140, 138, 138, 0.30)\",\n\t\t\t\tborderWidth: 1,\n\t\t\t},\n\t\t],\n\t};\n\n\tconst options: ChartOptions<\"bar\"> = {\n\t\tresponsive: true,\n\t\tmaintainAspectRatio: false,\n\t\tindexAxis: \"y\",\n\t\tplugins: {\n\t\t\ttooltip: {\n\t\t\t\tcallbacks: {\n\t\t\t\t\tlabel: (context) => {\n\t\t\t\t\t\tconst value = context.raw as number;\n\t\t\t\t\t\treturn `${context.dataset.label}: ${Math.round(\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t)}H`;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tdisplay: true,\n\t\t\t},\n\t\t},\n\t\tscales: {\n\t\t\tx: {\n\t\t\t\tbeginAtZero: true,\n\t\t\t\tmax: 100,\n\t\t\t},\n\t\t\ty: {\n\t\t\t\tticks: {\n\t\t\t\t\tdisplay: !isSmallScreen, // Oculta labels no eixo Y em telas pequenas\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tanimation: {\n\t\t\tonComplete: () => {\n\t\t\t\tif (!chartRef.current) return; // Verifique se o gráfico está disponível\n\t\t\t\tconst chart = chartRef.current;\n\t\t\t\tconst ctx = chart.ctx;\n\n\t\t\t\tchart.data.datasets.forEach((dataset, datasetIndex) => {\n\t\t\t\t\tconst meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tmeta.data.forEach((bar, index) => {\n\t\t\t\t\t\tconst value = dataset.data[index] as number;\n\t\t\t\t\t\tconst roundedValue = Math.round(value);\n\t\t\t\t\t\tconst xPos = bar.x + 10; // Ajuste horizontal\n\t\t\t\t\t\tconst yPos = bar.y + 4; // Ajuste vertical\n\t\t\t\t\t\tctx.textAlign = \"start\";\n\t\t\t\t\t\tctx.fillText(`${roundedValue}h`, xPos, yPos);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t};\n\n\t// Ajuste responsivo: Altura do gráfico varia conforme o tamanho da tela\n\tconst containerStyle = {\n\t\twidth: \"100%\",\n\t\theight: isSmallScreen ? \"500px\" : \"600px\", // Altura maior para telas grandes\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default SkillsChart;\n","import React, { useState } from \"react\";\nimport { Tabs, Tab, Box, Container } from \"@mui/material\";\n\ninterface TabsComponentProps {\n tabLabels: string[]; // Rótulos das abas\n tabContents: React.ReactNode[]; // Conteúdo correspondente a cada aba\n}\n\nconst TabsComponent: React.FC = ({ tabLabels, tabContents }) => {\n const [selectedTab, setSelectedTab] = useState(0);\n\n const handleChange = (event: React.SyntheticEvent, newValue: number) => {\n setSelectedTab(newValue);\n };\n\n return (\n \n \n \n {tabLabels.map((label, index) => (\n \n ))}\n \n \n {tabContents[selectedTab]}\n \n );\n};\n\nexport default TabsComponent;\n","import { Box, Container, Grid, Typography } from \"@mui/material\";\nimport axios from \"axios\";\nimport { useEffect, useState } from \"react\";\nimport { ModalContextProvider } from \"../../../context/Modal/modal.context\";\nimport Eventos from \"./components/Eventos\";\nimport ExperienciasProfissionais from \"./components/ExperienciasProfissionais\";\nimport MeuPerfil from \"./components/Perfil\";\nimport SkillsChart from \"./components/SkillsChart/SkillsChart\";\nimport TabsComponent from \"./components/TabsComponent/TabsComponent\";\n// import { MeuCurriculoContextProvider } from \"./context\";\nimport { useMeuCurriculo } from \"./../../Private/MeuCurriculo/context\";\n\ninterface Skill {\n\tdescricao: string;\n\tcarga_horaria_aproveitada: number;\n\tcarga_horaria_maxima: number;\n}\n\nfunction MeuCurriculo() {\n\tconst tabLabels = [\"Currículo\", \"Skills\"];\n\n\tconst [skillsData, setSkillsData] = useState([]);\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(null);\n\n\tconst { student } = useMeuCurriculo();\t\n\t\n\t// Função para buscar dados da API\n\tuseEffect(() => {\n\t\tconst fetchSkillsData = async () => {\n\t\t\tconst data: any = JSON.parse(\n\t\t\t\tString(localStorage.getItem(\"@palco-profissional:state\"))\n\t\t\t\t);\n\t\t\t\tconsole.log(\"DATAAAAAAA\", data);\n\n\t\t\t\tconst ra_aluno = data?.usuario?.id;\n\t\t\t\tconst id_matriz = data?.cursos[data?.cursos?.length - 1]?.id_matriz;\n\t\t\t\t\n\t\t\t\tconsole.log(\"ALUNO:\", student.student.ra);\n\t\t\t\tconsole.log(\"MATRIZ:\", id_matriz);\n\t\t\t\t\n\t\t\t\tif ((ra_aluno && id_matriz) || (!!student.student.ra)) {\n\t\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\t// 1. Faz a requisição para pegar os cursos do aluno\t\n\t\t\t\t\tconst cursosResponse = await axios.get(\n\t\t\t\t\t\t`https://apigateway.uninta.edu.br/ead/ecossistema/alunos/${!!ra_aluno ? ra_aluno : student.student.ra}/cursos`\n\t\t\t\t\t);\n\n\t\t\t\t\tconst cursosData = cursosResponse.data;\n\t\t\t\t\t// console.log(\"CURSOS DO ALUNO:\", cursosData);\n\n\t\t\t\t\t// Acessando o último curso e extraindo o id_matriz da última matriz\n\t\t\t\t\tconst cursos = cursosData?.data || [];\n\t\t\t\t\tconst ultimoCurso = cursos[cursos.length - 1]; // Pegando o último curso (mais recente)\n\n\t\t\t\t\tif (!ultimoCurso) {\n\t\t\t\t\t\tsetError(\"Nenhum curso encontrado.\");\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extraindo o id_matriz do último curso\n\t\t\t\t\tconst id_matriz = ultimoCurso?.id_matriz;\n\t\t\t\t\tconsole.log(\"ID MATRIZ:\", id_matriz);\n\n\t\t\t\t\t// 2. Faz a requisição para pegar os cursos do aluno e a matriz\n\t\t\t\t\tconst response = await axios.get(\n\t\t\t\t\t\t`https://apigateway.uninta.edu.br/ead/educacional/alunos/${!!ra_aluno ? ra_aluno : student.student.ra}/matrizes/${id_matriz}/componentes`\n\t\t\t\t\t);\t\n\n\t\t\t\t\t// Verificação e transformação dos dados\n\t\t\t\t\tconst responseData = response.data.data || [];\n\t\t\t\t\tconst formattedData = responseData.flatMap((item: any) =>\n\t\t\t\t\t\titem.modalidades.map((modalidade: any) => ({\n\t\t\t\t\t\t\tdescricao: modalidade.descricao || \"Sem descrição\",\n\t\t\t\t\t\t\tcarga_horaria_aproveitada:\n\t\t\t\t\t\t\t\tparseFloat(\n\t\t\t\t\t\t\t\t\tmodalidade.carga_horaria_aproveitada\n\t\t\t\t\t\t\t\t) || 0,\n\t\t\t\t\t\t\tcarga_horaria_maxima:\n\t\t\t\t\t\t\t\tparseFloat(modalidade.carga_horaria_maxima) ||\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t}))\n\t\t\t\t\t);\n\n\t\t\t\t\tsetSkillsData(formattedData);\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tsetError(err.message || \"Erro ao buscar os dados.\");\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfetchSkillsData();\n\t}, [student]);\n\n\tconst tabContents = [\n\t\t// Conteúdo da aba \"Currículo\"\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t,\n\n\t\t// Conteúdo da aba \"Skills\"\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAtividades Complementares\n\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\"Carregando...\"\n\t\t\t\t\t\t) : error ? (\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t,\n\t];\n\n\treturn (\n\t\t// \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t// \n\t);\n}\n\nexport default MeuCurriculo;\n","import Notify from \"../../utils/notification\";\nimport api from \"../api\";\n\nexport async function postOrientations(data: any): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n const formData = new FormData();\n formData.append('title', data.title);\n formData.append('description', data.description);\n formData.append('banner_path', data.banner_path);\n formData.append('access_link', data.access_link);\n\n return await api.post(\"/orientations\", formData, { headers: { \"Authorization\": `Bearer ${token}` } }).then((data) => {\n Notify(\"Orientação cadastrado com sucesso!\");\n return data;\n }).catch((error: any) => {\n if (error.response) {\n if (error.response.data.errors) {\n error.response.data.errors.map((e) => Notify(e.message, \"error\"));\n } else {\n }\n } else if (error.request) {\n Notify(\"Sem resposta do servidor:\", error.request);\n } else {\n Notify(\"Erro de configuração da solicitação:\", error.message);\n }\n Notify(\"Orientação não foi cadastrado, verifique os dados e tente novamente!\", \"error\");\n\n return error;\n });\n\n}\n\nexport async function putOrientations(data: any): Promise {\n console.log(\"🚀 ~ data:\", data)\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n const formData = new FormData();\n data.title && formData.append('title', data.title);\n data.description && formData.append('description', data.description);\n data.banner_path && formData.append('banner_path', data.banner_path);\n data.access_link && formData.append('access_link', data.access_link);\n data.show && formData.append('show', JSON.parse(data.show));\n\n return await api.put(`/orientations/${data.id}`, formData, { headers: { \"Authorization\": `Bearer ${token}` } }).then((data) => {\n Notify(\"Orientação atualizada com sucesso!\");\n return data;\n }).catch((e: any) => {\n Notify(\"Orientação não foi atualizada, verifique os dados e tente novamente!\", \"error\");\n return e;\n });\n}\n\n\nexport async function deleteOrientations(data: any): Promise {\n console.log(\"🚀 ~ data:\", data)\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.delete(`/orientations/${data.id}`, { headers: { \"Authorization\": `Bearer ${token}` } }).then((data) => {\n Notify(\"Orientação removida com sucesso!\");\n return data;\n }).catch((e: any) => {\n Notify(\"Orientação não foi removida, verifique os dados e tente novamente!\", \"error\");\n return e;\n });\n}\n\n\nexport async function getOrientations({ page = 1, title = \"\" } = {}) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/orientations?page=${page}${Boolean(title) ? `&title=${title}` : \"\"} `, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\nexport async function getOrientationsAll() {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/orientations`, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n}\n\nexport async function getOrientation(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`orientations / ${id} `, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n\nexport async function deleteUsuario(id: number) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.delete(`/ orientations / ${id} `, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .catch((e) => {\n return e;\n });\n\n}","import IconButton from \"@material-ui/core/IconButton\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport {\n\tButton,\n\tCircularProgress,\n\tContainer,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tPagination,\n\tStack,\n\tTextField,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport React, { CSSProperties, Fragment, useEffect } from \"react\";\n// import { getAllUsuarios } from '../../services/crud/crud.usuario';\nimport { Box, Paper } from \"@material-ui/core\";\nimport { Delete } from \"@mui/icons-material\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport ModalHeader from \"../../../components/Modal/ModalHeader\";\nimport {\n\tdeleteOrientations,\n\tgetOrientations,\n\tpostOrientations,\n\tputOrientations,\n} from \"../../../services/crud/crud.orientacoes\";\nimport { Transition } from \"../../../utils/transition\";\n\nexport default function OrientacoesAdmin() {\n\tconst theme = useTheme();\n\tconst isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\tconst [ellipsisEnabled, setEllipsisEnabled] = React.useState({});\n\n\tconst styles: { [key: string]: CSSProperties } = {\n\t\tdiv: {\n\t\t\t// border: \"1px solid #ddd\",\n\t\t\twidth: \"100%\",\n\t\t\toverflowX: \"auto\",\n\t\t},\n\t\ttable: {\n\t\t\tborderCollapse: \"collapse\",\n\t\t\twidth: \"100%\",\n\t\t\toverflowX: \"auto\",\n\t\t},\n\t\tButton: {\n\t\t\tdisplay: \"flex\",\n\t\t\tjustifyContent: \"center\",\n\t\t\talignItems: \"center\",\n\t\t},\n\t\tcaption: {\n\t\t\twidth: \"100%\",\n\t\t\tpadding: \"10px\",\n\t\t\tdisplay: \"flex\",\n\t\t\tgap: isMobile ? \"10px\" : \"0px\",\n\t\t\tjustifyContent: isMobile ? \"centre\" : \"space-between\",\n\t\t\talignItems: isMobile ? \"flex-start\" : \"center\",\n\t\t\tflexDirection: isMobile ? \"column\" : \"row\",\n\t\t},\n\t\tpagination: {\n\t\t\twidth: \"100%\",\n\t\t\tpadding: \"10px\",\n\t\t\tdisplay: \"flex\",\n\t\t\tjustifyContent: \"flex-end\",\n\t\t\talignItems: \"center\",\n\t\t},\n\t\tCheckbox: {\n\t\t\tbackgroundColor: \"#f2f2f2\",\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"center\",\n\t\t\twidth: \"5%\",\n\t\t},\n\t\tBanner: {\n\t\t\tbackgroundColor: \"#f2f2f2\",\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"center\",\n\t\t\twidth: \"10%\",\n\t\t},\n\t\tTitulo: {\n\t\t\tbackgroundColor: \"#f2f2f2\",\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"left\",\n\t\t\twidth: \"30%\",\n\t\t},\n\t\tDescricao: {\n\t\t\tbackgroundColor: \"#f2f2f2\",\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"left\",\n\t\t\twidth: \"45%\",\n\t\t},\n\t\tEdit: {\n\t\t\tbackgroundColor: \"#f2f2f2\",\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"center\",\n\t\t\twidth: \"10%\",\n\t\t},\n\n\t\t//*Cell\n\n\t\tCellCheckbox: {\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"center\",\n\t\t\twidth: \"5%\",\n\t\t},\n\t\tCellBanner: {\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"center\",\n\t\t\twidth: \"10%\",\n\t\t},\n\t\tCellTitulo: {\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"left\",\n\t\t\twidth: \"30%\",\n\t\t},\n\t\tCellDescricao: {\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"left\",\n\t\t\twidth: \"45%\",\n\t\t\tmaxWidth: ellipsisEnabled ? `100px` : \"\",\n\t\t\twhiteSpace: ellipsisEnabled ? \"nowrap\" : \"normal\",\n\t\t\toverflow: ellipsisEnabled ? \"hidden\" : \"visible\",\n\t\t\ttextOverflow: ellipsisEnabled ? \"ellipsis\" : \"clip\",\n\t\t\tcursor: \"pointer\",\n\t\t},\n\t\tCellEdit: {\n\t\t\tpadding: \"10px\",\n\t\t\tborder: \"1px solid #ddd\",\n\t\t\ttextAlign: \"center\",\n\t\t\twidth: \"10%\",\n\t\t},\n\t\timage: {\n\t\t\tmaxWidth: \"40px\",\n\t\t\tmaxHeight: \"40px\",\n\t\t} as CSSProperties,\n\t};\n\tconst [stateDrawer, setStateDrawer] = React.useState({\n\t\tdialog: false,\n\t\tid: undefined,\n\t});\n\tconst [stateOrientations, setStateOrientations] = React.useState(null);\n\tconst [load, setLoad] = React.useState(true);\n\tconst [refesh, setRefesh] = React.useState(true);\n\tconst {\n\t\thandleSubmit,\n\t\treset,\n\t\tgetValues,\n\t\tsetValue,\n\t\tsetError,\n\t\tcontrol,\n\t\tclearErrors,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst [image, setImage] = React.useState(null);\n\tconst inputRef: any = React.useRef(null);\n\tconst [hancleTitle, setHancleTitle] = React.useState(\"\");\n\tlet timeoutId;\n\n\tconst handleDrop = (e) => {\n\t\te.preventDefault();\n\t\tconst file = e.dataTransfer.files[0];\n\t\thandleImage(file);\n\t};\n\n\tconst handleFileInputChange = (e) => {\n\t\tconst file = e.target.files[0];\n\t\thandleImage(file);\n\t};\n\n\tconst handleImage = (file) => {\n\t\tif (file && file.type.startsWith(\"image/\")) {\n\t\t\tconst reader = new FileReader();\n\n\t\t\treader.onload = function (event: any) {\n\t\t\t\tsetImage(event.target.result);\n\t\t\t\tsetValue(\"banner_path\", file);\n\t\t\t\tclearErrors(\"banner_path\");\n\t\t\t};\n\n\t\t\treader.readAsDataURL(file);\n\t\t} else {\n\t\t\talert(\"Por favor, escolha uma imagem válida.\");\n\t\t}\n\t};\n\n\tconst handleChange = (event: React.ChangeEvent, value: number) => {\n\t\tsetLoad(true);\n\t\tgetOrientations({ page: value, title: hancleTitle }).then((data) => {\n\t\t\tsetStateOrientations(data);\n\t\t\tsetLoad(false);\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tgetOrientations().then((data) => {\n\t\t\tsetStateOrientations(data);\n\t\t\tsetLoad(false);\n\t\t});\n\t}, [refesh]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetStateDrawer((state) => ({\n\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\tdialog: true,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tADICIONAR ORIENTAÇÃO\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetHancleTitle(e.target.value);\n\t\t\t\t\t\t\t\t\tsetLoad(true);\n\t\t\t\t\t\t\t\t\t// Cancela o timeout existente para evitar chamadas desnecessárias\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutId);\n\n\t\t\t\t\t\t\t\t\t// Configura um novo timeout\n\t\t\t\t\t\t\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tgetOrientations({\n\t\t\t\t\t\t\t\t\t\t\ttitle: e.target.value,\n\t\t\t\t\t\t\t\t\t\t}).then((data) => {\n\t\t\t\t\t\t\t\t\t\t\tsetStateOrientations(data);\n\t\t\t\t\t\t\t\t\t\t\tsetLoad(false);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}, 3000); // Atraso de 1000 milissegundos (3 segundo)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\t\t\tstartAdornment: (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{load ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{stateOrientations?.data?.map(\n\t\t\t\t\t\t\t\t\t\t\t(itens, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetLoad(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tputOrientations(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshow: Boolean(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titens.show\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"false\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"true\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: itens.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t).finally(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetLoad(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetRefesh(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!refesh\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{itens.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEllipsisEnabled(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprevState\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...prevState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[index]:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!prevState[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{itens.description}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
OcultarBannerTítuloDescriçãoAções
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treset({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titens.description,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taccess_link:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titens.access_link,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: itens.title,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbanner_path:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titens.banner_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// setImage(itens.banner_path)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetStateDrawer(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdialog: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: itens.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEdição\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tawait deleteOrientations(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: itens.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t).then(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tasync () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tawait getOrientations().then(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetStateOrientations(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetLoad(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstartIcon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tExcluir\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\n\t\t\t {\n\t\t\t\t\tsetStateDrawer((state) => ({\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\tdialog: true,\n\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t}));\n\t\t\t\t}}\n\t\t\t\tmaxWidth={\"sm\"}\n\t\t\t\tfullWidth={true}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tif (!stateDrawer.id) {\n\t\t\t\t\t\t\tif (!data.banner_path) {\n\t\t\t\t\t\t\t\tsetError(\"banner_path\", {\n\t\t\t\t\t\t\t\t\ttype: \"manual\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpostOrientations({\n\t\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\t\t\tbanner_path: data.banner_path,\n\t\t\t\t\t\t\t\taccess_link: data.access_link,\n\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\tsetStateDrawer((state) => ({\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\tdialog: false,\n\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treset({\n\t\t\t\t\t\t\t\t\tdescription: null,\n\t\t\t\t\t\t\t\t\taccess_link: null,\n\t\t\t\t\t\t\t\t\ttitle: null,\n\t\t\t\t\t\t\t\t\tbanner_path: null,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tsetLoad(true);\n\t\t\t\t\t\t\t\tsetRefesh(!refesh);\n\t\t\t\t\t\t\t\tsetImage(null);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tputOrientations({\n\t\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\t\t\taccess_link: data.access_link,\n\t\t\t\t\t\t\t\tbanner_path: image\n\t\t\t\t\t\t\t\t\t? data.banner_path\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\tid: stateDrawer.id,\n\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\tsetStateDrawer((state) => ({\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\tdialog: false,\n\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treset({\n\t\t\t\t\t\t\t\t\tdescription: null,\n\t\t\t\t\t\t\t\t\taccess_link: null,\n\t\t\t\t\t\t\t\t\ttitle: null,\n\t\t\t\t\t\t\t\t\tbanner_path: null,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tsetLoad(true);\n\t\t\t\t\t\t\t\tsetRefesh(!refesh);\n\t\t\t\t\t\t\t\tsetImage(null);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t// setOrientations((prevorientations) => ({\n\t\t\t\t\t\t\t\t\t\t// \t...prevorientations,\n\t\t\t\t\t\t\t\t\t\t// \ttitulo: e.target.value,\n\t\t\t\t\t\t\t\t\t\t// }));\n\t\t\t\t\t\t\t\t\t\t// setOrientationsPut((prevorientationsPut: any) => ({\n\t\t\t\t\t\t\t\t\t\t// \t...prevorientationsPut,\n\t\t\t\t\t\t\t\t\t\t// \ttitulo: e.target.value,\n\t\t\t\t\t\t\t\t\t\t// }));\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\terror={errors.title?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.title?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Título\" não pode ser\n\t\t\t\t\t\t\t\t\t\t\t\tvazio!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t// setOrientations((prevorientations) => ({\n\t\t\t\t\t\t\t\t\t\t// \t...prevorientations,\n\t\t\t\t\t\t\t\t\t\t// \tdescription: e.target.value,\n\t\t\t\t\t\t\t\t\t\t// }));\n\t\t\t\t\t\t\t\t\t\t// setOrientationsPut((prevorientationsPut: any) => ({\n\t\t\t\t\t\t\t\t\t\t// \t...prevorientationsPut,\n\t\t\t\t\t\t\t\t\t\t// \tdescription: e.target.value,\n\t\t\t\t\t\t\t\t\t\t// }));\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.description?.type === \"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.description?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Descrição\" não pode ser\n\t\t\t\t\t\t\t\t\t\t\t\tvazio!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t// setOrientations((prevorientations) => ({\n\t\t\t\t\t\t\t\t\t\t// \t...prevorientations,\n\t\t\t\t\t\t\t\t\t\t// \taccess_link: e.target.value,\n\t\t\t\t\t\t\t\t\t\t// }));\n\t\t\t\t\t\t\t\t\t\t// setOrientationsPut((prevorientationsPut: any) => ({\n\t\t\t\t\t\t\t\t\t\t// \t...prevorientationsPut,\n\t\t\t\t\t\t\t\t\t\t// \taccess_link: e.target.value,\n\t\t\t\t\t\t\t\t\t\t// }));\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.access_link?.type === \"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.access_link?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Link\" não pode ser\n\t\t\t\t\t\t\t\t\t\t\t\tvazio!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tinputRef.current.click();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{image || getValues(\"banner_path\") ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tinputRef.current.click();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tClique ou arraste e solte uma imagem\n\t\t\t\t\t\t\t\t\t\taqui\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{errors.banner_path?.type === \"manual\" && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tO campo \"Banner\" não pode ser vazio!\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetStateDrawer((state) => ({\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\tdialog: false,\n\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treset({\n\t\t\t\t\t\t\t\t\tdescription: null,\n\t\t\t\t\t\t\t\t\taccess_link: null,\n\t\t\t\t\t\t\t\t\ttitle: null,\n\t\t\t\t\t\t\t\t\tbanner_path: null,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tsetImage(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tcancelar\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n","import { AtualizarTipoContrato, CriarTipoContrato, RespostaTipoContrato, TipoContrato } from \"../../models/TipoContrato\";\nimport Notify from \"../../utils/notification\";\nimport api from \"../api\";\n\n/**\n * @function postTipoContrato\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo post para a rota /contract-types, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados do tipo de contrato cadastrado. \n * @param {CriarTipoContrato} data - Dados do tipo de contrato a ser cadastrado.\n */\n\nexport async function postTipoContrato(data: CriarTipoContrato): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n let dados = {\n name: data.name,\n }\n\n return await api.post(\"/contract-types\", dados, { headers: { \"Authorization\": `Bearer ${token}` } }).then((data) => {\n Notify('Contrato cadastrado com sucesso!');\n return data;\n }).catch((e: any) => {\n Notify(\"Contrato não foi cadastrada, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n}\n\n/**\n * @function getTiposContratos\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /contract-types/:pagina, caso o parâmetro página não seja nulo, caso não, a requisição do tipo get é feita para a rota /contract-types, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas os tipos de contrato disponíveis na base de dados.\n * @param {string | null} pagina - Número da página escolhida para a paginação.\n */\n\nexport async function getTiposContratos(pagina: string | null): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(pagina !== null ? `/contract-types/${pagina}` : \"/contract-types\", { headers: { \"Authorization\": `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function getTipoContrato\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /companies/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados dum tipo de contrato específico associado ao id.\n * @param {number} id - Id do tipo de contrato a ser buscado.\n */\n\nexport async function getTipoContrato(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/contract-types/${id}`, { headers: { \"Authorization\": `Bearer ${token}` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function putTipoContrato\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo put para a rota /contract-types/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado pela api.\n * @param {number} id - Id do tipo de contrato a ser atualizado.\n * @param {AtualizarTipoContrato} data - Dados do tipo de contrato a ser atualizado.\n */\n\nexport async function putTipoContrato(id: number, data: AtualizarTipoContrato) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n let dados = {\n name: data.name,\n }\n\n return await api.put(`/contract-types/${id}`, dados, {\n headers: { \"Authorization\": `Bearer ${token}` }\n }).then(() => {\n Notify(\"Contrato alterado com sucesso!\");\n }).catch((e) => {\n Notify(\"Contrato não foi alterado, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n\n}\n\n/**\n * @function deleteTipoContrato\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo delete para a rota /contract-types/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado.\n * @param {number} id - Id do tipo de contrato a ser deletado.\n */\n\nexport async function deleteTipoContrato(id: number) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.delete(`/contract-types/${id}`, { headers: { \"Authorization\": `Bearer ${token}` } }\n ).then(() => {\n Notify(\"Contrato deletado com sucesso!\");\n }).catch((e) => {\n Notify(\"Contrato não foi deletado, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n}","import { Box, Typography, makeStyles } from \"@material-ui/core\";\nimport { Button, Container, TextField } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport {\n\tAtualizarTipoContrato,\n\tPutTipoContrato,\n} from \"../../../../models/TipoContrato\";\nimport {\n\tgetTipoContrato,\n\tputTipoContrato,\n} from \"../../../../services/crud/crud.tiposContrato\";\nimport Notify from \"../../../../utils/notification\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\n// import { FormularioAlteracaoTipoContrato } from \"../../../../models/FormulariosAlteracao\";\n// import { isEmpty } from \"../../../../utils/funcoes-globais\";\n\nfunction FormularioAlteracaoTiposContratoView(): React.ReactElement {\n\tlet idTipoContrato = Number(localStorage.getItem(\"id_tipocontrato\"));\n\tconst {\n\t\thandleSubmit,\n\t\treset,\n\t\tcontrol,\n\t\tgetValues,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst [formValues, setFormValues] = useState({} as PutTipoContrato);\n\t// const [formValues, setFormValues] = useState({} as FormularioAlteracaoTipoContrato);\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst useStyles = makeStyles((theme) => ({\n\t\ttextField: {\n\t\t\t\"& label\": {\n\t\t\t\tcolor: \"grey !important\",\n\t\t\t},\n\t\t\t\"& label.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t\t\"& .MuiInput-underline:after\": {\n\t\t\t\tborderBottomColor: \"Grey\",\n\t\t\t},\n\t\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\t\"& fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t\t// '&:hover fieldset': {\n\t\t\t\t// borderColor: 'blue',\n\t\t\t\t// },\n\t\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\tuseEffect(() => {\n\t\tif (idTipoContrato)\n\t\t\tgetTipoContrato(idTipoContrato)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetFormValues({\n\t\t\t\t\t\tname: data.name,\n\t\t\t\t\t});\n\t\t\t\t\treset({\n\t\t\t\t\t\tname: data.name,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t}, [idTipoContrato, reset]);\n\n\t// function handleInputChange(event) {\n\t// const { name, value } = event.target;\n\t// setFormValues({ contract: { ...formValues.contract, [`${name}`]: value } });\n\t// }\n\n\tasync function atualizacaoTipoContrato(data: AtualizarTipoContrato, event) {\n\t\tlet arrayDados = Object.entries(data);\n\t\tlet arrayFormValues = Object.entries(formValues);\n\t\tlet dataContrato = arrayDados.filter((value, index) => {\n\t\t\treturn value[1] !== arrayFormValues[index][1];\n\t\t});\n\n\t\tif (dataContrato.length > 0) {\n\t\t\tputTipoContrato(idTipoContrato, data)\n\t\t\t\t.then(() => {\n\t\t\t\t\thandleClose();\n\t\t\t\t\thandleReload();\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t\tNotify(\n\t\t\t\t\"Atualize a informação para efetuar a operação de atualização!\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tEditar Contrato\n\t\t\t\n\t\t\t\n\t\t\t\t\tatualizacaoTipoContrato(data, event)\n\t\t\t\t)}\n\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"name\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.name?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.name?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Nome do Tipo de Contrato\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioAlteracaoTiposContratoView;\n","import React from \"react\";\nimport FormularioAlteracaoTiposContratoView from \"./FormularioAlteracaoTiposContrato.view\";\n\nfunction FormularioAlteracaoTiposContrato(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioAlteracaoTiposContrato;","import { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { Edit } from \"@mui/icons-material\";\nimport BorderColorIcon from \"@mui/icons-material/BorderColor\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport FormularioAlteracaoTiposContrato from \"../../../Formularios/Alteracoes/FormularioAlteracaoTiposContrato\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalAlteracaoTiposContratoView(props) {\n\tconst { open, handleOpen } = useModalContext();\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\t// const lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\n\t/**\n\t * @function handleAtualizarTipoContrato\n\t * Abre o modal de FormularioAlteracaoTiposContrato e seta um valor no sessionStorage com a chave de nome id_tipocontrato.\n\t * @param {number} id - Representa o id do tipocontrato.\n\t */\n\tfunction handleAtualizarTipoContrato(id: number) {\n\t\thandleOpen();\n\t\tlocalStorage.setItem(\"id_tipocontrato\", id.toString());\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleAtualizarTipoContrato(props.tipoContratoId);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Alterar\"}\n\t\t\t\tdata-testid=\"modal-alteracao-tipos-contratos\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalAlteracaoTiposContratoView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalAlteracaoTiposContratoView from \"./ModalAlteracaoTiposContrato.view\";\n\nfunction ModalAlteracaoTiposContrato(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalAlteracaoTiposContrato;\n","import { Box, makeStyles } from \"@material-ui/core\";\nimport { Button, Container, TextField, Typography } from \"@mui/material\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { CriarTipoContrato } from \"../../../../models/TipoContrato\";\nimport { postTipoContrato } from \"../../../../services/crud/crud.tiposContrato\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\n\nfunction FormularioCadastroTiposContratoView(): React.ReactElement {\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst useStyles = makeStyles((theme) => ({\n\t\ttextField: {\n\t\t\t\"& label\": {\n\t\t\t\tcolor: \"grey !important\",\n\t\t\t},\n\t\t\t\"& label.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t\t\"& .MuiInput-underline:after\": {\n\t\t\t\tborderBottomColor: \"Grey\",\n\t\t\t},\n\t\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\t\"& fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t\t// '&:hover fieldset': {\n\t\t\t\t// borderColor: 'blue',\n\t\t\t\t// },\n\t\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\t/**\n\t * @function cadastroTiposContrato\n\t * faz a chamada da função de postTipoContrato enviando data como parâmetro, se caso a requisição der certo emite um Notify, chama as funções handleClose e handleReload fechando o modal e dando um refresh na página.\n\t * @param {CriarTipoContrato} data - Representa os dados cadastrados dos Tipos Contrato.\n\t */\n\tasync function cadastroTiposContrato(data: CriarTipoContrato) {\n\t\tpostTipoContrato(data)\n\t\t\t.then(() => {\n\t\t\t\thandleClose();\n\t\t\t\thandleReload();\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tAdicionar Contrato\n\t\t\t\n\t\t\t\n\t\t\t\tAdicione uma nova modalidade de contrato\n\t\t\t\n\t\t\t\n\t\t\t\t\tcadastroTiposContrato({\n\t\t\t\t\t\tname: data.name,\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\t\t\tO campo \"Nome do Tipo de Contrato\" é\n\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAdicionar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioCadastroTiposContratoView;\n","import React from \"react\";\nimport FormularioCadastroTiposContratoview from './FormularioCadastroTiposContrato.view';\n\nfunction FormularioCadastroTiposContrato(): React.ReactElement{\n return (\n \n );\n}\n\nexport default FormularioCadastroTiposContrato;","import { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport FormularioCadastroTiposContrato from \"../../../Formularios/Cadastro/FormularioCadastroTiposContrato\";\nimport ModalHeader from \"../../ModalHeader\";\nimport \"../styles.scss\";\n\nfunction ModalCadastroTiposContratoView() {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\t// const lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { open, handleOpen } = useModalContext();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tADICIONAR CONTRATO\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalCadastroTiposContratoView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalCadastroTiposContratoView from \"./ModalCadastroTiposContrato.view\";\n\nfunction ModalCadastroTiposContrato(): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalCadastroTiposContrato;\n","import DeleteForeverIcon from \"@mui/icons-material/DeleteForever\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { TipoContrato } from \"../../../../models/TipoContrato\";\nimport { deleteTipoContrato } from \"../../../../services/crud/crud.tiposContrato\";\n\nfunction ModalDeleteTipoContratoView(props) {\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\tlet idTipoContratoDeletar;\n\n\t/**\n\t * @function handleNaoEDeletado\n\t * Faz uma verifição se o tipo de contrato foi deletado.\n\t * @param {TipoContrato} tipoContrato - Representa cada tipo de contrato.\n\t * @returns {boolean} - Verifica os contratos que não foram deletados.\n\t */\n\tfunction handleNaoEDeletado(tipoContrato: TipoContrato) {\n\t\treturn tipoContrato.id !== idTipoContratoDeletar;\n\t}\n\n\t/**\n\t * @function handleDeletarTipoContrato\n\t * Faz uma verificação se o usuário realmente quer deletar o tipo de contrato que foi selecionado, se sim, faz uma requisição para a api deletando-o do banco e filtrando os tipos de contrato que não foram deletados para serem mostrados na tabela atualizada.\n\t * @param {number} id - Id do tipo de contrato a ser deletado.\n\t */\n\tfunction handleDeletarTipoContrato(id: number) {\n\t\thandleClose();\n\t\tdeleteTipoContrato(id)\n\t\t\t.then(() => {\n\t\t\t\tidTipoContratoDeletar = id;\n\t\t\t\tlet novoArrayTiposContratos =\n\t\t\t\t\tprops.dados.tableRows.tiposContratos.filter(\n\t\t\t\t\t\thandleNaoEDeletado\n\t\t\t\t\t);\n\t\t\t\tprops.dados.setTableRows({\n\t\t\t\t\ttiposContratos: novoArrayTiposContratos,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleOpen();\n\t\t\t\t}}\n\t\t\t\ttitle=\"Deletar\"\n\t\t\t\tdata-testid=\"modal-delete-tipo-contrato\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\"Você realmente deseja deletar este contrato?\"}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleClose();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tNão\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleDeletarTipoContrato(props.tipoContratoId);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSim\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDeleteTipoContratoView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDeleteTipoContratoView from \"./ModalDeleteTipoContrato.view\";\n\nfunction ModalDeleteTipoContrato(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDeleteTipoContrato;\n","import { Container, Typography } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { TipoContrato } from \"../../../models/TipoContrato\";\nimport { getTipoContrato } from \"../../../services/crud/crud.tiposContrato\";\nimport \"../style.scss\";\n\nfunction ListaDetalhesTipoContratoView(): React.ReactElement {\n\tlet idTipoContrato = Number(localStorage.getItem(\"id_tipocontrato\"));\n\tconst [contrato, setContrato] = useState();\n\t// const { handleClose } = useModalContext();\n\n\tuseEffect(() => {\n\t\tif (idTipoContrato)\n\t\t\tgetTipoContrato(idTipoContrato)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetContrato(data);\n\t\t\t\t\tlocalStorage.removeItem(\"id_tipocontrato\");\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t}, [idTipoContrato]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tId:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{contrato?.id}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNome:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{contrato?.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCriado:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{new Date(\n\t\t\t\t\t\t\t\t\tcontrato?.created_at as string\n\t\t\t\t\t\t\t\t).toLocaleDateString()}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAtualizado:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{new Date(\n\t\t\t\t\t\t\t\t\tcontrato?.updated_at as string\n\t\t\t\t\t\t\t\t).toLocaleDateString()}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\n\t\t\t\t{/* \n Id:\n {contrato?.id}\n \n\n \n Nome:\n \n {contrato?.name}\n \n \n\n \n Criado:\n \n {contrato?.created_at}\n \n \n\n \n \n Atualizado:\n \n \n {contrato?.updated_at}\n \n */}\n\t\t\t\t{/*
*/}\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default ListaDetalhesTipoContratoView;\n","import React from \"react\";\nimport ListaDetalhesTipoContratoView from \"./DetalhesTipoContrato.view\";\n\nfunction ListaDetalhesTipoContrato(): React.ReactElement {\n return (\n \n );\n}\n\nexport default ListaDetalhesTipoContrato;","import { Help } from \"@mui/icons-material\";\nimport DescriptionIcon from \"@mui/icons-material/Description\";\nimport { DialogActions } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Transition } from \"../../../../utils/transition\";\nimport ListaDetalhesTipoContrato from \"../../../Detalhes/DetalhesTipoContrato\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDetalhesTipoContratoView(props) {\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\n\t/**\n\t * @function handleDetalhesTipoContrato\n\t * Abre o modal de ListaDetalhesTipoContrato e seta um valor no sessionStorage com a chave de nome id_tipocontrato.\n\t * @param {number} id - Representa o id do tipo contrato.\n\t */\n\tfunction handleDetalhesTipoContrato(id: number) {\n\t\thandleOpen();\n\t\tlocalStorage.setItem(\"id_tipocontrato\", id.toString());\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleDetalhesTipoContrato(props.tipoContratoId);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Detalhes\"}\n\t\t\t\tdata-testid=\"modal-detalhes-tipo-contrato\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tFechar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDetalhesTipoContratoView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDetalhesTipoContratoView from \"./ModalDetalhesTipoContrato.view\";\n\nfunction ModalDetalhesTipoContrato(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDetalhesTipoContrato;\n","import { Box, Typography } from \"@mui/material\";\nimport Pagination from \"@mui/material/Pagination\";\nimport Paper from \"@mui/material/Paper\";\nimport Stack from \"@mui/material/Stack\";\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 TableRow from \"@mui/material/TableRow\";\nimport { useEffect, useState } from \"react\";\nimport { Meta } from \"../../../models/Meta\";\nimport { TabelaTiposContratos } from \"../../../models/Tabelas\";\nimport { getTiposContratos } from \"../../../services/crud/crud.tiposContrato\";\nimport ModalAlteracaoTiposContrato from \"../../Modal/ModalAlteracao/ModalAlteracaoTiposContrato\";\nimport ModalCadastroTiposContrato from \"../../Modal/ModalCadastro/ModalCadastroTiposContrato\";\nimport ModalDeleteTipoContrato from \"../../Modal/ModalDelete/ModalDeleteTipoContrato\";\nimport ModalDetalhesTipoContrato from \"../../Modal/ModalDetalhes/ModalDetalhesTipoContrato\";\nimport { useReloadContext } from \"../hooks/useReload\";\nimport \"../style.scss\";\n\nfunction TabelaTiposContratoView() {\n\tconst [tableRows, setTableRows] = useState({} as TabelaTiposContratos);\n\tconst [paginacao, setPaginacao] = useState({} as Meta);\n\tconst { reload, setReload } = useReloadContext();\n\n\t/**\n\t * @function handleChangePage\n\t * Faz uma requisição para a api e traz as informações da paginação e o array de tipos de contrato.\n\t * @param {object} event - Representa o elemento que sofreu o evento.\n\t * @param {number} page - Representa a página atual\n\t */\n\tfunction handleChangePage(event: object, page: number) {\n\t\tgetTiposContratos(`?page=${page}`).then((data) => {\n\t\t\tsetPaginacao(data.meta);\n\t\t\tsetTableRows({ tiposContratos: data.data });\n\t\t});\n\t}\n\n\tuseEffect(() => {\n\t\tgetTiposContratos(null)\n\t\t\t.then((data) => {\n\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\tsetTableRows({ tiposContratos: data.data });\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\n\t\tsetReload(true);\n\t}, [reload, setReload]);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tContratos\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tVisualizando tipos de contrato cadastrados no\n\t\t\t\t\t\t\t\tsistema\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tTipos de Contrato\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAções\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tableRows.tiposContratos?.map(\n\t\t\t\t\t\t\t\t(tipoContrato, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{tipoContrato.name}\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{/* */}\n\t\t
\n\t);\n}\n\nexport default TabelaTiposContratoView;\n","import React from \"react\";\nimport { ReloadContextProvider } from \"../reload.context\";\nimport TabelaTiposContratoView from \"./TabelaTiposContrato.view\";\n\nfunction TabelaTiposContrato(): React.ReactElement {\n return (\n \n \n \n );\n}\n\nexport default TabelaTiposContrato;","import React from \"react\";\nimport TabelaTiposContrato from \"../../../components/Tabelas/TabelaTiposContrato\";\n\nexport default function TiposContrato(): React.ReactElement {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t);\n}\n","/**\n * @function isEmpty\n * Verifica se os valores de alguns imputs são vazios ou falsos.\n * @param {string | boolean | number | undefined} valor - Representa o valor do imput.\n * @returns {boolean} - Retorna true ou false de acordo com a verificação.\n */\nexport function isEmpty(valor: string | boolean | number | undefined): boolean {\n if (valor === \"\" || valor === false) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * @function estaAtivo\n * Verifica se o usuário está ativo no sistema.\n * @param {boolean | undefined} active -Representa o status do usuário no sistema.\n * @returns {string} - Retorna uma string de sim ou não de acordo com a verificação.\n */\nexport function estaAtivo(active: boolean | undefined): string {\n if (active === true) {\n return \"Sim\";\n } else {\n return \"Não\";\n }\n}\n\n/**\n * @function verificarRole\n * Verifica o role do usuário, se é um admin ou um representante.\n * @param {number | undefined} role - Representa o nível do usuário.\n * @returns {string} - Retorna uma string que representa o nível do usuário de acordo com a verificação.\n */\nexport function verificarRole(role: number | undefined): string {\n if (role === 1) {\n return \"ADM\";\n } else if(role === 2) {\n return \"Representante\";\n } else {\n\t\treturn \"Estudante\";\n\t}\n}\n\n// /**\n// * @function calcularQtdPaginas\n// * Faz o cálculo da quantidades de páginas a serem mostradas com a verificação especificada no if.\n// * @param {number} totalPaginas - Representa o total de páginas.\n// * @returns {number} - Retorna o número de páginas a serem mostradas no Pagination do @mui/material.\n// */\n// export function calcularQtdPaginas(totalPaginas: number): number {\n// if (totalPaginas <= 10 || (typeof(totalPaginas) === \"undefined\")) {\n// return 1;\n// } else {\n// return Math.ceil(totalPaginas / 10);\n// }\n// }","import { CriarNivelUsuario, RespostaNivelUsuario } from \"../../models/NivelUsuario\";\nimport api from \"../api\";\n\n/**\n * @function postNivelUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo post para a rota /roles, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um array do tipo Promise> onde o único elemento contém duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com o nível de usuário cadastrado.\n * @param {CriarNivelUsuario} data - Dados do nível de usuário a ser cadastrado.\n */\n\nexport async function postNivelUsuario(data: CriarNivelUsuario): Promise> {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n let dados = {\n name: data.name,\n }\n\n return await api.post(\"/roles\", dados, { headers: { \"Authorization\": `Bearer ${token}` } }).then((data) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function getNiveisUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /roles, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todos os níveis de usuário disponíveis na base de dados.\n */\n\nexport async function getNiveisUsuario(): Promise {\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(\"/roles\", { headers: { \"Authorization\": `Bearer ${token}` } }).then(({ data }) => {\n return data;\n }).catch((e: any) => {\n console.log(e);\n });\n\n}\n\n/**\n * @function getNivelUsuario\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /roles/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array contendo o nível de usuário associado ao id.\n * @param {number} id - Id do nível de usuário a ser buscado. \n */\n\nexport async function getNivelUsuario(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`roles/${id}`, { headers: { \"Authorization\": `Bearer ${token}` } }).then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport {\n\tBox,\n\tButton,\n\tContainer,\n\tMenuItem,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { NivelUsuario } from \"../../../../models/NivelUsuario\";\nimport { AtualizarUsuario, PutUsuario } from \"../../../../models/Usuario\";\nimport { getNiveisUsuario } from \"../../../../services/crud/crud.nivelUsuario\";\nimport { getUsuario, putUsuario } from \"../../../../services/crud/crud.usuario\";\nimport Notify from \"../../../../utils/notification\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\n\nfunction FormularioAlteracaoUsuarioView(): React.ReactElement {\n\tlet idUsuarioAlterar = Number(localStorage.getItem(\"id_usuario\"));\n\tconst {\n\t\thandleSubmit,\n\t\tgetValues,\n\t\tcontrol,\n\t\treset,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst [formValues, setFormValues] = useState({} as PutUsuario);\n\tconst [niveisUsuario, setNiveisUsuario] = useState>([]);\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst useStyles = makeStyles((theme) => ({\n\t\ttextField: {\n\t\t\t\"& label\": {\n\t\t\t\tcolor: \"grey !important\",\n\t\t\t},\n\t\t\t\"& label.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t\t\"& .MuiInput-underline:after\": {\n\t\t\t\tborderBottomColor: \"Grey\",\n\t\t\t},\n\t\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\t\"& fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t\t// '&:hover fieldset': {\n\t\t\t\t// borderColor: 'blue',\n\t\t\t\t// },\n\t\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\tuseEffect(() => {\n\t\tgetUsuario(idUsuarioAlterar)\n\t\t\t.then((data) => {\n\t\t\t\tsetFormValues({\n\t\t\t\t\tname: data.name,\n\t\t\t\t\temail: data.email,\n\t\t\t\t\tis_active: data.is_active?.toString(),\n\t\t\t\t\trole_id: data.role_id?.toString(),\n\t\t\t\t});\n\t\t\t\treset({\n\t\t\t\t\tname: data.name,\n\t\t\t\t\temail: data.email,\n\t\t\t\t\tis_active: data.is_active?.toString(),\n\t\t\t\t\trole_id: data.role_id?.toString(),\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\n\t\tgetNiveisUsuario()\n\t\t\t.then((data) => {\n\t\t\t\tsetNiveisUsuario(data.data);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}, [idUsuarioAlterar, reset]);\n\n\tasync function atualizacaoUsuario(data, event) {\n\t\tlet arrayDados = Object.entries(data);\n\t\tlet arrayFormValues = Object.entries(formValues);\n\t\tlet dataUsuarios = arrayDados.filter((value, index) => {\n\t\t\treturn value[1] !== arrayFormValues[index][1];\n\t\t});\n\n\t\tif (dataUsuarios.length > 0) {\n\t\t\tlet newDataUsuarios = Object.fromEntries(dataUsuarios);\n\t\t\tputUsuario(idUsuarioAlterar, newDataUsuarios)\n\t\t\t\t.then(() => {\n\t\t\t\t\thandleClose();\n\t\t\t\t\thandleReload();\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t\tNotify(\n\t\t\t\t\"Atualize a informação para efetuar a operação de atualização!\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\tconst getFuncaoPorExtenso = (funcao) => {\n\t\tswitch (funcao) {\n\t\t\tcase \"admin\":\n\t\t\t\treturn \"Administrador\";\n\t\t\tcase \"representante_empresa\":\n\t\t\t\treturn \"Representante da empresa\";\n\t\t\tcase \"estudante\":\n\t\t\t\treturn \"Estudante\";\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tEditar Usuário\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tAtualize as informações do usuário e outros detalhes aqui.\n\t\t\t\t\t{/* Altera as informações de nome e contato, bem como função e\n\t\t\t\t\tstatus do usuário no sistema. */}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\tatualizacaoUsuario(data, event)\n\t\t\t\t)}\n\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"name\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.name?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.name?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Nome\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"email\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.email?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.email?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"E-mail\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\terror={errors.role_id?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.role_id?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Função\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecione a função do usuário\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{niveisUsuario.map((nivelUsuario, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{/* {nivelUsuario.name} */}\n\t\t\t\t\t\t\t\t\t\t{getFuncaoPorExtenso(nivelUsuario.name)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\terror={errors.is_active?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.is_active?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Status do Usuário\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecione o status do usuário\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAtivado\n\t\t\t\t\t\t\t\tDesativado\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioAlteracaoUsuarioView;\n","import React from \"react\";\nimport FormularioAlteracaoUsuarioView from \"./FormularioAlteracaoUsuario.view\";\n\nfunction FormularioAlteracaoUsuario(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioAlteracaoUsuario;","import { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { Edit, ManageAccounts } from \"@mui/icons-material\";\nimport { IconButton } from \"@mui/material\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport Notify from \"../../../../utils/notification\";\nimport FormularioAlteracaoUsuario from \"../../../Formularios/Alteracoes/FormularioAlteracaoUsuario\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalAlteracaoUsuarioView(props) {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\tconst lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { open, handleOpen } = useModalContext();\n\n\t/**\n\t * @function handleAtualizarEmpresa\n\t * Verifica se o usuário logado é um representante, se sim abre o modal de FormularioAlteracaoUsuario e seta um valor no sessionStorage com a chave de nome id_usuario, senão emite um Notify.\n\t * @param {number} id - Representa o id do usuário.\n\t * @param {number} roleId - Representa o role do usuário.\n\t */\n\tfunction handleAtualizarUsuario(id: number, roleId: number) {\n\t\tif (roleId === 2) {\n\t\t\thandleOpen();\n\t\t\tlocalStorage.setItem(\"id_usuario\", id.toString());\n\t\t} else {\n\t\t\tNotify(\"Você não pode alterar um usuário ADM\", \"warning\");\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleAtualizarUsuario(props.userId, props.userRoleId);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Alterar\"}\n\t\t\t\tdata-testid=\"modal-alteracao-usuario\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalAlteracaoUsuarioView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalAlteracaoUsuarioView from \"./ModalAlteracaoUsuario.view\";\n\nfunction ModalAlteracaoUsuario(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalAlteracaoUsuario;\n","import { makeStyles } from \"@material-ui/core/styles\";\nimport { Visibility, VisibilityOff } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tContainer,\n\tIconButton,\n\tInputAdornment,\n\tMenuItem,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { NivelUsuario } from \"../../../../models/NivelUsuario\";\nimport { CriarUsuario } from \"../../../../models/Usuario\";\nimport { getNiveisUsuario } from \"../../../../services/crud/crud.nivelUsuario\";\nimport { postUsuario } from \"../../../../services/crud/crud.usuario\";\nimport Notify from \"../../../../utils/notification\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\nimport \"../styles.scss\";\n\nfunction FormularioCadastroUsuarioView(): React.ReactElement {\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tcontrol,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst [role, setRole] = useState(\"\");\n\tconst [niveisUsuario, setNiveisUsuario] = useState>([]);\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst useStyles = makeStyles((theme) => ({\n\t\ttextField: {\n\t\t\t\"& label\": {\n\t\t\t\tcolor: \"grey !important\",\n\t\t\t},\n\t\t\t\"& label.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t\t\"& .MuiInput-underline:after\": {\n\t\t\t\tborderBottomColor: \"Grey\",\n\t\t\t},\n\t\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\t\"& fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t\t// '&:hover fieldset': {\n\t\t\t\t// borderColor: 'blue',\n\t\t\t\t// },\n\t\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\t/**\n\t * @function verificarSenha\n\t * Faz uma verificação se a senha e a senha de corfirmação que o usuário digitou são iguais.\n\t * @param {string} senha - Representa a senha que o usuário digitou.\n\t * @param {string} confirmacao - Representa a senha de confirmação que o usuário digitou.\n\t * @returns Retorna true ou false de acordo com a verificação.\n\t */\n\tfunction verificarSenha(senha: string, confirmacao: string): boolean {\n\t\tif (senha !== confirmacao) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t/**\n\t * @function cadastroUsuario\n\t * Faz uma verificação, se a verificação der verdadeira faz a chamada da função de postUsuario enviando data como parâmetro, se caso a requisição der certo emite um Notify, chama as funções handleClose e handleReload fechando o modal e dando um refresh na página, se caso a verificação der falso emite um Notify.\n\t * @param data\n\t */\n\tasync function cadastroUsuario(data: CriarUsuario) {\n\t\tif (verificarSenha(data.password, data.passwordConfirm)) {\n\t\t\tpostUsuario(data)\n\t\t\t\t.then(() => {\n\t\t\t\t\thandleClose();\n\t\t\t\t\thandleReload();\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tNotify(\"Senhas diferentes!\", \"error\");\n\t\t}\n\t}\n\n\tconst [showPassword, setShowPassword] = React.useState(false);\n\tconst [showPasswordConfirm, setShowPasswordConfirm] = React.useState(false);\n\n\tconst togglePasswordVisibility = () => {\n\t\tsetShowPassword((prevShowPassword) => !prevShowPassword);\n\t};\n\n\tconst togglePasswordConfirmVisibility = () => {\n\t\tsetShowPasswordConfirm((prevShowPassword) => !prevShowPassword);\n\t};\n\n\tuseEffect(() => {\n\t\tgetNiveisUsuario()\n\t\t\t.then((data) => {\n\t\t\t\tsetNiveisUsuario(data.data);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tAdicionar novo Usuário\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\tcadastroUsuario({\n\t\t\t\t\t\tname: data.name,\n\t\t\t\t\t\temail: data.email,\n\t\t\t\t\t\tpassword: data.password,\n\t\t\t\t\t\tpasswordConfirm: data.passwordConfirm,\n\t\t\t\t\t\tis_active: Boolean(data.is_active),\n\t\t\t\t\t\trole_id: data.role_id,\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\tO campo \"Nome\" é obrigatório!\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\tO campo \"E-mail\" é obrigatório!\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\tO campo \"Senha\" é obrigatório!\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\tendAdornment: (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{showPassword ? (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{errors.password?.message !== \"\" && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{errors.password?.message}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tO campo \"Confirme a senha\" é obrigatório!\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\tendAdornment: (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{showPasswordConfirm ? (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{errors.passwordConfirm?.message !== \"\" && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{errors.passwordConfirm?.message}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\terror={errors.role_id?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.role_id?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Função\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecione a função do usuário\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{niveisUsuario.map((nivelUsuario, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{nivelUsuario.name}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetRole(event.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\terror={errors.is_active?.type === \"required\"}\n\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\terrors.is_active?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tO campo \"Status do Usuário\" é obrigatório!\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSelecione o status do usuário\n\t\t\t\t\t\t\n\t\t\t\t\t\tAtivado\n\t\t\t\t\t\tDesativado\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* \n */}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioCadastroUsuarioView;\n","import React from \"react\";\nimport FormularioCadastroUsuarioView from \"./FormularioCadastroUsuario.view\";\n\nfunction FormularioCadastroUsuario(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioCadastroUsuario;","// import { useTheme } from \"@material-ui/core/styles\";\nimport { Box } from \"@material-ui/core\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { PeopleAlt } from \"@mui/icons-material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport { useTheme } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport FormularioCadastroUsuario from \"../../../Formularios/Cadastro/FormularioCadastroUsuario\";\nimport ModalHeader from \"../../ModalHeader\";\nimport \"../styles.scss\";\n\nfunction ModalCadastroUsuarioView() {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\t// const lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { open, handleOpen } = useModalContext();\n\n\treturn (\n\t\t\n\t\t\t}\n\t\t\t>\n\t\t\t\tAdicionar Usuário\n\t\t\t\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalCadastroUsuarioView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalCadastroUsuarioView from \"./ModalCadastroUsuario.view\";\n\nfunction ModalCadastroUsuario(): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalCadastroUsuario;\n","import { Warning } from \"@mui/icons-material\";\nimport DeleteForeverIcon from \"@mui/icons-material/DeleteForever\";\nimport { IconButton, Typography } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Usuario } from \"../../../../models/Usuario\";\nimport { deleteUsuario } from \"../../../../services/crud/crud.usuario\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDeleteUsuarioView(props) {\n\tconst navigate = useNavigate();\n\tlet idUsuarioDeletar;\n\tlet usuario: Usuario[];\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\tconst [modalDelete, setModalDelete] = useState(false);\n\n\t/**\n\t * @function handleNaoEDeletado\n\t * Faz uma verifição se o tipo de contrato foi deletado.\n\t * @param {Usuario} usuario - Representa cada usuário.\n\t * @returns {boolean} - Verifica os contratos que não foram deletados.\n\t */\n\tfunction handleNaoEDeletado(usuario: Usuario) {\n\t\treturn usuario.id !== idUsuarioDeletar;\n\t}\n\n\t/**\n\t * @functiaz uma mudança de rotas para /empresas\n\t */\n\tfunction handleUsuario() {\n\t\tlocalStorage.setItem(\"id_usuario_filter\", props.userId.toString());\n\t\tnavigate(`/empresas`);\n\t}\n\n\t/**\n\t * @function handleDeletaUsuario\n\t * Salva na variavel de nome usuario o usuário da tabela usuários ao qual o usuário quer deletar e em seguida verifica se a quantidade de empresas do usuário é igual a 0, caso sim será salvo uma chave de nome id_usuario_filter com o valor do id do usuario a ser deletado e abrirá o modal questionando se o usuário deseja ver as empresas existentes, caso não será emitido um Notify para a confirmação da deleção\n\t * @param {number} id - Representa o id do usuário\n\t */\n\tfunction handleDeletaUsuario(id: number) {\n\t\tusuario = props.dados.tableRows.usuarios.filter((usuario: Usuario) => {\n\t\t\treturn usuario.id === id;\n\t\t});\n\t\tif (usuario[0].companies.length > 0) {\n\t\t\thandleOpen();\n\t\t} else {\n\t\t\tsetModalDelete(true);\n\t\t}\n\t}\n\n\tfunction ConfirmDeletaUsuario(id: number) {\n\t\tsetModalDelete(!modalDelete);\n\t\tdeleteUsuario(id)\n\t\t\t.then(() => {\n\t\t\t\tidUsuarioDeletar = id;\n\t\t\t\tlet novoArrayUsuarios =\n\t\t\t\t\tprops.dados.tableRows.usuarios.filter(handleNaoEDeletado);\n\t\t\t\tprops.dados.setTableRows({ usuarios: novoArrayUsuarios });\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleDeletaUsuario(props.userId);\n\t\t\t\t}}\n\t\t\t\ttitle={`${props.userId}`}\n\t\t\t\tdata-testid=\"modal-delete-usuario\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\t\"Você não pode deletar esse usuário caso haja empresa(s) existente(s) no nome dele!\"\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tDeseja ver a(s) empresa(s) existente(s), desse usuário?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tNão\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleUsuario();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSim\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tVocê realmente deseja deletar este usuário?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetModalDelete(!modalDelete);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tNão\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tConfirmDeletaUsuario(props.userId);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tSim\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDeleteUsuarioView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDeleteUsuarioView from \"./ModalDeleteUsuario.view\";\n\nfunction ModalDeleteUsuario(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDeleteUsuario;\n","import { CheckCircle } from \"@mui/icons-material\";\nimport { Avatar, Container, Typography } from \"@mui/material\";\nimport { purple } from \"@mui/material/colors\";\nimport { Box } from \"@mui/system\";\nimport React, { useEffect, useState } from \"react\";\nimport { Usuario } from \"../../../models/Usuario\";\nimport { getUsuario } from \"../../../services/crud/crud.usuario\";\nimport { verificarRole } from \"../../../utils/funcoes-globais\";\nimport \"../style.scss\";\n\nfunction ListaDetalhesUsuarioView(): React.ReactElement {\n\tlet idUsuario = Number(localStorage.getItem(\"id_usuario\"));\n\tconst [usuario, setUsuario] = useState();\n\t// const { handleClose } = useModalContext();\n\n\tuseEffect(() => {\n\t\tif (idUsuario > 0) {\n\t\t\tgetUsuario(idUsuario)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetUsuario(data);\n\t\t\t\t\tlocalStorage.removeItem(\"id_usuario\");\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\t}, [idUsuario]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{usuario?.name[0]}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{usuario?.name}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tNome:{usuario?.name}
Cód. do Usuário:{usuario?.id}
E-mail:{usuario?.email}
Função:{verificarRole(usuario?.role_id)}
\n\n\t\t\t\t{/* \n \n {\" \"}\n Nome: {usuario?.name}\n \n
\n\n \n \n E-mail: {usuario?.email}\n \n \n \n \n Função: {verificarRole(usuario?.role_id)}\n \n */}\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default ListaDetalhesUsuarioView;\n","import React from \"react\";\nimport ListaDetalhesUsuarioView from \"./DetalhesUsuario.view\";\n\nfunction ListaDetalhesUsuario(): React.ReactElement {\n return (\n \n );\n}\n\nexport default ListaDetalhesUsuario;","import { DialogActions } from \"@material-ui/core\";\nimport { PersonSearch } from \"@mui/icons-material\";\nimport DescriptionIcon from \"@mui/icons-material/Description\";\nimport { IconButton } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Transition } from \"../../../../utils/transition\";\nimport ListaDetalhesUsuario from \"../../../Detalhes/DetalhesUsuario\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDetalhesUsuarioView(props) {\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\n\t/**\n\t * @function handleDetalhesUsuario\n\t * Abre o modal de ListaDetalhesUsuario e seta um valor no sessionStorage com a chave de nome id_usuario.\n\t * @param {number} id - Representa o id do usuário.\n\t */\n\tfunction handleDetalhesUsuario(id: number) {\n\t\thandleOpen();\n\t\tlocalStorage.setItem(\"id_usuario\", id.toString());\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleDetalhesUsuario(props.userId);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Detalhes\"}\n\t\t\t\tdata-testid=\"modal-detalhes-usuario\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{/* \n {\"Detalhes do Usuário\"}\n */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tFechar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDetalhesUsuarioView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDetalhesUsuarioView from \"./ModalDetalhesUsuario.view\";\n\nfunction ModalDetalhesUsuario(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDetalhesUsuario;\n","import { AccountCircle } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tFormControl,\n\tIconButton,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tTextField,\n\tTooltip,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport Pagination from \"@mui/material/Pagination\";\nimport Paper from \"@mui/material/Paper\";\nimport Stack from \"@mui/material/Stack\";\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 TableRow from \"@mui/material/TableRow\";\nimport React, { useEffect, useState } from \"react\";\nimport Spinner from \"react-bootstrap/Spinner\";\nimport { useNavigate } from \"react-router\";\nimport { Meta } from \"../../../models/Meta\";\nimport { TabelaUsuarios } from \"../../../models/Tabelas\";\nimport { getUsuarios } from \"../../../services/crud/crud.usuario\";\nimport { estaAtivo, verificarRole } from \"../../../utils/funcoes-globais\";\nimport Notify from \"../../../utils/notification\";\nimport ModalAlteracaoUsuario from \"../../Modal/ModalAlteracao/ModalAlteracaoUsuario\";\nimport ModalCadastroUsuario from \"../../Modal/ModalCadastro/ModalCadastroUsuario\";\nimport ModalDeleteUsuario from \"../../Modal/ModalDelete/ModalDeleteUsuario\";\nimport ModalDetalhesUsuario from \"../../Modal/ModalDetalhes/ModalDetalhesUsuario\";\nimport { useReloadContext } from \"../hooks/useReload\";\nimport \"../style.scss\";\n\nfunction TabelaUsuariosView() {\n\tconst navigate = useNavigate();\n\tconst theme = useTheme();\n\tconst [tableRows, setTableRows] = useState({} as TabelaUsuarios);\n\tconst [paginacao, setPaginacao] = useState({} as Meta);\n\tconst { setReload } = useReloadContext();\n\t// const { setDrawer, drawer } = useDrawerContext();\n\n\t/**\n\t * @function handleChangePage\n\t * Faz uma requisição para a api e traz as informações da paginação e o array de tipos de contrato.\n\t * @param {object} event - Representa o elemento que sofreu o evento.\n\t * @param {number} page - Representa a página atual.\n\t */\n\n\tfunction handleChangePage(event: object, page: number) {\n\t\tgetUsuarios(`${page}`, `${role}`).then((data) => {\n\t\t\tsetPaginacao(data.meta);\n\t\t\tsetTableRows({\n\t\t\t\tusuarios: data.data,\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @function handleUsuario\n\t * Verifica se o usuário não tem empresas cadastradas, caso sim exibe um Notify, senão salva uma chave no sessionStorage de nome id_usuario_filter cujo o valor será o id do usuário selecinado.\n\t * @param {number} id - Id do usuário selecionado.\n\t * @param {number} index - Representa uma posição no array de usuários.\n\t */\n\tfunction handleUsuario(id: number, index: number) {\n\t\tif (tableRows.usuarios[index].companies.length === 0) {\n\t\t\tNotify(\"Esse usuário não tem empresas cadastradas!\", \"warning\");\n\t\t} else {\n\t\t\tlocalStorage.setItem(\"id_usuario_filter\", id.toString());\n\t\t\tnavigate(`/empresas`);\n\t\t}\n\t}\n\n\tconst fetchUsuarios = () => {\n\t\tgetUsuarios(null, `${role}`)\n\t\t\t.then((data) => {\n\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\tsetTableRows({ usuarios: data.data });\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\n\t\tsetReload(true);\n\t\t// eslint-disable-next-line\n\t};\n\n\tconst [role, setRole] = React.useState(2); // Initial state\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\n\n\tuseEffect(() => {\n\t\tfetchUsuarios();\n\t\t// eslint-disable-next-line\n\t}, [role]);\n\n\tconst [loading, setLoading] = useState(false);\n\n\tconst handleSearch = async (event: React.ChangeEvent) => {\n\t\tconst term = event.target.value;\n\t\tsetSearchTerm(term);\n\n\t\tif (term) {\n\t\t\tsetLoading(true); // Ativa o spinner\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await getUsuarios(null, null, term);\n\t\t\t\tconst filteredUsuarios = data;\n\t\t\t\tsetTableRows({ usuarios: filteredUsuarios });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Erro ao buscar usuários:\", error);\n\t\t\t} finally {\n\t\t\t\tsetLoading(false); // Desativa o spinner após a busca\n\t\t\t}\n\t\t} else {\n\t\t\tfetchUsuarios();\n\t\t}\n\t};\n\n\tconst handleRoleChange = (event) => {\n\t\tsetRole(event.target.value);\n\t\tgetUsuarios(`${1}`, `${event.target.value}`).then((data) => {\n\t\t\tsetPaginacao(data.meta);\n\t\t\tsetTableRows({\n\t\t\t\tusuarios: data.data,\n\t\t\t});\n\t\t});\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tUsuários\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tListando todos os usuários cadastrados no sistema\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tFunção\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAdmin\n\t\t\t\t\t\t\t\tRepresentante\n\t\t\t\t\t\t\t\tEstudante\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCarregando...\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}{\" \"}\n\t\t\t\t\t\t{/* Spinner ao lado do campo de busca */}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNome\n\t\t\t\t\t\t\t\tE-mail\n\t\t\t\t\t\t\t\tFunção\n\t\t\t\t\t\t\t\tAtivo\n\t\t\t\t\t\t\t\tAções\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tableRows.usuarios?.map((usuario, index) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleUsuario(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tusuario.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Empresas do usuario\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{usuario.name.toUpperCase()}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{usuario.email}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{verificarRole(usuario?.role_id)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{estaAtivo(Boolean(usuario?.is_active))}\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{/* */}\n\t\t
\n\t);\n}\n\nexport default TabelaUsuariosView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../context/Modal/modal.context\";\nimport TabelaUsuariosView from \"../TabelaUsuarios/TabelaUsuarios.view\";\nimport { ReloadContextProvider } from \"../reload.context\";\n\nfunction TabelaUsuarios(): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default TabelaUsuarios;\n","import React from \"react\";\nimport TabelaUsuarios from \"../../../components/Tabelas/TabelaUsuarios\";\n\nexport default function UsuariosUsuarios(): React.ReactElement {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t);\n}\n","import { AtualizarVaga, CriarVaga, RespostaVaga, Vaga } from \"../../models/Vaga\";\nimport Notify from \"../../utils/notification\";\nimport api from \"../api\";\n\n/**\n * @function postVaga\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo post para a rota /jobs, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com um elemento contendo os dados da vaga cadastrada. \n * @param {CriarVaga} data - Dados da vaga a ser cadastrada.\n */\n\nexport async function postVaga(data: CriarVaga): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.post(\"/jobs\", data, { headers: { \"Authorization\": `Bearer ${token}` } })\n .then((data) => {\n Notify('Vaga cadastrada com sucesso!');\n return data;\n }).catch((e: any) => {\n Notify(\"Vaga não foi cadastrada, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n}\n\n/**\n * @function getVagas\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /jobs/:pagina, caso o parâmetro página não seja nulo, caso não, a requisição do tipo get é feita para a rota /jobs, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as vagas disponíveis na base de dados.\n * @param {string | null} pagina - Número da página escolhida para a paginação.\n */\n\nexport async function getVagas(pagina: string | null): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/jobs?page=${pagina === null ? '1' : pagina}&limit=10`, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function getVagasRepresentante\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota jobs/users, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as vagas do usuário logado, disponíveis na base de dados.\n */\n\nexport async function getVagasRepresentante(pagina: string | null): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/jobs/user?page=${pagina === null ? '1' : pagina}&limit=10`, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function getVagasEmpresa\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota jobs/company/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as vagas da empresa associada ao id.\n * @param {number} id - Id da empresa detentora das vagas a serem buscadas.\n */\n\nexport async function getVagasEmpresa(pagina: string | null, id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/jobs/company/${id}?page=${pagina === null ? '1' : pagina}&limit=10`, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function getVaga\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /jobs/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados duma vaga específica associada ao id.\n * @param {number} id - Id da vaga a ser buscada.\n */\n\nexport async function getVaga(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/jobs/${id}`, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function getVagaRepresentante\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /jobs/user/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados duma vaga específica do usuário representante, que está logado no sistema, associada ao id.\n * @param {number} id - Id da vaga a ser buscada.\n */\n\nexport async function getVagaRepresentante(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/jobs/user/${id}`, { headers: { \"Authorization\": `Bearer ${token} ` } })\n .then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n\n}\n\n/**\n * @function putVaga\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo put para a rota /jobs/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado pela api.\n * @param {number} id - Id da vaga a ser atualizada.\n * @param {AtualizarVaga} data - Dados da vaga a ser atualizada.\n */\n\nexport async function putVaga(id: number, data: AtualizarVaga) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.put(`/jobs/${id}`, data, { headers: { \"Authorization\": `Bearer ${token} ` } }\n ).then(() => {\n Notify(\"Vaga alterada com sucesso!\");\n }).catch((e) => {\n Notify(\"Vaga não foi alterada, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n}\n\n/**\n * @function deleteVaga\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo delete para a rota /jobs/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso nada é retornado.\n * @param {number} id - Id da vaga a ser deletada.\n */\n\nexport async function deleteVaga(id: number) {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.delete(`/jobs/${id}`, { headers: { \"Authorization\": `Bearer ${token} ` } }\n ).then(() => {\n Notify(\"Vaga deletada com sucesso!\");\n }).catch((e: any) => {\n Notify(\"Vaga não foi deletada, verifique seus dados e tente novamente!\", \"error\");\n return e;\n });\n}","import { AreaConhecimento, RespostaAreaConhecimento } from \"../../models/AreaConhecimento\";\nimport api from \"../api\";\n\n/**\n * @function getAreasConhecimento\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /knowledge-areas, na api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo duas propriedades meta e data. Na propriedade meta temos um objeto com os dados da paginação e na propriedade data temos um array com todas as áreas de conhecimento disponíveis.\n */\n\nexport async function getAreasConhecimento(): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(\"/knowledge-areas\", { headers: { \"Authorization\": `Bearer ${token}` } }).then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n}\n\n/**\n * @function getAreaConhecimento\n * Converte o valor da chave do sessionStorage de nome 'token' para JSON, acessa a propriedade token e salva o valor dela na variável de nome token. Em seguida é feita uma requisição do tipo get para a rota /knowledge-areas/:id, da api, passando no headers o valor da variável token para que a requisição seja autorizada pela api. No caso de sucesso é retornado um objeto do tipo Promise contendo os dados da área de conhecimento associada ao id.\n */\n\nexport async function getAreaConhecimento(id: number): Promise {\n\n let token = JSON.parse(localStorage.getItem(\"@app-jobs:token\") as string).token;\n\n return await api.get(`/knowledge-areas/${id}`, { headers: { \"Authorization\": `Bearer ${token}` } }).then(({ data }) => {\n return data;\n }).catch((e: any) => {\n return e;\n });\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport {\n\tBox,\n\tButton,\n\tContainer,\n\tMenuItem,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { AreaConhecimento } from \"../../../../models/AreaConhecimento\";\nimport { TipoContrato } from \"../../../../models/TipoContrato\";\nimport { AtualizarVaga } from \"../../../../models/Vaga\";\nimport { getAreasConhecimento } from \"../../../../services/crud/crud.areaConhecimento\";\nimport { getTiposContratos } from \"../../../../services/crud/crud.tiposContrato\";\nimport {\n\tgetVaga,\n\tgetVagaRepresentante,\n\tputVaga,\n} from \"../../../../services/crud/crud.vaga\";\nimport Notify from \"../../../../utils/notification\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\n\nconst useStyles = makeStyles((theme: any) => ({\n\tselect: {\n\t\t\"& .MuiOutlinedInput-notchedOutline\": {\n\t\t\tborderColor: \"grey \",\n\t\t},\n\t\t\"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n\t\t\tborderColor: \"grey !important\",\n\t\t},\n\t\t\"&:hover .MuiOutlinedInput-notchedOutline\": {\n\t\t\tborderColor: \"black !important\",\n\t\t},\n\t},\n\tinputLabel: {\n\t\t// color: \"red\",\n\t\t\"&.Mui-focused\": {\n\t\t\tcolor: \"black !important\",\n\t\t},\n\t},\n\ttextField: {\n\t\t\"& label\": {\n\t\t\tcolor: \"grey !important\",\n\t\t},\n\t\t\"& label.Mui-focused\": {\n\t\t\tcolor: \"black !important\",\n\t\t},\n\t\t\"& .MuiInput-underline:after\": {\n\t\t\tborderBottomColor: \"Grey\",\n\t\t},\n\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\"& fieldset\": {\n\t\t\t\tborderColor: \"Grey\",\n\t\t\t},\n\t\t\t// '&:hover fieldset': {\n\t\t\t// borderColor: 'blue',\n\t\t\t// },\n\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\tborderColor: \"Grey\",\n\t\t\t},\n\t\t},\n\t},\n}));\n\nfunction FormularioAlteracaoVagaView({ vaga }: any): React.ReactElement {\n\tconst classes = useStyles();\n\tlet idVagaAlterar = Number(localStorage.getItem(\"id_vaga\"));\n\n\tconst [areas, setAreas] = useState>([]);\n\tconst [tiposContratos, setTiposContratos] = useState>(\n\t\t[]\n\t);\n\tconst [formValues, setFormValues] = useState({} as any);\n\tconst {\n\t\thandleSubmit,\n\t\tgetValues,\n\t\tcontrol,\n\t\treset,\n\t\tsetValue,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst { auth } = useAuthContext();\n\n\tasync function atualizacaoVaga(data: AtualizarVaga, event) {\n\t\tlet arrayDados = Object.entries(data);\n\t\tlet arrayFormValues = Object.entries(formValues);\n\n\t\tif (arrayFormValues.length === 0) {\n\t\t\tconsole.error(\"arrayFormValues is empty or undefined\");\n\t\t\treturn; // Prevent further execution\n\t\t}\n\n\t\tlet dataVaga = arrayDados.filter((value, index) => {\n\t\t\tif (arrayFormValues[index] === undefined) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t\"Index\",\n\t\t\t\t\tindex,\n\t\t\t\t\t\"is undefined in arrayFormValues\"\n\t\t\t\t);\n\t\t\t\treturn false; // Exclude this entry\n\t\t\t}\n\t\t\treturn value[1] !== arrayFormValues[index][1];\n\t\t});\n\n\t\tif (dataVaga.length > 0) {\n\t\t\tlet newDataVaga = Object.fromEntries(dataVaga);\n\t\t\tputVaga(idVagaAlterar, newDataVaga)\n\t\t\t\t.then(() => {\n\t\t\t\t\thandleClose();\n\t\t\t\t\thandleReload();\n\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\t\"id_empresa_filter\",\n\t\t\t\t\t\tformValues.companies_id.toString()\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t\tNotify(\n\t\t\t\t\"Atualize a informação para efetuar a operação de atualização!\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\") {\n\t\t\tgetVaga(idVagaAlterar)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tlet data = res[0];\n\t\t\t\t\tsetFormValues({\n\t\t\t\t\t\tstatus: data.status,\n\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\tknowledge_areas_id: data.knowledge_areas_id,\n\t\t\t\t\t\tcontract_types_id: data.contract_types_id,\n\t\t\t\t\t\tstate: data.state,\n\t\t\t\t\t\tcity: data.city,\n\t\t\t\t\t\tremuneration_initial: data.remuneration_initial,\n\t\t\t\t\t\tremuneration_final: data.remuneration_final,\n\t\t\t\t\t\tdepartment: data.department,\n\t\t\t\t\t\texperience_level: data.experience_level,\n\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\tassignments: data.assignments,\n\t\t\t\t\t\trequirements: data.requirements,\n\t\t\t\t\t\tadditional_info: data.additional_info,\n\t\t\t\t\t\tcompanies_id: data.companies_id,\n\t\t\t\t\t});\n\t\t\t\t\treset({\n\t\t\t\t\t\tstatus: data.status,\n\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\tknowledge_areas_id: data.knowledge_areas_id,\n\t\t\t\t\t\tcontract_types_id: data.contract_types_id,\n\t\t\t\t\t\tstate: data.state,\n\t\t\t\t\t\tcity: data.city,\n\t\t\t\t\t\tremuneration_initial: data.remuneration_initial,\n\t\t\t\t\t\tremuneration_final: data.remuneration_final,\n\t\t\t\t\t\tdepartment: data.department,\n\t\t\t\t\t\texperience_level: data.experience_level,\n\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\tassignments: data.assignments,\n\t\t\t\t\t\trequirements: data.requirements,\n\t\t\t\t\t\tadditional_info: data.additional_info,\n\t\t\t\t\t\tcompanies_id: data.companies_id,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tgetVagaRepresentante(idVagaAlterar)\n\t\t\t\t.then((data) => {\n\t\t\t\t\t// let data = res[0];\n\t\t\t\t\tsetFormValues({\n\t\t\t\t\t\tstatus: data.status,\n\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\tknowledge_areas_id: data.knowledge_areas_id,\n\t\t\t\t\t\tcontract_types_id: data.contract_types_id,\n\t\t\t\t\t\tstate: data.state,\n\t\t\t\t\t\tcity: data.city,\n\t\t\t\t\t\tremuneration_initial: data.remuneration_initial,\n\t\t\t\t\t\tremuneration_final: data.remuneration_final,\n\t\t\t\t\t\tdepartment: data.department,\n\t\t\t\t\t\texperience_level: data.experience_level,\n\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\tassignments: data.assignments,\n\t\t\t\t\t\trequirements: data.requirements,\n\t\t\t\t\t\tadditional_info: data.additional_info,\n\t\t\t\t\t\tcompanies_id: data.companies_id,\n\t\t\t\t\t});\n\t\t\t\t\treset({\n\t\t\t\t\t\tstatus: data.status,\n\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\tknowledge_areas_id: data.knowledge_areas_id,\n\t\t\t\t\t\tcontract_types_id: data.contract_types_id,\n\t\t\t\t\t\tstate: data.state,\n\t\t\t\t\t\tcity: data.city,\n\t\t\t\t\t\tremuneration_initial: data.remuneration_initial,\n\t\t\t\t\t\tremuneration_final: data.remuneration_final,\n\t\t\t\t\t\tdepartment: data.department,\n\t\t\t\t\t\texperience_level: data.experience_level,\n\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\tassignments: data.assignments,\n\t\t\t\t\t\trequirements: data.requirements,\n\t\t\t\t\t\tadditional_info: data.additional_info,\n\t\t\t\t\t\tcompanies_id: data.companies_id,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\n\t\tgetAreasConhecimento()\n\t\t\t.then((data) => {\n\t\t\t\tsetAreas(data.data);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\n\t\tgetTiposContratos(null)\n\t\t\t.then((data) => {\n\t\t\t\tsetTiposContratos(data.data);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}, [idVagaAlterar, auth.role, reset, getValues]);\n\n\t// Populate form fields with data from the 'vagas' prop\n\tReact.useEffect(() => {\n\t\tif (vaga && vaga.vaga) {\n\t\t\tObject.keys(vaga.vaga).forEach((key) => {\n\t\t\t\t// Set formValues object\n\n\t\t\t\tif (key === \"started\" || key === \"finished\") {\n\t\t\t\t\tsetValue(key, vaga.vaga[key].split(\"T\")[0]);\n\t\t\t\t} else {\n\t\t\t\t\tsetValue(key, vaga.vaga[key]);\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetFormValues({\n\t\t\t\tstatus: vaga.vaga.status,\n\t\t\t\ttitle: vaga.vaga.title,\n\t\t\t\tknowledge_areas_id: vaga.vaga.knowledge_areas_id,\n\t\t\t\tcontract_types_id: vaga.vaga.contract_types_id,\n\t\t\t\tstate: vaga.vaga.state,\n\t\t\t\tcity: vaga.vaga.city,\n\t\t\t\tremuneration_initial: vaga.vaga.remuneration_initial,\n\t\t\t\tremuneration_final: vaga.vaga.remuneration_final,\n\t\t\t\tdepartment: vaga.vaga.department,\n\t\t\t\texperience_level: vaga.vaga.experience_level,\n\t\t\t\tdescription: vaga.vaga.description,\n\t\t\t\tassignments: vaga.vaga.assignments,\n\t\t\t\trequirements: vaga.vaga.requirements,\n\t\t\t\tadditional_info: vaga.vaga.additional_info,\n\t\t\t\tcompanies_id: vaga.vaga.companies_id,\n\t\t\t});\n\t\t}\n\t}, [vaga, setValue]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tEditar Vaga\n\t\t\t\n\t\t\t{/*
{JSON.stringify(formValues, null, 4)}
*/}\n\n\t\t\t\n\t\t\t\t\tatualizacaoVaga(data, event)\n\t\t\t\t)}\n\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\terror={errors.status?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.status?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Situação da vaga\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecione a situação da vaga\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAberta\n\t\t\t\t\t\t\t\tFechada\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"title\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.title?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.title?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Vaga\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t{/*
\n \n Empresa\n \n Selecione uma empresa\n {\n empresas.map((empresa, index) => (\n {empresa.name}\n ))\n }\n\n \n \n {errors.companies_id?.type === \"required\" && (O campo \"Empresa\" é obrigatório!)}\n
*/}\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.knowledge_areas_id?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.knowledge_areas_id?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Área de Conhecimento\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSelecione a área de conhecimento da vaga\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{areas.map((area, index) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{area.name}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.contract_types_id?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.contract_types_id?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Tipo de Contrato\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSelecione o tipo de contrato\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{tiposContratos.map(\n\t\t\t\t\t\t\t\t\t\t(contractType, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{contractType.name}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\terror={errors.state?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.state?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Estado\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSelecione o estado onde há vaga\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tAcre\n\t\t\t\t\t\t\t\t\tAlagoas\n\t\t\t\t\t\t\t\t\tAmapá\n\t\t\t\t\t\t\t\t\tAmazonas\n\t\t\t\t\t\t\t\t\tBahia\n\t\t\t\t\t\t\t\t\tCeará\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tDistrito Federal\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEspírito Santo\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGoiás\n\t\t\t\t\t\t\t\t\tMaranhão\n\t\t\t\t\t\t\t\t\tMato Grosso\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tMato Grosso do Sul\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMinas Gerais\n\t\t\t\t\t\t\t\t\tPará\n\t\t\t\t\t\t\t\t\tParaíba\n\t\t\t\t\t\t\t\t\tParaná\n\t\t\t\t\t\t\t\t\tPernambuco\n\t\t\t\t\t\t\t\t\tPiauí\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRio de Janeiro\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRio Grande do Norte\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRio Grande do Sul\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRondônia\n\t\t\t\t\t\t\t\t\tRoraima\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSanta Catarina\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSão Paulo\n\t\t\t\t\t\t\t\t\tSergipe\n\t\t\t\t\t\t\t\t\tTocantins\n\t\t\t\t\t\t\t\t\tEstrangeiro\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={getValues(\"city\") ? value : \"\"}\n\t\t\t\t\t\t\t\t\terror={errors.city?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.city?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Cidade\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tgetValues(\"remuneration_initial\")\n\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.remuneration_initial?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.remuneration_initial?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Remuneração Inicial\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tgetValues(\"remuneration_final\")\n\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.remuneration_final?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.remuneration_final?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Remuneração Final\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={getValues(\"department\") ? value : \"\"}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.department?.type === \"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.department?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Setor de atuação\" é\n\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tgetValues(\"experience_level\")\n\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\terrors.experience_level?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.experience_level?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Nível de experiência /\n\t\t\t\t\t\t\t\t\t\t\t\tFormação\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"description\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.description?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.description?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Descrição\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"assignments\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.assignments?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.assignments?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Tarefas\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={getValues(\"requirements\") ? value : \"\"}\n\t\t\t\t\t\t\t\terror={errors.requirements?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.requirements?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Requerimentos\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetValues(\"additional_info\") ? value : \"\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\terrors.additional_info?.type === \"required\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.additional_info?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Informações adicionais\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default FormularioAlteracaoVagaView;\n","import React from \"react\";\nimport FormularioAlteracaoVagaView from \"./FormularioAlteracaoVaga.view\";\n\nfunction FormularioAlteracaoVaga(vaga?: any): React.ReactElement {\n\treturn ;\n}\n\nexport default FormularioAlteracaoVaga;\n","import { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { EditNote } from \"@mui/icons-material\";\nimport BorderColorIcon from \"@mui/icons-material/BorderColor\";\nimport { IconButton } from \"@mui/material\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport FormularioAlteracaoVaga from \"../../../Formularios/Alteracoes/FormularioAlteracaoVaga\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalAlteracaoVagaView(props: any) {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\tconst lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { open, handleOpen } = useModalContext();\n\n\t/**\n\t * @function handleAtualizarVaga\n\t * Abre o modal de FormularioAlteracaoVaga e seta um valor no sessionStorage com a chave de nome id_vaga.\n\t * @param {number} id - Representa o id da vaga.\n\t */\n\tfunction handleAtualizarVaga(id: number) {\n\t\thandleOpen();\n\t\tlocalStorage.setItem(\"id_vaga\", id.toString());\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleAtualizarVaga(props.vagaId);\n\t\t\t\t}}\n\t\t\t\ttitle=\"Alterar\"\n\t\t\t\tdata-testid=\"modal-alteracao-vaga\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(props, null, 4)}
*/}\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalAlteracaoVagaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalAlteracaoVagaView from \"./ModalAlteracaoVaga.view\";\n\nfunction ModalAlteracaoVaga(props: any): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalAlteracaoVaga;\n","import { makeStyles } from \"@material-ui/core\";\nimport { Save } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tContainer,\n\tGrid,\n\tMenuItem,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { AreaConhecimento } from \"../../../../models/AreaConhecimento\";\nimport { Empresa } from \"../../../../models/Empresa\";\nimport { TipoContrato } from \"../../../../models/TipoContrato\";\nimport { CriarVaga } from \"../../../../models/Vaga\";\nimport { getAreasConhecimento } from \"../../../../services/crud/crud.areaConhecimento\";\nimport {\n\tgetAllEmpresas,\n\tgetEmpresasRepresentante,\n} from \"../../../../services/crud/crud.empresa\";\nimport { getTiposContratos } from \"../../../../services/crud/crud.tiposContrato\";\nimport { postVaga } from \"../../../../services/crud/crud.vaga\";\nimport { useReloadContext } from \"../../../Tabelas/hooks/useReload\";\nimport \"../styles.scss\";\n\nfunction FormularioCadastroVagaView(): React.ReactElement {\n\tconst [empresa, setEmpresa] = useState(\"\");\n\tconst [area, setArea] = useState(\"\");\n\tconst [tipoContrato, setTipoContrato] = useState(\"\");\n\tconst [estado, setEstado] = useState(\"\");\n\tconst [empresas, setEmpresas] = useState>([]);\n\tconst [areas, setAreas] = useState>([]);\n\tconst [tiposContratos, setTiposContratos] = useState>(\n\t\t[]\n\t);\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\tconst { handleClose } = useModalContext();\n\tconst { handleReload } = useReloadContext();\n\tconst { auth } = useAuthContext();\n\tconst useStyles = makeStyles((theme) => ({\n\t\ttextField: {\n\t\t\t\"& label\": {\n\t\t\t\tcolor: \"grey !important\",\n\t\t\t},\n\t\t\t\"& label.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t\t\"& .MuiInput-underline:after\": {\n\t\t\t\tborderBottomColor: \"Grey\",\n\t\t\t},\n\t\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\t\"& fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t\t// '&:hover fieldset': {\n\t\t\t\t// borderColor: 'blue',\n\t\t\t\t// },\n\t\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\t/**\n\t * @function cadastroVaga\n\t * Faz a converção de string para number nas propriedades remuneration_inicial e remuneration_final de data, após a converção faz a chamada da função de postVaga enviando data como parâmetro, se caso a requisição der certo emite um Notify, chama as funções handleClose e handleReload fechando o modal e dando um refresh na página.\n\t * @param {CriarVaga} data - Representa os dados cadastrados das Vagas.\n\t */\n\tasync function cadastroVaga(data: CriarVaga) {\n\t\tdata.remuneration_initial = Number(data.remuneration_initial);\n\t\tdata.remuneration_final = Number(data.remuneration_final);\n\t\tpostVaga(data)\n\t\t\t.then(() => {\n\t\t\t\thandleClose();\n\t\t\t\thandleReload();\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\") {\n\t\t\tgetAllEmpresas()\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetEmpresas(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t} else {\n\t\t\tgetEmpresasRepresentante(null)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetEmpresas(data.data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\n\t\tgetAreasConhecimento()\n\t\t\t.then((data) => {\n\t\t\t\tsetAreas(data.data);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\n\t\tgetTiposContratos(null)\n\t\t\t.then((data) => {\n\t\t\t\tsetTiposContratos(data.data);\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}, [auth.role]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tCadastrar Vaga\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tPreencha o formulário com os detalhes da vaga.\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\tcadastroVaga({\n\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\tdescription: data.description,\n\t\t\t\t\t\trequirements: data.requirements,\n\t\t\t\t\t\tadditional_info: data.additional_info,\n\t\t\t\t\t\texperience_level: data.experience_level,\n\t\t\t\t\t\tdepartment: data.department,\n\t\t\t\t\t\tassignments: data.assignments,\n\t\t\t\t\t\tcity: data.city,\n\t\t\t\t\t\tstate: data.state,\n\t\t\t\t\t\tremuneration_initial: data.remuneration_initial,\n\t\t\t\t\t\tremuneration_final: data.remuneration_final,\n\t\t\t\t\t\tstatus: true,\n\t\t\t\t\t\tcompanies_id: data.companies_id,\n\t\t\t\t\t\tknowledge_areas_id: data.knowledge_areas_id,\n\t\t\t\t\t\tcontract_types_id: data.contract_types_id,\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tO campo \"Vaga\" é obrigatório!\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Situação da Vaga\" é\n\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSelecione a situação da vaga\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tAberta\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetEmpresa(event.target.value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\terror={errors.companies_id?.type === \"required\"}\n\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\terrors.companies_id?.type === \"required\" && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Empresa\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSelecione uma empresa\n\t\t\t\t\t\t\t{empresas.map((empresa, index) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{empresa.name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetArea(event.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\terrors.knowledge_areas_id?.type ===\n\t\t\t\t\t\t\t\t\t\"required\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.knowledge_areas_id?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Área de Conhecimento\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecione a área de conhecimento da vaga\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{areas.map((area, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{area.name}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetTipoContrato(event.target.value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\terrors.contract_types_id?.type === \"required\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\terrors.contract_types_id?.type ===\n\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Tipo de Contrato\" é\n\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSelecione o tipo de contrato\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tiposContratos.map((contractType, index) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{contractType.name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetEstado(event.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\terror={errors.state?.type === \"required\"}\n\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\terrors.contract_types_id?.type ===\n\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Estado\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecione o estado onde há vaga\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAcre\n\t\t\t\t\t\t\t\tAlagoas\n\t\t\t\t\t\t\t\tAmapá\n\t\t\t\t\t\t\t\tAmazonas\n\t\t\t\t\t\t\t\tBahia\n\t\t\t\t\t\t\t\tCeará\n\t\t\t\t\t\t\t\tDistrito Federal\n\t\t\t\t\t\t\t\tEspírito Santo\n\t\t\t\t\t\t\t\tGoiás\n\t\t\t\t\t\t\t\tMaranhão\n\t\t\t\t\t\t\t\tMato Grosso\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMato Grosso do Sul\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMinas Gerais\n\t\t\t\t\t\t\t\tPará\n\t\t\t\t\t\t\t\tParaíba\n\t\t\t\t\t\t\t\tParaná\n\t\t\t\t\t\t\t\tPernambuco\n\t\t\t\t\t\t\t\tPiauí\n\t\t\t\t\t\t\t\tRio de Janeiro\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRio Grande do Norte\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRio Grande do Sul\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tRondônia\n\t\t\t\t\t\t\t\tRoraima\n\t\t\t\t\t\t\t\tSanta Catarina\n\t\t\t\t\t\t\t\tSão Paulo\n\t\t\t\t\t\t\t\tSergipe\n\t\t\t\t\t\t\t\tTocantins\n\t\t\t\t\t\t\t\tEstrangeiro\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tO campo \"Cidade\" é obrigatório!\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Remuneração Inicial\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t// \t\t\tO campo \"Remuneração Final\" é\n\t\t\t\t\t\t\t// \t\t\tobrigatório!\n\t\t\t\t\t\t\t// \t\t\n\t\t\t\t\t\t\t// \t)\n\t\t\t\t\t\t\t// }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Remuneração Final\" é\n\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t */}\n\n\t\t\t\t\t\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tO campo \"Setor de atuação\" é\n\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Nível de experiência /\n\t\t\t\t\t\t\t\t\t\tFormação\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Descrição\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Tarefas\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Requisitos\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tO campo \"Informações adicionais\" é\n\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tCadastrar\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* \n */}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioCadastroVagaView;\n","import React from \"react\";\nimport FormularioCadastroVagaView from \"./FormularioCadastroVaga.view\";\n\nfunction FormularioCadastroVaga(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioCadastroVaga;","import { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { Badge } from \"@mui/icons-material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport Notify from \"../../../../utils/notification\";\nimport FormularioCadastroVaga from \"../../../Formularios/Cadastro/FormularioCadastroVaga\";\nimport ModalHeader from \"../../ModalHeader\";\nimport \"../styles.scss\";\n\nfunction ModalCadastroVagaView(props) {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(700));\n\tconst lg = useMediaQuery(theme.breakpoints.up(\"sm\"));\n\tconst { auth } = useAuthContext();\n\tconst { open, handleOpen } = useModalContext();\n\n\t/**\n\t * @function userAtive\n\t * Verifica se o usuário logado é um admin ou se está ativo no sistema, se sim abre o modal de FormularioCadastroVaga, senão emite um Notify.\n\t * @param {number} id - Representa o role do usuário logado no sistema.\n\t */\n\tfunction userAtive(id: number) {\n\t\tif (id === 1 || auth.role === \"admin\") {\n\t\t\thandleOpen();\n\t\t} else {\n\t\t\tNotify(\n\t\t\t\t\"Você não esta ativo no sistema, aguarde sua ativação\",\n\t\t\t\t\"warning\"\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t}\n\t\t\t\tdata-testid=\"modal-cadastro-vaga\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\tuserAtive(props.isActive);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tADICIONAR VAGA\n\t\t\t\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\nexport default ModalCadastroVagaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalCadastroVagaView from \"./ModalCadastroVaga.view\";\n\nfunction ModalCadastroVaga(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalCadastroVaga;\n","import { Delete } from \"@mui/icons-material\";\nimport DeleteForeverIcon from \"@mui/icons-material/DeleteForever\";\nimport { DialogContent, IconButton } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Vaga } from \"../../../../models/Vaga\";\nimport { deleteVaga } from \"../../../../services/crud/crud.vaga\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDeleteVagaView(props) {\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\tlet idVagaDeletar;\n\n\t/**\n\t * @function handleNaoEDeletado\n\t * Faz uma verifição se a vaga foi deletada.\n\t * @param {Vaga} vaga - Representa cada vaga.\n\t * @returns {boolean} - Verifica as vagas que não foram deletadas.\n\t */\n\tfunction handleNaoEDeletado(vaga: Vaga) {\n\t\treturn vaga.id !== idVagaDeletar;\n\t}\n\n\t/**\n\t * @function handleDeletarVaga\n\t * Faz uma verificação se o usuário realmente quer deletar a vaga que foi selecionado, se sim, faz uma requisição para a api deletando-a do banco e filtrando as vagas que não foram deletadas para serem mostradas na tabela atualizada.\n\t * @param {number} id - Id do tipo de contrato a ser deletado.\n\t */\n\tfunction handleDeletarVaga(id: number) {\n\t\thandleClose();\n\t\tdeleteVaga(id)\n\t\t\t.then(() => {\n\t\t\t\tidVagaDeletar = id;\n\t\t\t\tlet novoArrayVagas =\n\t\t\t\t\tprops.dados.tableRows.vagas.filter(handleNaoEDeletado);\n\t\t\t\tprops.dados.setTableRows({ vagas: novoArrayVagas });\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t});\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleOpen();\n\t\t\t\t}}\n\t\t\t\ttitle=\"Deletar\"\n\t\t\t\tdata-testid=\"modal-delete-vaga\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t{\"Você realmente deseja deletar esta vaga?\"}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleClose();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tNão\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleDeletarVaga(props.vagaId);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSim\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDeleteVagaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDeleteVagaView from \"./ModalDeleteVaga.view\";\n\nfunction ModalDeleteVaga(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDeleteVaga;\n","import { Container, Typography } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { RespostaEmpresaId } from \"../../../models/Empresa\";\nimport { Usuario } from \"../../../models/Usuario\";\nimport { Vaga } from \"../../../models/Vaga\";\nimport {\n\tgetEmpresa,\n\tgetEmpresaRepresentante,\n} from \"../../../services/crud/crud.empresa\";\nimport { getTipoContrato } from \"../../../services/crud/crud.tiposContrato\";\nimport { getUsuario } from \"../../../services/crud/crud.usuario\";\nimport {\n\tgetVaga,\n\tgetVagaRepresentante,\n} from \"../../../services/crud/crud.vaga\";\nimport { estaAtivo } from \"../../../utils/funcoes-globais\";\nimport \"../style.scss\";\n\nfunction ListaDetalhesVagaView(): React.ReactElement {\n\tlet idVaga = Number(localStorage.getItem(\"id_vaga\"));\n\tconst [empresa, setEmpresa] = useState();\n\tconst [usuario, setUsuario] = useState();\n\tconst [vaga, setVaga] = useState();\n\tconst { auth } = useAuthContext();\n\t// const { handleClose } = useModalContext();\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\" && idVaga) {\n\t\t\tgetVaga(idVaga)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tlet data = res;\n\t\t\t\t\tsetVaga(data);\n\t\t\t\t\tgetEmpresa(data.companies_id)\n\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\tsetEmpresa(data);\n\t\t\t\t\t\t\tgetUsuario(data.user_id)\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tsetUsuario(data);\n\t\t\t\t\t\t\t\t\tlocalStorage.removeItem(\"id_vaga\");\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\t\t\t\t\treturn data;\n\t\t\t\t})\n\t\t\t\t.then(async (data) => {\n\t\t\t\t\tawait getTipoContrato(\n\t\t\t\t\t\tdata.contract_types_id as number\n\t\t\t\t\t).then((res) => {\n\t\t\t\t\t\tsetVaga((v: any) => {\n\t\t\t\t\t\t\treturn { ...v, contract_details: res };\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t} else if (idVaga) {\n\t\t\tgetVagaRepresentante(idVaga)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetVaga(data);\n\t\t\t\t\tgetEmpresaRepresentante(data.companies_id)\n\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\tsetEmpresa(data);\n\t\t\t\t\t\t\tgetUsuario(data.user_id)\n\t\t\t\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\t\t\t\tsetUsuario(data);\n\t\t\t\t\t\t\t\t\tlocalStorage.removeItem(\"id_vaga\");\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\t\t\t\t\treturn data;\n\t\t\t\t})\n\t\t\t\t.then(async (data) => {\n\t\t\t\t\tawait getTipoContrato(\n\t\t\t\t\t\tdata.contract_types_id as number\n\t\t\t\t\t).then((res) => {\n\t\t\t\t\t\tsetVaga((v: any) => {\n\t\t\t\t\t\t\treturn { ...v, contract_details: res };\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\t}, [idVaga, auth.role]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\" \"}\n\t\t\t\t\tRepresentante da empresa:{\" \"}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\tNome:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{usuario?.name}\n\t\t\t\t\t\t
\n\t\t\t\t{/* \n Nome:\n \n {usuario?.name}\n \n */}\n\t\t\t\t\n\t\t\t\t\t{\" \"}\n\t\t\t\t\tInformações da empresa:{\" \"}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\tId:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{vaga?.id}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tNome:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{empresa?.name}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tCNPJ:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{empresa?.cnpj}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tSite:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{empresa?.site}\n\t\t\t\t\t\t
\n\n\t\t\t\t{/* \n Id:\n {vaga?.id}\n \n\n \n Nome:\n \n {empresa?.name}\n \n \n\n \n CNPJ:\n \n {empresa?.cnpj}\n \n \n\n \n Site:\n \n {empresa?.site}\n \n \n
*/}\n\n\t\t\t\t\n\t\t\t\t\t{\" \"}\n\t\t\t\t\tInformações da Vaga:{\" \"}\n\t\t\t\t\n\t\t\t\t{/*
{JSON.stringify(vaga, null, 4)}
*/}\n\t\t\t\t\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tId:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{vaga?.id}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tStatus:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{estaAtivo(Boolean(vaga?.status))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tVaga:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{vaga?.title}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tLocal:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{`${vaga?.city} - ${vaga?.state}`}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tÁrea de conhecimento:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{vaga?.area}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTipo de contrato:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{vaga?.contract_details?.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDescrição:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{vaga?.description}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\n\t\t\t\t{/* \n Id:\n {vaga?.id}\n \n\n \n Status:\n \n {estaAtivo(Boolean(vaga?.status))}\n \n \n\n \n Título:\n {vaga?.title}\n \n\n \n Local:\n {`${vaga?.city} - ${vaga?.state}`}\n \n\n \n \n Área de conhecimento:\n \n {vaga?.area}\n \n\n \n \n Tipo de contrato:\n \n \n {vaga?.contract_types_id}\n \n \n\n \n \n Descrição:\n \n \n {vaga?.description}\n \n \n
*/}\n\t\t\t
\n\t\t\t{/*
\n \n voltar\n \n
*/}\n\t\t\n\t);\n}\n\nexport default ListaDetalhesVagaView;\n","import React from \"react\";\nimport ListaDetalhesVagaView from \"./DetalhesVaga.view\";\n\nfunction ListaDetalhesVaga(): React.ReactElement {\n return (\n \n );\n}\n\nexport default ListaDetalhesVaga;","import { PermContactCalendar } from \"@mui/icons-material\";\nimport DescriptionIcon from \"@mui/icons-material/Description\";\nimport { DialogActions, IconButton } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport { useModalContext } from \"../../../../context/Modal/hooks/useModal\";\nimport { Transition } from \"../../../../utils/transition\";\nimport ListaDetalhesVaga from \"../../../Detalhes/DetalhesVaga\";\nimport ModalHeader from \"../../ModalHeader\";\n\nfunction ModalDetalhesVagaView(props) {\n\tconst { open, handleOpen, handleClose } = useModalContext();\n\n\t/**\n\t * @function handleDetalhesVaga\n\t * Abre o modal de ListaDetalhesVaga e seta um valor no sessionStorage com a chave de nome id_vaga.\n\t * @param {number} id - Representa o id da vaga.\n\t */\n\tfunction handleDetalhesVaga(id: number) {\n\t\thandleOpen();\n\t\tlocalStorage.setItem(\"id_vaga\", id.toString());\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\thandleDetalhesVaga(props.vagaId);\n\t\t\t\t}}\n\t\t\t\ttitle={\"Detalhes\"}\n\t\t\t\tdata-testid=\"modal-detalhes-vaga\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\nexport default ModalDetalhesVagaView;\n","import React from \"react\";\nimport { ModalContextProvider } from \"../../../../context/Modal/modal.context\";\nimport ModalDetalhesVagaView from \"./ModalDetalheVaga.view\";\n\nfunction ModalDetalhesVaga(props): React.ReactElement {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default ModalDetalhesVaga;\n","import Pagination from \"@mui/material/Pagination\";\nimport Paper from \"@mui/material/Paper\";\nimport Stack from \"@mui/material/Stack\";\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 TableRow from \"@mui/material/TableRow\";\nimport { useEffect, useState } from \"react\";\nimport {\n\tgetVagas,\n\tgetVagasEmpresa,\n\tgetVagasRepresentante,\n} from \"../../../services/crud/crud.vaga\";\n// import { Vaga } from \"../../../models/Vaga\";\nimport { makeStyles } from \"@material-ui/core\";\nimport {\n\tBox,\n\tFormControl,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tTypography,\n} from \"@mui/material\";\nimport { Link } from \"react-router-dom\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { Empresa } from \"../../../models/Empresa\";\nimport { TabelaVagas } from \"../../../models/FormulariosAlteracao\";\nimport { Meta } from \"../../../models/Meta\";\nimport { Usuario } from \"../../../models/Usuario\";\nimport {\n\tgetAllEmpresas,\n\tgetAllEmpresasRepresentante,\n} from \"../../../services/crud/crud.empresa\";\nimport { getUsuario } from \"../../../services/crud/crud.usuario\";\nimport ModalAlteracaoVaga from \"../../Modal/ModalAlteracao/ModalAlteracaoVaga\";\nimport ModalCadastroVaga from \"../../Modal/ModalCadastro/ModalCadastroVaga\";\nimport ModalDeleteVaga from \"../../Modal/ModalDelete/ModalDeleteVaga\";\nimport ModalDetalhesVaga from \"../../Modal/ModalDetalhes/ModalDetalhesVaga\";\nimport { useReloadContext } from \"../hooks/useReload\";\nimport \"../style.scss\";\n\nfunction TabelaVagasView() {\n\tconst useStyles = makeStyles((theme) => ({\n\t\tselect: {\n\t\t\t\"& .MuiOutlinedInput-notchedOutline\": {\n\t\t\t\tborderColor: \"grey \",\n\t\t\t},\n\t\t\t\"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n\t\t\t\tborderColor: \"grey !important\",\n\t\t\t},\n\t\t\t\"&:hover .MuiOutlinedInput-notchedOutline\": {\n\t\t\t\tborderColor: \"black !important\",\n\t\t\t},\n\t\t},\n\t\tinputLabel: {\n\t\t\t// color: \"red\",\n\t\t\t\"&.Mui-focused\": {\n\t\t\t\tcolor: \"black !important\",\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\tconst { auth } = useAuthContext();\n\tconst { reload, setReload } = useReloadContext();\n\n\tconst [selectValue, setSelectValue] = useState(\"\");\n\tconst [paginacao, setPaginacao] = useState({} as Meta);\n\n\tconst [dadosVagas, setDadosVagas] = useState({} as TabelaVagas);\n\t// const [tableRowsInitial, setTableRowsInitial] = useState({} as TabelaVagas);\n\n\tconst [empresas, setEmpresas] = useState>([]);\n\tconst [representante, setRepresentante] = useState({} as Usuario);\n\n\t/**\n\t * @function handleChangePage\n\t * Faz uma requisição para a api e traz as informações da paginação e o array de tipos de contrato.\n\t * @param {object} event - Representa o elemento que sofreu o evento.\n\t * @param {number} page - Representa a página atual.\n\t */\n\tfunction handleChangePage(event: unknown, page: number) {\n\t\tif (auth.role === \"admin\") {\n\t\t\tif (selectValue !== \" \") {\n\t\t\t\tlet idEmpresa = selectValue;\n\n\t\t\t\tgetVagasEmpresa(`${page}`, Number(idEmpresa)).then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetSelectValue(idEmpresa);\n\t\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tgetVagas(`${page}`).then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (selectValue !== \" \") {\n\t\t\t\tlet idEmpresa = selectValue;\n\n\t\t\t\tgetVagasEmpresa(`${page}`, Number(idEmpresa))\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\t\tsetSelectValue(idEmpresa);\n\t\t\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tgetVagasRepresentante(`${page}`)\n\t\t\t\t\t.then((data) => {\n\t\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t\t\t\tsetSelectValue(\" \");\n\t\t\t\t\t\t// setTableRowsInitial({ vagas: data.data });\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @function exibirFiltroUsuario\n\t * Verifica se o usuário logado é um admin, se sim retorna um componente select.\n\t * @returns {JSX.Element} - Retorna um select que filtra as empresas por representates.\n\t */\n\tfunction exibirFiltroUsuario(): JSX.Element {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tFiltrar vagas por empresa\n\t\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tconsole.log(\"Selected value:\", event.target.value);\n\t\t\t\t\t\t// alert(event.target.value);\n\t\t\t\t\t\tfilterCompany(event);\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={selectValue}\n\t\t\t\t>\n\t\t\t\t\tTodas as vagas\n\t\t\t\t\t{empresas.length > 0 &&\n\t\t\t\t\t\tempresas?.map((empresa, index) => (\n\t\t\t\t\t\t\t{`${empresa.name}`}\n\t\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\t/**\n\t * @function filterCompany\n\t * Verifica se o valor do evento for diferente de vazio, caso sim atribui à constante results o array vagas atualizado com as vagas da empresa selecionada e em seguida atualiza o tableRows com o valor do results e o selecValue para o valor do evento, caso contrario seta o tableRows para o valor inicial e o selectValue para o valor do evento.\n\t * @param event - Representa o elemento que sofreu o evento.\n\t */\n\tasync function filterCompany(event) {\n\t\tif (event.target.value !== \"\") {\n\t\t\tawait getVagasEmpresa(null, event.target.value).then((data) => {\n\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t});\n\n\t\t\t// const results = tableRowsInitial.vagas.filter((vaga) => {\n\t\t\t// return vaga.companies_id === event.target.value;\n\t\t\t// });\n\n\t\t\t// setDadosVagas({ vagas: results });\n\n\t\t\tsetSelectValue(event.target.value);\n\t\t} else {\n\t\t\tsetReload(!reload);\n\t\t\t// setSelectValue(event.target.value);\n\t\t\t// setDadosVagas(tableRowsInitial);\n\t\t}\n\t}\n\n\t/**\n\t * @function isDisabled\n\t * Vefirica se o usuário é um admin ou se esta ativo no sistema, senão desabilita o select.\n\t * @param { boolean | undefined} is_active -\n\t * @returns Retorna um boolean.\n\t */\n\t// function isDisabled(is_active: boolean | undefined) {\n\t// \tif (is_active || auth.role === \"admin\") {\n\t// \t\treturn false;\n\t// \t} else {\n\t// \t\treturn true;\n\t// \t}\n\t// }\n\n\tuseEffect(() => {\n\t\tif (auth.role === \"admin\") {\n\t\t\tgetVagas(null)\n\t\t\t\t.then((data) => {\n\t\t\t\t\t// setTableRowsInitial({ vagas: data.data });\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetAllEmpresas()\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetEmpresas(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetVagas(null)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t\t\tsetSelectValue(\" \");\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t\t// if (localStorage.getItem(\"id_empresa_filter\")) {\n\t\t\t// \tlet empresa_id = localStorage.getItem(\n\t\t\t// \t\t\"id_empresa_filter\"\n\t\t\t// \t) as string;\n\n\t\t\t// \tgetVagasEmpresa(null, Number(empresa_id))\n\t\t\t// \t\t.then((data) => {\n\t\t\t// \t\t\tsetPaginacao(data.meta);\n\t\t\t// \t\t\tsetSelectValue(empresa_id);\n\t\t\t// \t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t// \t\t\tlocalStorage.removeItem(\"id_empresa_filter\");\n\t\t\t// \t\t})\n\t\t\t// \t\t.catch((e) => {\n\t\t\t// \t\t\tconsole.log(e);\n\t\t\t// \t\t});\n\t\t\t// } else {\n\t\t\t// \tgetVagas(null)\n\t\t\t// \t\t.then((data) => {\n\t\t\t// \t\t\tsetPaginacao(data.meta);\n\t\t\t// \t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t// \t\t\tsetSelectValue(\" \");\n\t\t\t// \t\t})\n\t\t\t// \t\t.catch((e) => {\n\t\t\t// \t\t\tconsole.log(e);\n\t\t\t// \t\t});\n\t\t\t// }\n\t\t} else {\n\t\t\tgetUsuario(auth.user_id)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetRepresentante(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetAllEmpresasRepresentante()\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetEmpresas(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetVagasRepresentante(null)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetPaginacao(data.meta);\n\t\t\t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t\t\tsetSelectValue(\" \");\n\t\t\t\t\t// setTableRowsInitial({ vagas: data.data });\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t\tgetUsuario(auth.user_id)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetRepresentante(data);\n\t\t\t\t})\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t\t// if (localStorage.getItem(\"id_empresa_filter\")) {\n\t\t\t// \tlet empresa_id = localStorage.getItem(\n\t\t\t// \t\t\"id_empresa_filter\"\n\t\t\t// \t) as string;\n\n\t\t\t// \tgetVagasEmpresa(null, Number(empresa_id))\n\t\t\t// \t\t.then((data) => {\n\t\t\t// \t\t\tsetPaginacao(data.meta);\n\t\t\t// \t\t\tsetSelectValue(empresa_id);\n\t\t\t// \t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t// \t\t\tlocalStorage.removeItem(\"id_empresa_filter\");\n\t\t\t// \t\t})\n\t\t\t// \t\t.catch((e) => {\n\t\t\t// \t\t\tconsole.log(e);\n\t\t\t// \t\t});\n\n\t\t\t// \tgetVagasRepresentante(null)\n\t\t\t// \t\t.then((data) => {\n\t\t\t// \t\t\t// setTableRowsInitial({ vagas: data.data });\n\t\t\t// \t\t})\n\t\t\t// \t\t.catch((e) => {\n\t\t\t// \t\t\tconsole.log(e);\n\t\t\t// \t\t});\n\t\t\t// } else {\n\t\t\t// \tgetVagasRepresentante(null)\n\t\t\t// \t\t.then((data) => {\n\t\t\t// \t\t\tsetPaginacao(data.meta);\n\t\t\t// \t\t\tsetDadosVagas({ vagas: data.data });\n\t\t\t// \t\t\tsetSelectValue(\" \");\n\t\t\t// \t\t\t// setTableRowsInitial({ vagas: data.data });\n\t\t\t// \t\t})\n\t\t\t// \t\t.catch((e) => {\n\t\t\t// \t\t\tconsole.log(e);\n\t\t\t// \t\t});\n\n\t\t\t// \tgetUsuario(auth.user_id)\n\t\t\t// \t\t.then((data) => {\n\t\t\t// \t\t\tsetRepresentante(data);\n\t\t\t// \t\t})\n\t\t\t// \t\t.catch((e) => {\n\t\t\t// \t\t\tconsole.log(e);\n\t\t\t// \t\t});\n\t\t\t// }\n\t\t}\n\t\tsetReload(true);\n\t}, [reload, setReload, auth.role, auth.user_id]);\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tVagas cadastradas\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tListando todas as vagas cadastrados no sistema\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t{exibirFiltroUsuario()}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tTítulo\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCandidaturas\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEmpresa\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\tLocal\n\n\t\t\t\t\t\t\t\t\tÁrea\n\n\t\t\t\t\t\t\t\t\tAções\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*
{JSON.stringify(dadosVagas, null, 4)}
*/}\n\t\t\t\t\t\t\t\t{dadosVagas.vagas?.map((vaga: any, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{vaga.title}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{vaga.applications\n\t\t\t\t\t\t\t\t\t\t\t\t? vaga.applications.length\n\t\t\t\t\t\t\t\t\t\t\t\t: 0}\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{vaga.company}\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{`${vaga.city} - ${vaga.state}`}\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{vaga.area}\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t{/* {\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"/candidaturas/\" +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvaga.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t */}\n\n\t\t\t\t\t\t\t\t\t\t\t{/* { handleDeletarVaga(vaga.id) }}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Deletar\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t{/*
{JSON.stringify(dadosVagas, null, 4)}
*/}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{/* */}\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default TabelaVagasView;\n","import React from \"react\";\nimport { ReloadContextProvider } from \"../../Tabelas/reload.context\";\nimport TabelaVagasView from \"./TabelaVagas.view\";\n\nfunction TabelaVagas(): React.ReactElement {\n return (\n \n \n \n );\n}\n\nexport default TabelaVagas;","import React from \"react\";\nimport TabelaVagas from \"../../../components/Tabelas/TabelaVagas\";\n\nexport default function Vagas(): React.ReactElement {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBox,\n\tButton,\n\tButtonGroup,\n\tContainer,\n\tDivider,\n\tGrid,\n\tTypography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport Lottie from \"lottie-react\";\nimport animationData from \"../../../assets/assets/404.json\";\nimport \"./styles.scss\";\n\nexport default function NotFound(): React.ReactElement {\n\tconst history = useNavigate();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tERRO 404\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA página solicitada não pode ser encontrada,\n\t\t\t\t\t\t\t\tclique no botão abaixo para retomar a navegação.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t history(\"/\")}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tInício\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n */}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{/*
\n

Erro 404

\n \n
*/}\n\t\t
\n\t);\n}\n","import { RespostaSignup, Signup } from \"../models/Signup\";\nimport Notify from \"../utils/notification\";\nimport api from \"./api\";\n\n/**\n * @function postSignup \n * Faz uma requisição do tipo post para a rota /signup da api. No caso de sucesso é retornado um objeto do tipo RespostaSigup \n * @param {Signup} data - Dados do cadastro inicial (signup)\n * @returns \n */\n\nexport async function postSignup(data: Signup): Promise {\n\n return await api.post(\"/signup\", data)\n .then(({ data }) => {\n Notify(\"Cadastro efetuado com sucesso!\");\n return data;\n }).catch((e) => {\n\t\t\tif (e.response && e.response.data && e.response.data.errors) {\n\t\t\t e.response.data.errors.forEach((error: any) => {\n\t\t\t\t// Map API field names to Portuguese\n\t\t\t\tconst fieldTranslations = {\n\t\t\t\t \"user.name\": \"Nome\",\n\t\t\t\t \"user.email\": \"E-mail\",\n\t\t\t\t \"user.password\": \"Senha\",\n\t\t\t\t \"user.passwordConfirm\": \"Confirmação de Senha\",\n\t\t\t\t \"company.name\": \"Nome da Empresa\",\n\t\t\t\t \"company.numero_registro\": \"Número de Registro\",\n\t\t\t\t \"company.about\": \"Sobre a Empresa\",\n\t\t\t\t \"company.area\": \"Área de Atuação\",\n\t\t\t\t \"company.email_curriculum\": \"E-mail para Currículos\",\n\t\t\t\t \"company.site\": \"Site\",\n\t\t\t\t \"company.employees_number\": \"Número de Funcionários\"\n\t\t\t\t};\n\t \n\t\t\t\tconst fieldName = fieldTranslations[error.field] || error.field; // Fallback to original if no translation\n\t \n\t\t\t\t// const errorMessage = `Erro no campo ${fieldName}: ${error.message}`;\n\t\t\t\tconst errorMessage = `Erro no campo ${fieldName}`;\n\t\t\t\tNotify(errorMessage, \"error\");\n\t\t\t });\n\t\t\t} else {\n\t\t\t Notify(\"An unexpected error occurred during signup.\", \"error\");\n\t\t\t}\n\t \n\t\t\treturn null;\n\t\t });\n}","import api from \"../api\";\n\nexport async function getTerms() {\n try {\n const response = await api.get('/terms');\n return response.data;\n } catch (error) {\n throw error;\n }\n}\n\nexport async function postTerms({ user_id, term_id }) {\n try {\n const response = await api.post('/terms/sign', { user_id, term_id });\n return response.data;\n } catch (error) {\n throw error;\n }\n}\n","import { MenuItem, Select } from \"@material-ui/core\";\nimport { Close } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tCheckbox,\n\tContainer,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogContentText,\n\tFormControl,\n\tIconButton,\n\tStep,\n\tStepLabel,\n\tStepper,\n\tTextField,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useNavigate } from \"react-router\";\nimport { postSignup } from \"../../../../services/signup\";\nimport { getTerms } from \"../../../../services/terms\";\nimport maskCnpj from \"../../../../utils/mask\";\n\n// ... (previous imports)\n\nconst FormComponent = () => {\n\tconst {\n\t\tcontrol,\n\t\thandleSubmit,\n\t\tformState: { errors },\n\t\tgetValues,\n\t} = useForm({\n\t\tmode: \"onSubmit\",\n\t\tdefaultValues: {\n\t\t\t// Set default values if needed\n\t\t\tuser: {\n\t\t\t\tname: \"\",\n\t\t\t\temail: \"\",\n\t\t\t\tpassword: \"\",\n\t\t\t\tpasswordConfirm: \"\",\n\t\t\t},\n\t\t\tcompany: {\n\t\t\t\tname: \"\",\n\t\t\t\tcnpj: \"\",\n\t\t\t\tnumero_registro: \"\",\n\t\t\t\tabout: \"\",\n\t\t\t\tarea: \"\",\n\t\t\t\temail_curriculum: \"\",\n\t\t\t\tsite: \"\",\n\t\t\t\temployees_number: 0,\n\t\t\t},\n\t\t},\n\t});\n\tconst steps = [\"Cadastro de representante\", \"Cadastro de empresa\"];\n\tconst [activeStep, setActiveStep] = React.useState(0);\n\tconst [termState, setTermState] = useState<{\n\t\tterm: boolean;\n\t\tdialog: boolean;\n\t\ttermText: string;\n\t}>({ term: false, dialog: false, termText: \"\" });\n\tconst theme = useTheme();\n\tconst navigate = useNavigate();\n\n\tconst [selectedField, setSelectedField] = useState(\"cnpj\");\n\n\tconst handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n\t\tsetSelectedField(event.target.value as string);\n\t};\n\n\tconst onSubmit = async (data: any) => {\n\t\tif (activeStep === steps.length - 1) {\n\t\t\ttry {\n\t\t\t\tif (selectedField === \"cnpj\") {\n\t\t\t\t\tdata.company.cnpj = data.company.cnpj.replace(\n\t\t\t\t\t\t/[^\\w]+/g,\n\t\t\t\t\t\t\"\"\n\t\t\t\t\t);\n\t\t\t\t\tdelete data.company.numero_registro;\n\t\t\t\t} else {\n\t\t\t\t\tdelete data.company.cnpj;\n\t\t\t\t}\n\t\t\t\tawait postSignup(data);\n\t\t\t\tnavigate(\"/\");\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Erro ao realizar o cadastro:\", error);\n\t\t\t}\n\t\t} else {\n\t\t\tsetActiveStep((prevStep) => prevStep + 1);\n\t\t}\n\t};\n\n\tconst handleBack = () => {\n\t\tsetActiveStep((prevStep) => prevStep - 1);\n\t};\n\n\tuseEffect(() => {\n\t\tconst fetchData = async () => {\n\t\t\ttry {\n\t\t\t\tconst termsData: any = await getTerms();\n\t\t\t\tconst desiredObject: any = termsData?.find(\n\t\t\t\t\t(item) => item.type === \"empresa\"\n\t\t\t\t);\n\n\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t...prevTermState,\n\t\t\t\t\ttermText: desiredObject?.term_text,\n\t\t\t\t}));\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error fetching terms:\", error);\n\t\t\t}\n\t\t};\n\t\tfetchData();\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttermState.term === false &&\n\t\t\t\t\t\tactiveStep !== steps.length - 1\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetActiveStep((prevStep) => prevStep + 1);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttermState.term === true &&\n\t\t\t\t\t\tactiveStep === steps.length - 1\n\t\t\t\t\t) {\n\t\t\t\t\t\tonSubmit(data);\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{steps.map((label, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\n\t\t\t\t{activeStep === 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCadastro de representante\n\t\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{\n\t\t\t\t\t\t\t\trequired: \"Campo obrigatório\",\n\t\t\t\t\t\t\t\tpattern: {\n\t\t\t\t\t\t\t\t\tvalue: /^\\S+@\\S+$/i,\n\t\t\t\t\t\t\t\t\tmessage: \"E-mail inválido\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{\n\t\t\t\t\t\t\t\trequired: \"Campo obrigatório\",\n\t\t\t\t\t\t\t\tpattern: {\n\t\t\t\t\t\t\t\t\tvalue: /^.{8,}$/,\n\t\t\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\t\t\"Senha deve ter pelo menos 8 caracteres\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{\n\t\t\t\t\t\t\t\trequired: \"Campo obrigatório\",\n\t\t\t\t\t\t\t\tvalidate: (value) =>\n\t\t\t\t\t\t\t\t\tvalue === getValues(\"user.password\") ||\n\t\t\t\t\t\t\t\t\t\"As senhas não coincidem\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{activeStep === 1 && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCadastro de empresa\n\t\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCNPJ\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRegistro Profissional\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{selectedField === \"cnpj\" && (\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tconst formattedValue = maskCnpj(\n\t\t\t\t\t\t\t\t\t\t\t\te.target.value\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tfield.onChange(formattedValue);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t// rules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{selectedField === \"rnp\" && (\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tfield.onChange(e.target.value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t// rules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={{\n\t\t\t\t\t\t\t\t// required: \"Campo obrigatório\",\n\t\t\t\t\t\t\t\tpattern: /^\\S+@\\S+$/i,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t// rules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t// rules={{ required: \"Campo obrigatório\" }}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t\t\t\t\t\t...prevTermState,\n\t\t\t\t\t\t\t\t\t\tterm: event.target.checked,\n\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tVoltar\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t// if (termState.term === false && activeStep !== steps.length - 1) {\n\t\t\t\t\t\t// setActiveStep((prevStep) => prevStep + 1);\n\t\t\t\t\t\t// } else if (termState.term === true && activeStep === steps.length - 1) {\n\t\t\t\t\t\t// return\n\t\t\t\t\t\t// }\n\t\t\t\t\t\t// }}\n\t\t\t\t\t\tdisableElevation\n\t\t\t\t\t>\n\t\t\t\t\t\t{activeStep === steps.length - 1\n\t\t\t\t\t\t\t? \"Finalizar\"\n\t\t\t\t\t\t\t: \"Próximo\"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t {\n\t\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t\t...prevTermState,\n\t\t\t\t\t\tdialog: !prevTermState.dialog,\n\t\t\t\t\t}));\n\t\t\t\t}}\n\t\t\t\tmaxWidth=\"md\"\n\t\t\t\tsx={{ zIndex: 99999 }}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTermos e Condições\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t\t\t\t\t...prevTermState,\n\t\t\t\t\t\t\t\t\tdialog: !prevTermState.dialog,\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t\t\t\t...prevTermState,\n\t\t\t\t\t\t\t\tdialog: !prevTermState.dialog,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tVoltar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default FormComponent;\n","import { Box, Container, Grid, Paper, useTheme } from \"@mui/material\";\nimport { useNavigate } from \"react-router\";\nimport FormComponent from \"../Cadastro/FormComponent\";\nimport \"./styles.scss\";\n\nfunction FormularioSignUpView() {\n\tconst theme = useTheme();\n\tconst navigate = useNavigate();\n\n\t// const [etapaAtual, setEtapaAtual] = useState(0);\n\t// const formularios = [\n\t// ,\n\t// ,\n\t// ];\n\n\t/**\n\t * @function proximo\n\t * Atualiza o step setando +1 no valor da etapaAtual.\n\t */\n\t// function proximo() {\n\t// setEtapaAtual(etapaAtual + 1);\n\t// }\n\n\t/**\n\t * @function anterior\n\t * Atualiza o step setando -1 no valor da etapaAtual\n\t */\n\t// function anterior() {\n\t// setEtapaAtual(etapaAtual - 1);\n\t// }\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tnavigate(\"/\");\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{/*
\n \n \n Dados Pessoais\n \n \n Dados da Empresa\n \n \n {formularios[etapaAtual]}\n
*/}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FormularioSignUpView;\n","import FormularioSignUpView from \"./FormularioSignUp.view\";\n\nfunction FormularioSignUp() {\n return (\n \n );\n}\n\nexport default FormularioSignUp;","import React, { createContext, useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { postSignup } from \"../../services/signup\";\nimport Notify from \"../../utils/notification\";\nimport { PropsSignUpContext } from \"./models/SignUpPropsType\";\n\nconst DEFAULT_VALUE = {\n\tdados: {\n\t\tuser: {\n\t\t\tname: \"\",\n\t\t\temail: \"\",\n\t\t\tpassword: \"\",\n\t\t\tpasswordConfirm: \"\",\n\t\t},\n\t\tcompany: {\n\t\t\tname: \"\",\n\t\t\tcnpj: \"\",\n\t\t\tabout: \"\",\n\t\t\tarea: \"\",\n\t\t\temail_curriculum: \"\",\n\t\t\temployees_number: 0,\n\t\t},\n\t},\n\tdadosUsuario: {\n\t\tname: \"\",\n\t\temail: \"\",\n\t\tpassword: \"\",\n\t\tpasswordConfirm: \"\",\n\t},\n\tdadosEmpresa: {\n\t\tname: \"\",\n\t\tcnpj: \"\",\n\t\tabout: \"\",\n\t\tarea: \"\",\n\t\temail_curriculum: \"\",\n\t\temployees_number: 0,\n\t},\n\tproximo: false,\n\tsetDados: () => {},\n\tsetDadosUsuario: () => {},\n\tsetDadosEmpresa: () => {},\n\tsetProximo: () => {},\n};\n\nconst dadosVazio = {\n\tuser: {\n\t\tname: \"\",\n\t\temail: \"\",\n\t\tpassword: \"\",\n\t\tpasswordConfirm: \"\",\n\t},\n\tcompany: {\n\t\tname: \"\",\n\t\tcnpj: \"\",\n\t\tabout: \"\",\n\t\tarea: \"\",\n\t\temail_curriculum: \"\",\n\t\temployees_number: 0,\n\t},\n};\n\nconst dadosEmpresaVazio = {\n\tname: \"\",\n\tcnpj: \"\",\n\tabout: \"\",\n\tarea: \"\",\n\temail_curriculum: \"\",\n\temployees_number: 0,\n};\n\nexport const SignUpContext = createContext(DEFAULT_VALUE);\n\nexport const SignUpContextProvider: React.FC = ({ children }) => {\n\tconst navigate = useNavigate();\n\tconst [dados, setDados] = useState(DEFAULT_VALUE.dados);\n\tconst [dadosUsuario, setDadosUsuario] = useState(\n\t\tDEFAULT_VALUE.dadosUsuario\n\t);\n\tconst [dadosEmpresa, setDadosEmpresa] = useState(\n\t\tDEFAULT_VALUE.dadosEmpresa\n\t);\n\tconst [proximo, setProximo] = useState(DEFAULT_VALUE.proximo);\n\n\tuseEffect(() => {\n\t\tif (JSON.stringify(dados) !== JSON.stringify(dadosVazio)) {\n\t\t\tpostSignup(dados).then(() => {\n\t\t\t\tnavigate(\"/\");\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tJSON.stringify(dadosEmpresa) !==\n\t\t\t\tJSON.stringify(dadosEmpresaVazio) &&\n\t\t\tJSON.stringify(dados) === JSON.stringify(dadosVazio)\n\t\t) {\n\t\t\tif (dadosEmpresa.email_curriculum !== dadosUsuario.email) {\n\t\t\t\tsetDados({\n\t\t\t\t\tuser: dadosUsuario,\n\t\t\t\t\tcompany: dadosEmpresa,\n\t\t\t\t});\n\n\t\t\t\tlocalStorage.clear();\n\t\t\t} else {\n\t\t\t\tNotify(\n\t\t\t\t\t\"Diferencie o e-mail do usuário do e-mail de recebimento de currículo!\",\n\t\t\t\t\t\"error\"\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [dados, dadosUsuario, dadosEmpresa, navigate]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n","import React from \"react\";\nimport FormularioSignUp from \"../../../components/Formularios/FormularioSignUp\";\nimport { SignUpContextProvider } from \"../../../context/SignUp/signUp.context\";\n\nexport default function SignUp(): React.ReactElement {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React, { Fragment } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\n// import HomePage from '../pages/HomePage';\nimport { Box, CssBaseline } from \"@mui/material\";\nimport AppHeader from \"../components/layout/AppHeader\";\nimport { useAuthContext } from \"../context/Authentication/hooks/useAuth\";\nimport CandidaturasAdministrador from \"../pages/Private/Candidaturas/CandidaturasAdministrador\";\nimport Empresas from \"../pages/Private/Empresas\";\nimport MeuCurriculo from \"../pages/Private/MeuCurriculo\";\nimport OrientacoesAdmin from \"../pages/Private/OrientacoesAdmin\";\nimport TiposContrato from \"../pages/Private/TiposContrato\";\nimport Usuarios from \"../pages/Private/Usuarios\";\nimport Vagas from \"../pages/Private/Vagas\";\nimport NotFound from \"../pages/Public/NotFound\";\nimport SignUp from \"../pages/Public/SignUp\";\nimport { MeuCurriculoContextProvider } from \"../pages/Private/MeuCurriculo/context\";\n\nconst AdminRouter = (): React.ReactElement => {\n\tconst { auth } = useAuthContext();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t : \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t} />\n\t\t\t\t\t\t} />\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t} />\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t} />\n\t\t\t\t\t\t} />\n\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t} />\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AdminRouter;\n","import { Box, Grid, Typography } from \"@mui/material\";\nimport { Fragment } from \"react\";\n\n/**\n *\n * @returns Componente de rodapé do projeto Uninta Jobs\n */\nexport default function AppFooter() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCentro Universitário INTA - UNINTA. Todos os\n\t\t\t\t\t\t\tdireitos reservados. 2024.\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Avatar } from \"@material-ui/core\";\nimport MenuIcon from \"@mui/icons-material/Menu\";\nimport {\n\tAppBarProps,\n\tBox,\n\tIconButton,\n\tSwitch,\n\tToolbar,\n\tstyled,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport MuiAppBar from \"@mui/material/AppBar\";\nimport { CSSProperties, Fragment, useEffect, useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router\";\nimport { Link } from \"react-router-dom\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { useTheming } from \"../../../context/Theming\";\nimport { useMeuCurriculo } from \"../../../pages/Private/MeuCurriculo/context\";\nimport { postLogout } from \"../../../services/logout\";\nimport { AppDrawer } from \"../AppDrawer\";\nimport { AppMain } from \"../AppMain\";\n\nconst drawerWidth = 296;\n\n/**\n * Appbar do projeto, contendo o Drawer e o Main, container principal do projeto\n */\nconst AppBar = styled(MuiAppBar, {\n\tshouldForwardProp: (prop) => prop !== \"open\",\n})(({ theme, open }: any) => ({\n\ttransition: theme.transitions.create([\"margin\", \"width\"], {\n\t\teasing: theme.transitions.easing.sharp,\n\t\tduration: theme.transitions.duration.leavingScreen,\n\t}),\n\t...(open && {\n\t\twidth: `calc(100% - ${drawerWidth}px)`,\n\t\tmarginLeft: `${drawerWidth}px`,\n\t\ttransition: theme.transitions.create([\"margin\", \"width\"], {\n\t\t\teasing: theme.transitions.easing.easeOut,\n\t\t\tduration: theme.transitions.duration.enteringScreen,\n\t\t}),\n\t}),\n}));\n\nexport default function AppHeaderStudent({ children }: any) {\n\tconst { dark, setDark } = useTheming();\n\tconst { auth, setAuth } = useAuthContext();\n\tconst { student } = useMeuCurriculo();\n\t// alert(JSON.stringify(auth));\n\n\tconst theme = useTheme();\n\tconst breakpoint = useMediaQuery(theme.breakpoints.down(\"md\"));\n\tconst navigate = useNavigate();\n\tconst [open, setOpen] = useState(!breakpoint);\n\n\tconst handleDrawerOpen = () => {\n\t\tsetOpen(true);\n\t};\n\n\tconst handleDrawerClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tuseEffect(() => {\n\t\t// Update 'open' state when the breakpoint changes\n\t\tsetOpen(!breakpoint);\n\t}, [breakpoint]);\n\n\t/**\n\t *\n\t * @param e Toggle Switch of color theme\n\t */\n\tconst handleChange = (e) => {\n\t\tsetDark(e.target.checked);\n\t};\n\t/**\n\t * @function handleLogout\n\t * Chama a função de postLogout, faz uma mudança de rotas para / e seta valores vazios na propriedade auth do contexto AuthContext.\n\t * @returns Retorna o menu navegação.\n\t */\n\tfunction handleLogout() {\n\t\tpostLogout();\n\t\tif (\n\t\t\tauth.role === \"admin\" ||\n\t\t\tauth.role === \"representante\" ||\n\t\t\tauth.role === \"representante_empresa\"\n\t\t) {\n\t\t\tnavigate(\"/login-admin\");\n\t\t} else {\n\t\t\tnavigate(\"/\");\n\t\t}\n\t\tsetAuth({\n\t\t\trole: \"\",\n\t\t\ttype: \"\",\n\t\t\ttoken: \"\",\n\t\t\texpires_at: \"\",\n\t\t\tuser_id: 0,\n\t\t\tstudent_id: 0,\n\t\t\thas_terms: false,\n\t\t});\n\t}\n\n\tconst styles: { [key: string]: CSSProperties } = {\n\t\tlistItem: {\n\t\t\tbackgroundColor: theme.palette.primary.main,\n\t\t\tcolor: \"white\",\n\t\t\tborderRadius: \"5px\",\n\t\t},\n\t\tListItemIcon: {\n\t\t\tcolor: \"white\",\n\t\t},\n\t};\n\tconst location = useLocation();\n\n\tuseEffect(() => {\n\t\thandleDrawerClose();\n\t}, [location]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleDrawerOpen();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{auth.student_id ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{student &&\n\t\t\t\t\t\t\t\t\t\tstudent.user &&\n\t\t\t\t\t\t\t\t\t\tstudent.user.name &&\n\t\t\t\t\t\t\t\t\t\tstudent.user.name[0] &&\n\t\t\t\t\t\t\t\t\t\tstudent.user.name[0]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* }\n\t\t\t\t\t\t\tsx={{ color: \"white\" }}\n\t\t\t\t\t\t\tonClick={handleLogout}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSair\n\t\t\t\t\t\t */}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{/*
\n\t\t\t\t\t{JSON.stringify(student.user.name[0] as string, null, 4)}\n\t\t\t\t
*/}\n\t\t\t\n\t\t\t\n\t\t\t{children}\n\t\t
\n\t);\n}\n","import { Business, VerifiedUser, Work } from \"@mui/icons-material\";\nimport { Avatar, Box, Container, Grid, Typography } from \"@mui/material\";\nimport { pink } from \"@mui/material/colors\";\nimport React from \"react\";\nimport \"../style.scss\";\n\nfunction ListaDetalhesVagaAluno({\n\tusuario,\n\tempresa,\n\tvaga,\n\tjob,\n}: any): React.ReactElement {\n\t// const [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{/* \n\t\t\t\t\t{\" \"}\n\t\t\t\t\tRepresentante da empresa:{\" \"}\n\t\t\t\t */}\n\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(job, null, 4)}
*/}\n\t\t\t\t\t\n\t\t\t\t\t\t{vaga && vaga.company && vaga.company.logo_image && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*
{JSON.stringify(vaga, null, 4)}
*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{vaga.title} - {vaga.work_mode}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{vaga && vaga.company && vaga.company.name}\n\t\t\t\t\t\t\t\t\t{/* .Criado em{\" \"} */}\n\t\t\t\t\t\t\t\t\t{/* {new Date(vaga.created_at.toString() || \"\")} */}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{vaga.city} - {vaga.state} -{\" \"}\n\t\t\t\t\t\t\t\t\t{vaga.employment_type}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRemuneração inicial: R$\n\t\t\t\t\t\t\t\t\t{vaga.remuneration_initial} -{\" \"}\n\t\t\t\t\t\t\t\t\t{vaga.students.length} Candidatura(s)\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tVeja detalhes da vaga\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tDescrição da vaga:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{vaga.description}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tNível de experiência:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{vaga.experience_level}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tRequisitos:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{vaga.requirements}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tTarefas:\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t{vaga.assignments}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tInformação adicional:\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t{vaga.additional_info}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t{/* Verificar a remoção da info da equipe de contratação */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tConheça a equipe de contratação\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{vaga.user.name}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{\"\"}\n\t\t\t\t\t\t\t\t\t{vaga.user.email}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSobre a Empresa\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{vaga &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvaga.company &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvaga.company.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{\"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{vaga &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvaga.company &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvaga.company\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.employees_number}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tFuncionários -{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{vaga.company.site}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tSobre a empresa:\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t{vaga.company.about}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tÁrea de atuação:\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t{vaga.company.area}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default ListaDetalhesVagaAluno;\n","import axios from \"axios\";\n\nexport const fileManagerApi = axios.create({\n baseURL: process.env.REACT_APP_FILE_MANAGER_API\n // baseURL: 'http://localhost:8000/api/v2 -> API Local Laravel',\n // baseURL: 'http://localhost:3030/v2'\n})\n\nfileManagerApi.interceptors.request.use((config) => {\n let user: any = localStorage.getItem(\"@palco-profissional:state\");\n let token: any = localStorage.getItem(\"@palco-profissional:state\");\n\n if (token && config.headers) {\n user = JSON.parse(user).usuario.id;\n token = JSON.parse(token).accessToken;\n\n config.headers[\"Authorization\"] = `Bearer ${token}`;\n config.headers[\"ra\"] = user;\n }\n\n return config;\n});\n\n// fileManagerApi.interceptors.response.use(\n// (response) => response,\n// (error) => {\n// // Check if error.response exists before attempting to destructure\n// const status = error.response ? error.response.status : null;\n\n// if (status === 401 || status === 403) {\n// // Clear user session and storage\n// localStorage.removeItem(\"@application\");\n// localStorage.removeItem(\"token\");\n\n// // Redirect to '/'\n// window.location.href = '/';\n// }\n\n// return Promise.reject(error);\n// }\n// );\n","import { Delete, Search, Send, Videocam } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tCheckbox,\n\tChip,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tFormControl,\n\tIconButton,\n\tInputAdornment,\n\tMenuItem,\n\tPaper,\n\tSelect,\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableContainer,\n\tTableHead,\n\tTableRow,\n\tTextField,\n\tTypography,\n} from \"@mui/material\";\nimport { useEffect, useState } from \"react\";\nimport toast from \"react-hot-toast\";\nimport { useNavigate } from \"react-router\";\nimport { fileManagerApi } from \"../../../pages/Private/PalcoProfissional/filemanager\";\nimport api from \"../../../services/api\";\nimport Notification from \"../../../utils/notification\";\nimport ModalHeader from \"../../Modal/ModalHeader\";\n\n/**\n *\n * @param applications\n * @returns tabela de aplicações para vagas\n */\nexport default function TabelaCandidaturas({ applications, reloadData }: any) {\n\tconst history = useNavigate();\n\tconst [open, setOpen] = useState(false);\n\tconst [fullApplications, setFullApplications] = useState([]);\n\tconst [video, setVideo] = useState(null);\n\tconst [openVideo, setOpenVideo] = useState(false);\n\n\tconst [jobId, setJobId] = useState(0);\n\n\t/**\n\t * Atualiza status de candidatura do candidato\n\t */\n\tconst hireCandidate = async () => {\n\t\tif (jobId === 0) {\n\t\t\ttoast.error(\"Atenção! Selecione um candidato para prosseguir\");\n\t\t\treturn;\n\t\t}\n\t\tawait api\n\t\t\t.put(`/applications/${jobId}/hired`)\n\t\t\t.then((res) => {\n\t\t\t\ttoast.success(\"Candidatura atualizada com sucesso\");\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.error(err);\n\t\t\t\ttoast.error(\"Falha ao atualizar candidatura\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\twindow.location.reload();\n\t\t\t});\n\t};\n\n\t/**\n\t * Atualiza status de candidatura do candidato\n\t */\n\tconst fireCandidate = async (id) => {\n\t\tif (id === 0) {\n\t\t\ttoast.error(\"Atenção! Selecione um candidato para prosseguir\");\n\t\t\treturn;\n\t\t}\n\t\tawait api\n\t\t\t.put(`/applications/${id}/hired`)\n\t\t\t.then((res) => {\n\t\t\t\ttoast.success(\"Candidatura atualizada com sucesso\");\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.error(err);\n\t\t\t\ttoast.error(\"Falha ao atualizar candidatura\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\twindow.location.reload();\n\t\t\t});\n\t};\n\n\t/**\n\t *\n\t * @param ra\n\t * @description busca URL do video do aluno\n\t */\n\tconst getVideoCurriculo = async (ra) => {\n\t\tawait fileManagerApi.get(`/auditions/${ra}/published`).then((res) => {\n\t\t\tsetOpenVideo(true);\n\t\t\tsetVideo(res.data);\n\t\t});\n\t};\n\n\t/**\n\t *\n\t * @param e valor do nome do usuário\n\t */\n\tconst filtraCandidaturas = (e) => {\n\t\tif (e.target.value === \"\" || e.target.value === null) {\n\t\t\tsetFullApplications(applications);\n\t\t} else {\n\t\t\tconst searchTerm = e.target.value.toLowerCase(); // Convert input to lowercase for case-insensitive comparison\n\t\t\tconsole.clear();\n\t\t\tconsole.log(searchTerm);\n\t\t\tconst filtered = fullApplications.filter((application) =>\n\t\t\t\tapplication.student.user.name.toLowerCase().includes(searchTerm)\n\t\t\t);\n\t\t\tconsole.log(filtered);\n\t\t\tsetFullApplications(filtered);\n\t\t}\n\t};\n\n\t/**\n\t * Define o estado interno da tabela ao inicializar tela de componente\n\t */\n\tuseEffect(() => {\n\t\tsetFullApplications(applications);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [applications]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCandidaturas realizadas\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tfiltraCandidaturas(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\t\t\tstartAdornment: (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCód.\n\t\t\t\t\t\t\t\t\tVaga\n\t\t\t\t\t\t\t\t\tNome\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCurrículo\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tVídeo de apresentação\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tE-mail\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTelefone\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tAções\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNotificar candidato\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fullApplications &&\n\t\t\t\t\t\t\t\tfullApplications.length > 0 ? (\n\t\t\t\t\t\t\t\t\tfullApplications.map((c, index) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.job_id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.student.user.name}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{JSON.stringify(c)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAcessar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {c.student.user.email} */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenVideo(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetVideoCurriculo(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tc.student.ra\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReproduzir\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {c.student.user.email} */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.student.user.email}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{c.student.phone}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(true)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVocê deseja\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprosseguir com a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texclusão da\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcandidatura?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tawait api\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.delete(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`/applications/${c.id}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tres: any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNotification(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Candidatura removida com sucesso\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"success\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.catch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terr: any\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNotification(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Falha ao remover candidatura!\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"error\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.finally(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thistory(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"/candidaturas\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tExcluir\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tNenhuma candidatura encontrada\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tIndicar candidato contrato e concluir ocupação da vaga\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(fullApplications, null, 4)}
*/}\n\n\t\t\t\t\t\n\t\t\t\t\t\t setJobId(e.target.value)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fullApplications &&\n\t\t\t\t\t\t\t\tfullApplications.length > 0 ? (\n\t\t\t\t\t\t\t\t\tfullApplications.map((opportunity: any) => {\n\t\t\t\t\t\t\t\t\t\treturn opportunity.hired === 1 ? (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// alert(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \tJSON.stringify(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \t\topportunity,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \t\t4\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// \t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfireCandidate(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topportunity.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<>Selecionar Candidato\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>Selecionar candidato\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fullApplications && fullApplications.length > 0 ? (\n\t\t\t\t\t\t\t\tfullApplications.map((opportunity: any) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{opportunity.student.user.name}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\tConcluir ocupação da vaga\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\tclose={() => setOpenVideo(false)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tReprodutor\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tApresentando o vídeo currículo do aluno\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetOpenVideo(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tFechar player\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tAdd,\n\tBookmark,\n\tBookmarkRemove,\n\tCheck,\n\tClose,\n\tHail,\n} from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tChip,\n\tIconButton,\n\tPaper,\n\tTypography,\n} from \"@mui/material\";\nimport { Fragment } from \"react\";\n\nexport interface CardItemCardViewInterface {\n\titem?: any;\n\tlogo?: any;\n\tbreakpoint?: any;\n\ttheme?: any;\n\tsetJob?: any;\n\tjobForStudentDetails?: any;\n\tsetCandidaturaModalStatus?: any;\n\tbookmark?: any;\n\tdeleteBookMark?: any;\n\tsendBookMark?: any;\n}\n\nexport function HomePageItemCardView({\n\titem,\n\ttheme,\n\tsetJob,\n\tjobForStudentDetails,\n\tsetCandidaturaModalStatus,\n\tbookmark,\n\tdeleteBookMark,\n\tsendBookMark,\n}: CardItemCardViewInterface) {\n\treturn (\n\t\t\n\t\t\t 0\n\t\t\t\t\t\t\t? \"solid \" + theme.palette.secondary.main\n\t\t\t\t\t\t\t: \"none\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t 0 &&\n\t\t\t\t\t\t\t\ttheme.palette.secondary.main,\n\t\t\t\t\t\t\t// : theme.palette\n\t\t\t\t\t\t\t// \t\t.primary\n\t\t\t\t\t\t\t// \t\t.main,\n\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\tp: 1,\n\t\t\t\t\t\t\tborderBottomRightRadius: \"24px\",\n\t\t\t\t\t\t\t// display: \"flex\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\t\tgap: \"6px\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item &&\n\t\t\t\t\t\t\titem.applications &&\n\t\t\t\t\t\t\titem.applications.length > 0 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\tCandidatura Enviada{\" \"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{item.cover_image && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t{item.logo_image && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t{item &&\n\t\t\t\t\t\t\t\titem.contract_type &&\n\t\t\t\t\t\t\t\titem.contract_type.name\n\t\t\t\t\t\t\t\t\t? `(${item.contract_type.name})`\n\t\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t(Array.isArray(item.bookmark_student) &&\n\t\t\t\t\t\t\t\t\t\titem.bookmark_student.length > 0) ||\n\t\t\t\t\t\t\t\t\tbookmark\n\t\t\t\t\t\t\t\t\t\t? deleteBookMark()\n\t\t\t\t\t\t\t\t\t\t: sendBookMark()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(Array.isArray(item.bookmark_student) &&\n\t\t\t\t\t\t\t\t\titem.bookmark_student.length > 0) ||\n\t\t\t\t\t\t\t\tbookmark ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.description.length > 128 ? (\n\t\t\t\t\t\t\t\t<>{item.description.slice(0, 96) + \"...\"}\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\titem.description\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.city} - {item.state}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// sx={{ color: \"black\" }}\n\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\tsetJob(item);\n\t\t\t\t\t\t\t\tjobForStudentDetails(item, item.id);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDetalhes\n\t\t\t\t\t\t\n\t\t\t\t\t\t 0 ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// onClick={handleCandidaturaStatus}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetJob(item);\n\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(true);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item &&\n\t\t\t\t\t\t\titem.applications &&\n\t\t\t\t\t\t\titem.applications.length > 0\n\t\t\t\t\t\t\t\t? \"Cancelar\"\n\t\t\t\t\t\t\t\t: \"Candidatar-se\"}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tAdd,\n\tBookmark,\n\tBookmarkRemove,\n\tClose,\n\tHail,\n\tPlace,\n} from \"@mui/icons-material\";\nimport { Box, Button, IconButton, Paper, Typography } from \"@mui/material\";\nimport { Fragment } from \"react\";\n\nexport interface ListItemInterface {\n\titem?: any;\n\tlogo?: any;\n\tbreakpoint?: any;\n\ttheme?: any;\n\tsetJob?: any;\n\tjobForStudentDetails?: any;\n\tsetCandidaturaModalStatus?: any;\n\tbookmark?: any;\n\tdeleteBookMark?: any;\n\tsendBookMark?: any;\n}\n\nexport function HomePageItemListView({\n\titem,\n\tlogo,\n\tbreakpoint,\n\ttheme,\n\tsetJob,\n\tjobForStudentDetails,\n\tsetCandidaturaModalStatus,\n\tbookmark,\n\tdeleteBookMark,\n\tsendBookMark,\n}: ListItemInterface) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(item, null, 4)}
*/}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{item && item.logo_image && item.logo_image ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item && item.title} (\n\t\t\t\t\t\t\t{item &&\n\t\t\t\t\t\t\t\titem.contract_type &&\n\t\t\t\t\t\t\t\titem.contract_type.name}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.company}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.city} - {item.state}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* Candidatar-se */}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// sx={{ color: \"black\" }}\n\t\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\t\tsetJob(item);\n\t\t\t\t\t\t\t\t\tjobForStudentDetails(item, item.id);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDetalhes\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t 0 ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// onClick={handleCandidaturaStatus}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tsetJob(item);\n\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\twidth: \"250px\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item &&\n\t\t\t\t\t\t\t\titem.applications &&\n\t\t\t\t\t\t\t\titem.applications.length > 0\n\t\t\t\t\t\t\t\t\t? \"Cancelar candidatura\"\n\t\t\t\t\t\t\t\t\t: \"Candidatar-se\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbookmark ? deleteBookMark() : sendBookMark()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{bookmark ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n","import { useMediaQuery, useTheme } from \"@mui/material\";\nimport axios from \"axios\";\nimport { useAuthContext } from \"../../../../../context/Authentication/hooks/useAuth\";\nimport { HomePageItemCardView } from \"./HomePageItemCardView\";\nimport { HomePageItemListView } from \"./HomePageItemListView\";\n\nconst api = axios.create({\n\tbaseURL: process.env.REACT_APP_URL,\n});\n\nexport default function HomePageItemView({\n\tvariant,\n\titem,\n\tsetJob,\n\tjobsForStudents,\n\tjobForStudentDetails,\n\tsetCandidaturaModalStatus,\n\tbookmark,\n}: any) {\n\tconst theme = useTheme();\n\tconst breakpoint = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n\tconst { auth } = useAuthContext();\n\n\tconst sendBookMark = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tawait api\n\t\t\t.post(\n\t\t\t\t\"/bookmark\",\n\t\t\t\t{ student_id: auth.student_id, job_id: item.id },\n\t\t\t\t{\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then(async () => {\n\t\t\t\tawait jobsForStudents();\n\t\t\t});\n\t};\n\n\tconst deleteBookMark = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tawait api\n\t\t\t.delete(\"/bookmark/\" + item.bookmark_student[0].id, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tjobsForStudents();\n\t\t\t});\n\t};\n\n\tif (variant === \"list_view\") {\n\t\treturn (\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n","import { Business, Close, Work } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tContainer,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogContentText,\n\tGrid,\n\tIconButton,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport axios from \"axios\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { useParams } from \"react-router\";\nimport ListaDetalhesVagaAluno from \"../../../components/Detalhes/DetalhesVagaAluno\";\nimport ModalHeader from \"../../../components/Modal/ModalHeader\";\nimport TabelaCandidaturas from \"../../../components/Tabelas/TabelaCandidaturas\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport api from \"../../../services/api\";\nimport Notify from \"../../../utils/notification\";\nimport IndexedCard from \"../HomePage/components/HomePageItemView\";\n\nexport default function CandidaturasAluno() {\n\tconst params = useParams();\n\tconst { auth } = useAuthContext();\n\t// alert(JSON.stringify(auth));\n\tconst theme = useTheme();\n\tconst [open, setOpen] = useState(false);\n\tconst [job, setJob] = useState({\n\t\tvaga: null,\n\t\tusuario: null,\n\t\tempresa: null,\n\t});\n\tconst [jobs, setJobs] = useState({\n\t\tmeta: null,\n\t\tdata: [],\n\t});\n\tconst [showList] = useState(false);\n\tconst [candidaturaModalStatus, setCandidaturaModalStatus] =\n\t\tuseState(false);\n\n\tconst [profile, setProfile] = useState(null);\n\tconst loadProfile = async () => {\n\t\tconst token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tconst apiUrl = `${process.env.REACT_APP_URL}/profile`;\n\n\t\tawait axios\n\t\t\t.get(`${apiUrl}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: \"Bearer \" + token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tsetProfile(res.data[0].student);\n\t\t\t});\n\t};\n\n\tconst jobsForStudents = async (value?: number | string) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/jobs-for-student\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tconsole.log(res.data);\n\t\t\t\tsetJobs(res.data);\n\t\t\t});\n\t};\n\n\tconst [applications, setApplications] = useState(null);\n\tconst getApplications = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/applications\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then(async (res: any) => {\n\t\t\t\tconsole.log(res.data);\n\t\t\t\tvar aplicacoes: any[] = [];\n\n\t\t\t\tres.data.forEach(async (item) => {\n\t\t\t\t\tawait api\n\t\t\t\t\t\t.get(\"/applications/\" + item.id, {\n\t\t\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((res: any) => {\n\t\t\t\t\t\t\taplicacoes.push(res.data);\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\t// setApplications(res.data);\n\t\t\t\tsetApplications(aplicacoes);\n\t\t\t});\n\t};\n\n\tconst handleCandidaturaStatus = async (item: any) => {\n\t\tawait loadProfile().then(async () => {\n\t\t\tif (item && item.applications && item.applications.length === 0) {\n\t\t\t\tawait api\n\t\t\t\t\t.post(\"/applications\", {\n\t\t\t\t\t\tjob_id: item.id,\n\t\t\t\t\t\tra: profile.student.ra,\n\t\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tNotify(\"Candidatura submetida com sucesso!\", \"success\");\n\t\t\t\t\t})\n\t\t\t\t\t.finally(jobsForStudents);\n\t\t\t} else if (\n\t\t\t\titem &&\n\t\t\t\titem.applications &&\n\t\t\t\titem.applications.length > 0\n\t\t\t) {\n\t\t\t\titem &&\n\t\t\t\t\titem.applications &&\n\t\t\t\t\titem.applications.forEach(async (i: any) => {\n\t\t\t\t\t\tawait api\n\t\t\t\t\t\t\t.delete(`/applications/${i.id}`)\n\t\t\t\t\t\t\t.then((res: any) => {\n\t\t\t\t\t\t\t\tNotify(\n\t\t\t\t\t\t\t\t\t\"Candidatura removida com sucesso\",\n\t\t\t\t\t\t\t\t\t\"success\"\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((err: any) => {\n\t\t\t\t\t\t\t\tNotify(\n\t\t\t\t\t\t\t\t\t\"Falha ao remover candidatura!\",\n\t\t\t\t\t\t\t\t\t\"error\"\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tjobsForStudents();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tsetCandidaturaModalStatus(false);\n\t\t});\n\t};\n\n\tconst getApplicationsByJobId = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/jobs/\" + params.id, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tsetApplications(res.data[0].applications);\n\t\t\t});\n\t};\n\n\tconst jobForStudentDetails = async (id: any) => {\n\t\t// alert(JSON.stringify(id, null, 4));\n\t\tlocalStorage.setItem(\"id_vaga\", id.toString());\n\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tif (id === null || id === 0) {\n\t\t\treturn Promise.resolve(\"ID is null or 0, cancelling the call\");\n\t\t} else {\n\t\t\tawait api\n\t\t\t\t.get(`/jobs/${id.id}/student`, {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\t// setJobs(res.data[0]);\n\t\t\t\t\tsetJob({\n\t\t\t\t\t\tvaga: res.data[0],\n\t\t\t\t\t\tusuario: res.data[0].user,\n\t\t\t\t\t\tempresa: res.data[0].company,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (params.id) getApplicationsByJobId();\n\t\telse getApplications();\n\t\tjobsForStudents();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{auth.role !== \"ALUNO\" ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t{/*
{JSON.stringify(jobs.data, null, 4)}
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCandidaturas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!showList &&\n\t\t\t\t\t\t\t\tjobs.data.map((item, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\titem &&\n\t\t\t\t\t\t\t\t\t\titem.applications &&\n\t\t\t\t\t\t\t\t\t\titem.applications.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t 0\n\t\t\t\t\t\t\t\t\t\t\t? \"exclusão\"\n\t\t\t\t\t\t\t\t\t\t\t: \"aplicação\"\n\t\t\t\t\t\t\t\t\t} de candidatura`}\n\t\t\t\t\t\t\t\t\ticon={}\n\t\t\t\t\t\t\t\t\tclose={() =>\n\t\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDeseja confirmar a{\" \"}\n\t\t\t\t\t\t\t\t\t{job &&\n\t\t\t\t\t\t\t\t\tjob.applications &&\n\t\t\t\t\t\t\t\t\tjob.applications.length > 0\n\t\t\t\t\t\t\t\t\t\t? \"exclusão\"\n\t\t\t\t\t\t\t\t\t\t: \"aplicação\"}{\" \"}\n\t\t\t\t\t\t\t\t\tda candidatura à vaga de:{\" \"}\n\t\t\t\t\t\t\t\t\t\"{job.title}\" em {job.company}\n\t\t\t\t\t\t\t\t\t?\n\t\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\t{JSON.stringify(job, null, 4)}\n\t\t\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\thandleCandidaturaStatus(job);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tConfirmar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t\t{/* DIALOG com detalhes da vaga */}\n\t\t\t setOpen(false)}\n\t\t\t\tmaxWidth=\"md\"\n\t\t\t\tsx={{ zIndex: 99999 }}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDetalhes da vaga\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setOpen(false)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/*
{JSON.stringify(job, null, 4)}
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n","import { useMediaQuery, useTheme } from \"@mui/material\";\nimport { createContext, useContext, useEffect, useState } from \"react\";\nimport api from \"../../services/api\";\nimport { getTerms } from \"../../services/terms\";\nimport Notify from \"../../utils/notification\";\nimport { useAuthContext } from \"../Authentication/hooks/useAuth\";\n\n//TODO Criar tipos para o contexto da página inicial\nexport const HomePageContext = createContext({});\n\nexport const HomePageContextProvider = ({ children }) => {\n\tconst theme = useTheme();\n\tconst { auth } = useAuthContext();\n\tconst breakpoint = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n\tconst [open, setOpen] = useState(false);\n\tconst [job, setJob] = useState({\n\t\tvaga: null,\n\t\tusuario: null,\n\t\tempresa: null,\n\t});\n\tconst [jobs, setJobs] = useState({\n\t\tmeta: null,\n\t\tdata: [],\n\t});\n\n\tconst [queryJobs, setQueryJobs] = useState({\n\t\tmeta: null,\n\t\tdata: [],\n\t});\n\n\tconst [page, setPage] = useState(1);\n\tconst [showList, setShowList] = useState(false);\n\tconst [showBackdrop, setShowBackdrop] = useState(false);\n\n\tconst [jobData, setJobData] = useState({\n\t\ttitle: null,\n\t\tlocation: \"\",\n\t\tstate: \"\",\n\t});\n\n\tconst [termState, setTermState] = useState<{\n\t\tdialog: boolean;\n\t\ttermText: string;\n\t\tidTerm: number | null;\n\t}>({ dialog: !auth.has_terms, termText: \"\", idTerm: null });\n\n\tconst [candidaturaModalStatus, setCandidaturaModalStatus] =\n\t\tuseState(false);\n\n\tconst handleChange = (event: React.ChangeEvent, value: number) => {\n\t\tsetPage(value);\n\t\tfetchJobs(value);\n\t};\n\n\t//Busca vaga por título e localização\n\tconst fetchJobs = async (value?: any) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tsetShowBackdrop(true);\n\t\tawait api\n\t\t\t.get(\"/jobs-for-student\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\tparams: {\n\t\t\t\t\ttitle: jobData.title,\n\t\t\t\t\tcity: jobData.location,\n\t\t\t\t\tstate: jobData.state,\n\t\t\t\t\tpage: value,\n\t\t\t\t\tlimit: 10,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\t// setShowList(true);\n\t\t\t\tsetQueryJobs({\n\t\t\t\t\tmeta: res.data.meta,\n\t\t\t\t\tdata: res.data.data,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetShowBackdrop(false);\n\t\t\t\tNotify(\"Consulta finalizada\", \"success\");\n\t\t\t});\n\t};\n\n\tconst jobsForStudents = async (value?: number | string) => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tawait api\n\t\t\t.get(\"/jobs-for-student\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t// params: {\n\t\t\t\t// page: value,\n\t\t\t\t// limit: 10,\n\t\t\t\t// },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tsetJobs(res.data);\n\t\t\t});\n\t};\n\n\tconst getApplications = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/applications\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tconsole.log(res.data);\n\t\t\t});\n\t};\n\n\tconst jobForStudentDetails = async (item?: any, id?: number | string) => {\n\t\tvar applications = [];\n\t\tif (item) {\n\t\t\tapplications = item.applications;\n\t\t}\n\n\t\tif (id) localStorage.setItem(\"id_vaga\", id.toString());\n\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tif (id === null || id === 0) {\n\t\t\treturn Promise.resolve(\"ID is null or 0, cancelling the call\");\n\t\t} else {\n\t\t\tawait api\n\t\t\t\t.get(`/jobs/${id}/student`, {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tconsole.log(res.data[0]);\n\t\t\t\t\tsetJob({\n\t\t\t\t\t\tvaga: res.data[0],\n\t\t\t\t\t\tusuario: res.data[0].user,\n\t\t\t\t\t\tempresa: res.data[0].company,\n\t\t\t\t\t\tapplications: applications,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t});\n\t\t}\n\t};\n\n\tconst handleCandidaturaStatus = async (item: any) => {\n\t\tif (item && item.applications && item.applications.length === 0) {\n\t\t\tawait api\n\t\t\t\t.post(\"/applications\", {\n\t\t\t\t\tjob_id: item.vaga ? item.vaga.id : item.id,\n\t\t\t\t\tra: JSON.parse(\n\t\t\t\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") || \"\"\n\t\t\t\t\t).data.usuario.id,\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tNotify(\"Candidatura submetida com sucesso!\", \"success\");\n\t\t\t\t})\n\t\t\t\t.finally(async () => {\n\t\t\t\t\tawait fetchJobs();\n\t\t\t\t\tawait jobsForStudents();\n\t\t\t\t\t// await fetchJobs(); -> HOTFIX: Removi pois estava causando uma duplicidade nas requisições\n\t\t\t\t});\n\t\t} else if (item && item.applications && item.applications.length > 0) {\n\t\t\titem &&\n\t\t\t\titem.applications &&\n\t\t\t\titem.applications.forEach(async (i: any) => {\n\t\t\t\t\tawait api\n\t\t\t\t\t\t.delete(`/applications/${i.id}`)\n\t\t\t\t\t\t.then((res: any) => {\n\t\t\t\t\t\t\tNotify(\n\t\t\t\t\t\t\t\t\"Candidatura removida com sucesso\",\n\t\t\t\t\t\t\t\t\"success\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err: any) => {\n\t\t\t\t\t\t\tNotify(\"Falha ao remover candidatura!\", \"error\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.finally(async () => {\n\t\t\t\t\t\t\tawait fetchJobs();\n\t\t\t\t\t\t\tawait jobsForStudents();\n\t\t\t\t\t\t\t// await fetchJobs();\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t\tawait jobsForStudents()\n\t\t\t.then(() => {})\n\t\t\t.catch(() => {})\n\t\t\t.finally(() => {\n\t\t\t\tsetOpen(false);\n\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tjobsForStudents();\n\t\tgetApplications();\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst fetchData = async () => {\n\t\t\ttry {\n\t\t\t\tconst termsData: any = await getTerms();\n\t\t\t\tconst desiredObject: any = termsData?.find(\n\t\t\t\t\t(item) => item.type === \"aluno\"\n\t\t\t\t);\n\n\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t...prevTermState,\n\t\t\t\t\ttermText: desiredObject?.term_text,\n\t\t\t\t}));\n\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t...prevTermState,\n\t\t\t\t\tidTerm: desiredObject?.id,\n\t\t\t\t}));\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error fetching terms:\", error);\n\t\t\t}\n\t\t};\n\t\tfetchData();\n\t}, []);\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport const useHomePage = () => {\n\treturn useContext(HomePageContext);\n};\n","import { Business, Close, Hail } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogContentText,\n\tIconButton,\n\tTypography,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport ListaDetalhesVagaAluno from \"../../../../components/Detalhes/DetalhesVagaAluno\";\nimport { useHomePage } from \"../../../../context/HomePage\";\n\nexport interface HomePageDetailsDialogProps {\n\topen?: any;\n\tsetOpen?: any;\n\ttheme?: any;\n\tjob?: any;\n\tsetCandidaturaModalStatus?: any;\n}\n\n// Ajustar dialogo para ser do tipo fullScreen ao entrar no formato mobile\nexport function HomePageDetailsDialog() {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(\"sm\")); // Adjust 'sm' if needed\n\tconst { open, setOpen, job, setCandidaturaModalStatus } = useHomePage();\n\treturn (\n\t\t setOpen(false)}\n\t\t\tmaxWidth=\"md\"\n\t\t\tfullScreen={fullScreen}\n\t\t\t// sx={{ zIndex: 99999 }}\n\t\t>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\" \"}\n\t\t\t\t\tDetalhes da vaga\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t setOpen(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(job, null, 4)}
*/}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t{/*
{JSON.stringify(auth, null, 4)}
*/}\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t 0 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\t// onClick={handleCandidaturaStatus}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t// setJob(job.vaga);\n\t\t\t\t\t\tsetCandidaturaModalStatus(true);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{job && job.applications && job.applications.length > 0\n\t\t\t\t\t\t? \"Cancelar\"\n\t\t\t\t\t\t: \"Candidatar-se\"}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Backdrop, CircularProgress } from \"@mui/material\";\n\nexport interface HomePageBackDropProps {\n\tshowBackdrop: boolean;\n}\n\nexport function HomePageBackdrop({ showBackdrop }: HomePageBackDropProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Container } from \"@mui/material\";\nimport { ElementType, Fragment, ReactNode } from \"react\";\nimport { useHomePage } from \"../../../../context/HomePage\";\nimport { HomePageBackdrop } from \"./HomePageBackdrop\";\n\nexport interface HomePageRootProps {\n\tchildren?: ReactNode;\n\tbackdrop?: ElementType;\n}\nexport function HomePageRoot({\n\tchildren,\n\tbackdrop: Backdrop,\n}: HomePageRootProps) {\n\tconst { showBackdrop } = useHomePage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n","import { Close, Delete, Place, Search } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tFormControl,\n\tGrid,\n\tIconButton,\n\tInputAdornment,\n\tMenuItem,\n\tPaper,\n\tTextField,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useHomePage } from \"../../../../context/HomePage\";\n\nexport interface HomePageSearchFormProps {\n\tjobData: any;\n\tsetJobData: any;\n\tbreakpoint: any;\n\tfetchJobs: any;\n\tshowList: any;\n\tsetShowList: any;\n\ttheme: any;\n}\n\nexport function HomePageSearchForm() {\n\tconst {\n\t\tshowList,\n\t\tjobData,\n\t\tsetJobData,\n\t\tbreakpoint,\n\t\tfetchJobs,\n\t\tsetShowList,\n\t} = useHomePage();\n\tconst theme = useTheme();\n\tconst { auth } = useAuthContext();\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tOlá{\" \"}\n\t\t\t\t\t\t\t{auth && auth.name\n\t\t\t\t\t\t\t\t? auth.name\n\t\t\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t\t\t.split(\" \")\n\t\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t\t(word) =>\n\t\t\t\t\t\t\t\t\t\t\t\tword.charAt(0).toUpperCase() +\n\t\t\t\t\t\t\t\t\t\t\t\tword.slice(1)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t.join(\" \")\n\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t, seja bem vindo 👋\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/*
{JSON.stringify(auth, null, 4)}
*/}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tfetchJobs();\n\t\t\t\t\t\t\t\tsetShowList(true);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetJobData({\n\t\t\t\t\t\t\t\t\t\t\t...jobData,\n\t\t\t\t\t\t\t\t\t\t\ttitle: e.target.value,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={jobData.title}\n\t\t\t\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\t\t\t\tstartAdornment: (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetJobData({\n\t\t\t\t\t\t\t\t\t\t\t...jobData,\n\t\t\t\t\t\t\t\t\t\t\tstate: event.target.value,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSelecione o estado onde há vaga\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tAcre\n\t\t\t\t\t\t\t\t\tAlagoas\n\t\t\t\t\t\t\t\t\tAmapá\n\t\t\t\t\t\t\t\t\tAmazonas\n\t\t\t\t\t\t\t\t\tBahia\n\t\t\t\t\t\t\t\t\tCeará\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tDistrito Federal\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEspírito Santo\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGoiás\n\t\t\t\t\t\t\t\t\tMaranhão\n\t\t\t\t\t\t\t\t\tMato Grosso\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tMato Grosso do Sul\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMinas Gerais\n\t\t\t\t\t\t\t\t\tPará\n\t\t\t\t\t\t\t\t\tParaíba\n\t\t\t\t\t\t\t\t\tParaná\n\t\t\t\t\t\t\t\t\tPernambuco\n\t\t\t\t\t\t\t\t\tPiauí\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRio de Janeiro\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRio Grande do Norte\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tRio Grande do Sul\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRondônia\n\t\t\t\t\t\t\t\t\tRoraima\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSanta Catarina\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSão Paulo\n\t\t\t\t\t\t\t\t\tSergipe\n\t\t\t\t\t\t\t\t\tTocantins\n\t\t\t\t\t\t\t\t\tEstrangeiro\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetJobData({\n\t\t\t\t\t\t\t\t\t\t\t...jobData,\n\t\t\t\t\t\t\t\t\t\t\tlocation: e.target.value,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={jobData.location}\n\t\t\t\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\t\t\t\tstartAdornment: (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{breakpoint ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tfetchJobs();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tPesquisar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetShowList(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tendIcon={}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tLimpar resultados\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tfetchJobs();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetShowList(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* Banner */}\n\t\t\t\t\t\n\t\t\t\t\t\t{/*
{JSON.stringify(jobData, null, 4)}
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* Principais vagas na sua área de formação */}\n\t\t\t\t\t\t\tConexão com as principais informações e\n\t\t\t\t\t\t\toportunidades\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n","import { ChevronLeft, ChevronRight, Work } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tGrid,\n\tIconButton,\n} from \"@mui/material\";\nimport { Fragment, useRef } from \"react\";\nimport ModalHeader from \"../../../../components/Modal/ModalHeader\";\nimport { useHomePage } from \"../../../../context/HomePage\";\nimport HomePageItemView from \"./HomePageItemView\";\n\nexport function HomePageShowCardView() {\n\tconst {\n\t\tshowList,\n\t\ttheme,\n\t\tsetJob,\n\t\tsetJobs,\n\t\tsetOpen,\n\t\tjobsForStudents,\n\t\tjobForStudentDetails,\n\t\tsetCandidaturaModalStatus,\n\t\tjobs,\n\t\tjob,\n\t\tcandidaturaModalStatus,\n\t\thandleCandidaturaStatus,\n\t} = useHomePage();\n\tconst ref = useRef(null);\n\tconst scroll = (scrollOffset) => {\n\t\tif (ref.current) ref.current.scrollLeft += scrollOffset;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t scroll(-500)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!showList &&\n\t\t\t\t\t\t\tjobs.data.map((item: any, index: number) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t 0\n\t\t\t\t\t\t\t\t\t\t? \"exclusão\"\n\t\t\t\t\t\t\t\t\t\t: \"aplicação\"\n\t\t\t\t\t\t\t\t} de candidatura`}\n\t\t\t\t\t\t\t\ticon={}\n\t\t\t\t\t\t\t\tclose={() => setCandidaturaModalStatus(false)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDeseja confirmar a{\" \"}\n\t\t\t\t\t\t\t\t{job &&\n\t\t\t\t\t\t\t\tjob.applications &&\n\t\t\t\t\t\t\t\tjob.applications.length > 0\n\t\t\t\t\t\t\t\t\t? \"exclusão\"\n\t\t\t\t\t\t\t\t\t: \"aplicação\"}{\" \"}\n\t\t\t\t\t\t\t\tda candidatura à vaga de:{\" \"}\n\t\t\t\t\t\t\t\t\"{job.vaga ? job.vaga.title : job.title}\"{\" \"}\n\t\t\t\t\t\t\t\tem{\" \"}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{job.vaga\n\t\t\t\t\t\t\t\t\t\t? job.vaga.company.name\n\t\t\t\t\t\t\t\t\t\t: job.company}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t?\n\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\t{JSON.stringify(job, null, 4)}\n\t\t\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\thandleCandidaturaStatus(job);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tConfirmar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t scroll(500)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","import { Box, Grid, Pagination, Typography } from \"@mui/material\";\nimport { Fragment } from \"react\";\nimport { useHomePage } from \"../../../../context/HomePage\";\nimport HomePageItemView from \"./HomePageItemView\";\n\nexport interface HomePageShowListViewProps {\n\tshowList: boolean;\n\tqueryJobs: any;\n\tjobData: any;\n\ttheme: any;\n\tsetJob: any;\n\tsetJobs: any;\n\tsetOpen: any;\n\tpage: any;\n\thandleChange: any;\n\tjobsForStudents: any;\n\tjobForStudentDetails: any;\n\tsetCandidaturaModalStatus: any;\n}\n\nexport function HomePageShowListView() {\n\tconst {\n\t\tjobData,\n\t\tshowList,\n\t\ttheme,\n\t\tqueryJobs,\n\t\tpage,\n\t\thandleChange,\n\t\tsetJob,\n\t\tsetJobs,\n\t\tsetOpen,\n\t\tjobsForStudents,\n\t\tjobForStudentDetails,\n\t\tsetCandidaturaModalStatus,\n\t} = useHomePage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(queryJobs, null, 4)}
*/}\n\t\t\t\t{showList ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{queryJobs.data.length} Resultados encontrados{\" \"}\n\t\t\t\t\t\t\t\t{jobData.title ? `para ${jobData.title}` : \" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t)}\n\n\t\t\t\t{showList ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t 0\n\t\t\t\t\t\t\t\t\t\t\t? \"flex\"\n\t\t\t\t\t\t\t\t\t\t\t: \"none\",\n\t\t\t\t\t\t\t\t\talign: \"center\",\n\t\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\t\tmb: 3,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*
{JSON.stringify(jobs, null, 4)}
*/}\n\t\t\t\t\t\t\t{queryJobs.data.map((j_job: any, index: number) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t 0\n\t\t\t\t\t\t\t\t\t\t\t? \"flex\"\n\t\t\t\t\t\t\t\t\t\t\t: \"none\",\n\t\t\t\t\t\t\t\t\talign: \"center\",\n\t\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\t\tmb: 3,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t)}\n\t\t\t
\n\t\t
\n\t);\n}\n","import {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogContentText,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { useAuthContext } from \"../../../../context/Authentication/hooks/useAuth\";\nimport { useHomePage } from \"../../../../context/HomePage\";\nimport { postTerms } from \"../../../../services/terms\";\n\nexport interface HomePageTermsDialogProps {\n\ttermState?: any;\n\ttheme?: any;\n\tauth?: any;\n\tsetTermState?: any;\n}\n\nexport function HomePageTermsDialog() {\n\tconst theme = useTheme();\n\tconst { auth } = useAuthContext();\n\tconst { termState, setTermState } = useHomePage();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tTermos e Condições\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tpostTerms({\n\t\t\t\t\t\t\tuser_id: auth.user_id,\n\t\t\t\t\t\t\tterm_id: termState.idTerm,\n\t\t\t\t\t\t}).then(() => {\n\t\t\t\t\t\t\tsetTermState((prevTermState) => ({\n\t\t\t\t\t\t\t\t...prevTermState,\n\t\t\t\t\t\t\t\tdialog: !prevTermState.dialog,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tAceitar Termo\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { HomePage } from \"./HomePage\";\n\nexport default HomePage;\n","import { HomePageContextProvider } from \"../../../context/HomePage\";\nimport { ModalContextProvider } from \"../../../context/Modal/modal.context\";\nimport { HomePageDetailsDialog } from \"./components/HomePageDetailsDialog\";\nimport { HomePageRoot } from \"./components/HomePageRoot\";\nimport { HomePageSearchForm } from \"./components/HomePageSearchForm\";\nimport { HomePageShowCardView } from \"./components/HomePageShowCardView\";\nimport { HomePageShowListView } from \"./components/HomePageShowListView\";\nimport { HomePageTermsDialog } from \"./components/HomePageTermsDialog\";\n\nexport function HomePage() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Business, Close, Work } from \"@mui/icons-material\";\nimport {\n\tBackdrop,\n\tBox,\n\tButton,\n\tCircularProgress,\n\tContainer,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tDialogContentText,\n\tGrid,\n\tIconButton,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport ListaDetalhesVagaAluno from \"../../../components/Detalhes/DetalhesVagaAluno\";\nimport ModalHeader from \"../../../components/Modal/ModalHeader\";\nimport api from \"../../../services/api\";\nimport Notify from \"../../../utils/notification\";\nimport IndexedCard from \"../HomePage/components/HomePageItemView\";\n\nexport default function MinhasVagasFavoritas() {\n\tconst theme = useTheme();\n\t// const { auth } = useAuthContext();\n\tconst [profile, setProfile] = useState(null);\n\tconst [open, setOpen] = useState(false);\n\tconst [openJobsLoader, setOpenJobsLoader] = useState(false);\n\tconst [job, setJob] = useState({\n\t\tvaga: null,\n\t\tusuario: null,\n\t\tempresa: null,\n\t});\n\tconst [jobs, setJobs] = useState([]);\n\t// const [applications, setApplications] = useState(null);\n\tconst [candidaturaModalStatus, setCandidaturaModalStatus] =\n\t\tuseState(false);\n\n\tconst getProfile = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tawait api\n\t\t\t.get(\"/profile\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tif (Array.isArray(res.data)) {\n\t\t\t\t\tsetProfile(res.data[0]);\n\t\t\t\t} else {\n\t\t\t\t\tsetProfile(res.data);\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\tconst jobsForStudents = async (value?: number | string) => {\n\t\tsetOpenJobsLoader(true);\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\t\tvar firstArray = await api\n\t\t\t.get(\"/jobs-for-student\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\treturn res.data.data;\n\t\t\t});\n\n\t\tvar secondArray = await api\n\t\t\t.get(\"/student-bookmark\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\t// setJobs(res.data);\n\t\t\t\treturn res.data;\n\t\t\t});\n\n\t\tconst mergedArray = secondArray.map((secondObj) => {\n\t\t\tconst jobId = secondObj.job_id;\n\t\t\tconst correspondingJob = firstArray.find(\n\t\t\t\t(firstObj) => firstObj.id === jobId\n\t\t\t);\n\t\t\treturn { ...secondObj, jobs: correspondingJob };\n\t\t});\n\n\t\tsetJobs(mergedArray);\n\n\t\tsetOpenJobsLoader(false);\n\t};\n\n\tconst jobForStudentDetails = async (item?: any, id: number | string) => {\n\t\t// alert(JSON.stringify(id));\n\t\t// return;\n\t\tlocalStorage.setItem(\"id_vaga\", id.toString());\n\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tif (id === null || id === 0) {\n\t\t\treturn Promise.resolve(\"ID is null or 0, cancelling the call\");\n\t\t} else {\n\t\t\tawait api\n\t\t\t\t.get(`/jobs/${id}/student`, {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tsetJob({\n\t\t\t\t\t\tvaga: res.data[0],\n\t\t\t\t\t\tusuario: res.data[0].user,\n\t\t\t\t\t\tempresa: res.data[0].company,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t});\n\t\t}\n\t};\n\n\tconst handleCandidaturaStatus = async (item: any) => {\n\t\tif (item && item.applications && item.applications.length === 0) {\n\t\t\tawait api\n\t\t\t\t.post(\"/applications\", {\n\t\t\t\t\tjob_id: item.id,\n\t\t\t\t\tra: profile.student.ra,\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tNotify(\"Candidatura submetida com sucesso!\", \"success\");\n\t\t\t\t})\n\t\t\t\t.finally(jobsForStudents);\n\t\t} else if (item && item.applications && item.applications.length > 0) {\n\t\t\titem &&\n\t\t\t\titem.applications &&\n\t\t\t\titem.applications.forEach(async (i: any) => {\n\t\t\t\t\tawait api\n\t\t\t\t\t\t.delete(`/applications/${i.id}`)\n\t\t\t\t\t\t.then((res: any) => {\n\t\t\t\t\t\t\tNotify(\n\t\t\t\t\t\t\t\t\"Candidatura removida com sucesso\",\n\t\t\t\t\t\t\t\t\"success\"\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err: any) => {\n\t\t\t\t\t\t\tNotify(\"Falha ao remover candidatura!\", \"error\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tjobsForStudents();\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t\tsetCandidaturaModalStatus(false);\n\t};\n\n\tuseEffect(() => {\n\t\tgetProfile();\n\t\tjobsForStudents();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t{/*
{JSON.stringify(profile, null, 4)}
*/}\n\t\t\t{/*
{JSON.stringify(jobs, null, 4)}
*/}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tMinhas vagas\n\t\t\t\t\t\t\n\t\t\t\t\t\t{jobs.map((item, index) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t 0\n\t\t\t\t\t\t\t\t\t\t? \"exclusão\"\n\t\t\t\t\t\t\t\t\t\t: \"aplicação\"\n\t\t\t\t\t\t\t\t} de candidatura`}\n\t\t\t\t\t\t\t\ticon={}\n\t\t\t\t\t\t\t\tclose={() => setCandidaturaModalStatus(false)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDeseja confirmar a{\" \"}\n\t\t\t\t\t\t\t\t{job &&\n\t\t\t\t\t\t\t\tjob.applications &&\n\t\t\t\t\t\t\t\tjob.applications.length > 0\n\t\t\t\t\t\t\t\t\t? \"exclusão\"\n\t\t\t\t\t\t\t\t\t: \"aplicação\"}{\" \"}\n\t\t\t\t\t\t\t\tda candidatura à vaga de: \"{job.title}\"{\" \"}\n\t\t\t\t\t\t\t\tem {job.company}?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetCandidaturaModalStatus(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\thandleCandidaturaStatus(job);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tConfirmar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{/* DIALOG com detalhes da vaga selecionada */}\n\t\t\t setOpen(false)}\n\t\t\t\tmaxWidth=\"md\"\n\t\t\t\tsx={{ zIndex: 99999 }}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDetalhes da vaga\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setOpen(false)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n","import { Tooltip } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport Card from \"@mui/material/Card\";\nimport CardActions from \"@mui/material/CardActions\";\nimport CardContent from \"@mui/material/CardContent\";\nimport CardMedia from \"@mui/material/CardMedia\";\nimport Typography from \"@mui/material/Typography\";\nimport React, { Fragment } from \"react\";\nimport \"./style.scss\";\n\nexport default function CardsView({ orientacao }: any) {\n\tconst [truncateText, setTruncateText] = React.useState(true);\n\tconst typographyRef: any = React.useRef(null);\n\n\tconst handleMouseOver = () => {\n\t\tif (typographyRef.current.innerText.length > 230) {\n\t\t\tsetTruncateText(false);\n\t\t}\n\t};\n\n\tconst handleMouseOut = () => {\n\t\tsetTruncateText(true);\n\t\tif (typographyRef.current) {\n\t\t\ttypographyRef.current.scrollTop = 0;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`${orientacao?.title}`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{orientacao?.description}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\twindow.open(orientacao?.access_link, \"_blank\");\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tAcessar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Container } from \"@mui/material\";\nimport React, { Fragment } from \"react\";\nimport { getOrientationsAll } from \"../../../services/crud/crud.orientacoes\";\nimport CardsView from \"./cards\";\n\nexport default function OrientacoesAluno() {\n\tconst [stateOrientations, setStateOrientations] = React.useState([]);\n\n\tReact.useEffect(() => {\n\t\tgetOrientationsAll().then((data) => {\n\t\t\tsetStateOrientations(data);\n\t\t});\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{stateOrientations?.map((orientacao: any) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/*

SX

*/}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t
\n\t);\n}\n","import { Dispatch, SetStateAction, createContext } from \"react\";\n\ninterface ContextInterface {\n\tactivityGroup: any;\n\tsetActivityGroup: Dispatch>;\n\treloadSignal: boolean;\n\tsetReloadSignal: Dispatch>;\n\tdata: any;\n\tsetData: Dispatch>;\n\tfetchPalcoData: () => void;\n}\n\nexport const PalcoProfissionalRootContext = createContext({\n\tactivityGroup: null,\n\tsetActivityGroup: () => {},\n\treloadSignal: false,\n\tsetReloadSignal: () => {},\n\tdata: null,\n\tsetData: () => {},\n\tfetchPalcoData: () => {},\n});\n","import { createContext } from \"react\";\n\nconst DEFAULT_VALUE = {\n\tactiveStep: \"\",\n\tskipped: \"\",\n\timages: \"\",\n\tvideos: \"\",\n\tdetections: \"\",\n\tauditions: \"\",\n\tbrowserAgent: \"\",\n\tsetActiveStep: () => {},\n\tsetSkipped: () => {},\n\tsetImages: () => {},\n\tsetVideos: () => {},\n\tsetDetections: () => {},\n\tsetAuditions: () => {},\n\tsetBrowserAgent: () => {},\n};\n\nconst SessionContext = createContext(DEFAULT_VALUE);\n\nexport default SessionContext;\n","import { useContext } from \"react\";\nimport SessionContext from \"./SessionContext\";\n\nexport default function useSession() {\n\treturn useContext(SessionContext);\n}\n","import axios, { AxiosResponse } from \"axios\";\nimport { ReactNode, useEffect, useState } from \"react\";\nimport { useAuthContext } from \"../Authentication/hooks/useAuth\";\nimport { usePalcoProfissional } from \"../PalcoProfissional\";\nimport useSession from \"../session/SessionHook\";\nimport { PalcoProfissionalRootContext } from \"./PalcoProfissionalRoot.context\";\n\ninterface Props {\n\tchildren?: ReactNode;\n}\n\nexport function PalcoProfissionalRootProvider({ children }: Props) {\n\tconst { state } = usePalcoProfissional();\n\tconst { setVideos, setImages, setAuditions } = useSession();\n\tconst { auth } = useAuthContext();\n\n\tconst [reloadSignal, setReloadSignal] = useState(false);\n\tconst [data, setData] = useState(null);\n\tconst [activityGroup, setActivityGroup] = useState({\n\t\tcurriculos: [],\n\t\tentrevistas: [],\n\t});\n\n\t// alert(\"AQUI: \" + state.usuario.id);\n\tconst fetchPalcoData = async () => {\n\t\tlet localUser = localStorage.getItem(\"@palco-profissional:token\")\n\t\t\t? JSON.parse(\n\t\t\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t\t )\n\t\t\t: null;\n\t\tlet localToken = localStorage.getItem(\"@palco-profissional:token\")\n\t\t\t? JSON.parse(\n\t\t\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t\t )\n\t\t\t: null;\n\t\tlet user: any = localUser ? localUser.data?.usuario?.id : null;\n\t\tlet token: any = localToken ? localToken.data?.accessToken : null;\n\n\t\tif (user && token) {\n\t\t\tawait axios\n\t\t\t\t.get(`${process.env.REACT_APP_FILE_MANAGER_API}/auditions`, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t// user_id: state.usuario.id,\n\t\t\t\t\t\ttranscription: 1,\n\t\t\t\t\t\trecognition: 1,\n\t\t\t\t\t\t// activity_id: 71,\n\t\t\t\t\t\tactivity: 1,\n\t\t\t\t\t\tuser: 1,\n\t\t\t\t\t\tproject_id: 2,\n\t\t\t\t\t},\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\tra: user,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\t\tsetData(response.data.data);\n\t\t\t\t\tsetAuditions(response.data.data);\n\t\t\t\t\tsetVideos(response.data.data);\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tif (err.response) {\n\t\t\t\t\t} else if (err.request) {\n\t\t\t\t\t\tconsole.log(err.request);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log(err.message);\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(err.config);\n\t\t\t\t});\n\n\t\t\tawait axios\n\t\t\t\t.get(`${process.env.REACT_APP_FILE_MANAGER_API}/biometrics`, {\n\t\t\t\t\tparams: { user_id: auth.user_id },\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\tra: user,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then((res: any) => {\n\t\t\t\t\t// alert(JSON.stringify(res.data, null, 4));\n\t\t\t\t\tsetImages(res.data);\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\t// alert(err);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\t// alert(\"Fim!\");\n\t\t\t\t});\n\n\t\t\tsetReloadSignal(false);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (data) {\n\t\t\tlet curriculo = data.filter((data) => data.activity_id === 71);\n\t\t\tlet entrevistas = data.filter((data) => data.activity_id === 72);\n\t\t\tsetActivityGroup({ curriculo, entrevistas });\n\t\t}\n\t}, [state, data]);\n\n\tuseEffect(() => {\n\t\tif (state) fetchPalcoData();\n\t\t// eslint-disable-next-line\n\t}, [state]);\n\n\tuseEffect(() => {\n\t\tif (state) fetchPalcoData();\n\t\t// eslint-disable-next-line\n\t}, [state, reloadSignal]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n","import axios, { AxiosInstance } from \"axios\";\n\nexport class ActivityService {\n\n\tconstructor(private api: AxiosInstance) {\n\t\tthis.api = axios.create({\n\t\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API\n\t\t});\n\n\t\tthis.api.interceptors.request.use((config) => {\n\t\t\tlet user: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.usuario.id;\n\t\t\tlet token: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.accessToken;\n\n\t\t\tif (token && config.headers) {\n\n\t\t\t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t\tconfig.headers[\"ra\"] = user;\n\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\n\t\t// this.api.interceptors.response.use(\n\t\t// \t(response) => response,\n\t\t// \t(error) => {\n\t\t// \t\tconst { status } = error.response;\n\n\t\t// \t\tif (status === 401 || status === 403) {\n\t\t// \t\t\t// Clear user session and storage\n\t\t// \t\t\tlocalStorage.removeItem(\"@application\");\n\t\t// \t\t\tlocalStorage.removeItem(\"token\");\n\n\t\t// \t\t\t// Redirect to '/'\n\t\t// \t\t\twindow.location.href = '/';\n\t\t// \t\t}\n\n\t\t// \t\treturn Promise.reject(error);\n\t\t// \t}\n\t\t// );\n\t}\n\n\tasync getAll(params?: any) {\n\t\treturn this.api.get(\"/activities\", { params: params })\n\t}\n\n\tasync findAll(params?: any) {\n\t\treturn this.api.get(\"/activities?item=1\", { params: params })\n\t}\n\n\tasync findOne(id: string | number, params?: any) {\n\t\t// alert(\"ALO\")\n\t\treturn this.api.get(`/activities/${id}?item=1&audition=1`, {\n\t\t\tparams: params\n\t\t})\n\t}\n\n\tasync create(activity: any, user: string | number) {\n\t\treturn await this.api.post(\"/activities\", {\n\t\t\t...activity,\n\t\t\tuser_id: user\n\t\t})\n\t}\n\n\tasync update(data: any) {\n\t\tconst { id } = data\n\t\tdelete data.id\n\t\tdelete data.created_at\n\t\tdelete data.updated_at\n\t\tdelete data.audition\n\t\tdelete data.item\n\t\treturn await this.api.put(`/activities/${id}`, data)\n\t}\n\tasync delete(id: string | number) {\n\t\treturn await this.api.delete(`/activities/${id}`)\n\t}\n\n\tasync getAllCheckItems() {\n\t\treturn await this.api.get(\"/items\")\n\t}\n\n\tasync getAllCheckItemsByActivityId(id: number | string) {\n\t\treturn await this.api.get(`/items/${id}`)\n\t}\n\n\tasync createCheckItem(data: any) {\n\t\treturn await this.api.post(\"/items\", data)\n\t}\n\n\tasync updateCheckItem(id: string | number, data: any) {\n\t\treturn await this.api.put(`/check-items/${id}`, data)\n\t}\n\tasync deleteCheckItem(id: string | number) {\n\t\treturn await this.api.delete(`/items/${id}`)\n\t}\n}","import { Close, VideoCallOutlined } from \"@mui/icons-material\";\nimport {\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tFormControl,\n\tIconButton,\n\tMenuItem,\n\tSelect,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { Box } from \"@mui/system\";\nimport { AxiosResponse } from \"axios\";\nimport { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { ActivityService } from \"../../audition/activity.service\";\nimport { fileManagerApi } from \"../../filemanager\";\n\ninterface PropType {\n\tactivities?: any[];\n\topen: boolean;\n\tsetOpen: React.Dispatch>;\n\tgoAction: any;\n}\n\nexport default function MiniInfo(props: PropType) {\n\tconst theme = useTheme();\n\tconst history = useNavigate();\n\tconst [activityId, setActivityId] = useState(0);\n\n\tconst [activities, setActivities] = useState([]);\n\n\tuseEffect(() => {\n\t\tnew ActivityService(fileManagerApi)\n\t\t\t.getAll({ project_id: 2 })\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\tsetActivities(res.data);\n\t\t\t});\n\t}, []);\n\n\treturn (\n\t\t props.setOpen(false)}>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPalco Profissional\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t props.setOpen(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(activities, null, 4)}
*/}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\"\"\n\t\t\t\t\t\n\t\t\t\t\t{/*
\n\t\t\t\t\t\t{JSON.stringify(props.activities, null, 4)}\n\t\t\t\t\t
*/}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSelecione a atividade e clique em\n\t\t\t\t\t\t\tcontinuar:\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/* {\n\t\t\t\t\t\t\t\tsetActivityId(Number(e.target.value))\n\t\t\t\t\t\t\t}} /> */}\n\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t// alert(e.target.value)\n\t\t\t\t\t\t\t\tsetActivityId(Number(e.target.value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSelecionar\n\t\t\t\t\t\t\t{/* Nenhuma */}\n\t\t\t\t\t\t\t{activities &&\n\t\t\t\t\t\t\t\tactivities.map((ac: any) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{ac.title}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t history(\"/recorder/\" + activityId)}\n\t\t\t\t>\n\t\t\t\t\tContinuar\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n","import { Add } from \"@mui/icons-material\";\nimport { Box, Button, Grid, Typography, useTheme } from \"@mui/material\";\nimport React, { Fragment, useState } from \"react\";\nimport useSession from \"../../../../context/session/SessionHook\";\nimport MiniInfo from \"../dialogs/MiniInfo\";\n\ninterface BannerProps {\n\tusuario: {\n\t\tnome: string;\n\t\tfuncao?: string;\n\t\temail?: string;\n\t};\n}\n\nexport function Banner({ usuario }: BannerProps) {\n\tconst theme = useTheme();\n\tconst { setActiveStep, images } = useSession();\n\tconst [sample, setOpenSample] = useState(false);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tOlá,
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{usuario && usuario.nome && usuario.nome} 👋\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\tseja bem vindo(a) ao Palco Profissional\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCrie videocurrículos e pratique simulações de\n\t\t\t\t\t\tentrevistas para se destacar no mercado de trabalho.\n\t\t\t\t\t\tReceba feedback detalhado e aprimore suas habilidades.\n\t\t\t\t\t\tVamos começar!\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetOpenSample(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tIniciar nova apresentação\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tif (images.length >= 5) {\n\t\t\t\t\t\t\tsetActiveStep(1);\n\t\t\t\t\t\t\twindow.location.href = \"/recorder\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetActiveStep(0);\n\t\t\t\t\t\t\twindow.location.href = \"/biometrics\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t
\n\t);\n}\n","export const styles = {\n\tcompound: {\n\t\tmarginTop: \"36px\",\n\t\tmarginBottom: \"10vh\",\n\t\twidth: \"100%\",\n\t},\n\ttitle: {\n\t\tmarginBottom: \"24px\",\n\t},\n\tcenterText: {\n\t\ttextAlign: \"center\",\n\t},\n};\n","import {\n\tTableCell,\n\tTableHead,\n\tTableRow,\n\tstyled,\n\ttableCellClasses,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport { Fragment } from \"react\";\n\nconst StyledTableCell = styled(TableCell)(({ theme }) => ({\n\t[`&.${tableCellClasses.head}`]: {\n\t\t// backgroundColor: \"#fff\",\n\t\t// color: \"black\",\n\t\tfontWeight: \"semibold\",\n\t\tfontSize: \"14px\",\n\t},\n}));\n\nexport function ActivityTableHeader({ props }: any) {\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(\"sm\")); // Adjust 'sm' if needed\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{!props.tutor && !fullScreen && (\n\t\t\t\t\t\tAtividade\n\t\t\t\t\t)}\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\tCÓD. ATIVIDADE\n\t\t\t\t\t\t\t */}\n\t\t\t\t\t{!props.tutor && !fullScreen && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDescrição\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{/* RA */}\n\t\t\t\t\t{props.tutor && (\n\t\t\t\t\t\tRA\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\tApresentação\n\t\t\t\t\t\n\t\t\t\t\t{/* Id. Submissão */}\n\t\t\t\t\t{!fullScreen && (\n\t\t\t\t\t\tCódigo\n\t\t\t\t\t)}\n\t\t\t\t\t{!fullScreen && (\n\t\t\t\t\t\tAções\n\t\t\t\t\t)}\n\t\t\t\t\t{props.tabelaCurriculo && !fullScreen && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDivulgar Currículo\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\tData\n\t\t\t\t\tScore\n\t\t\t\t\t{fullScreen && (\n\t\t\t\t\t\tAções\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { AxiosInstance } from \"axios\";\n\nexport default class AuditionService {\n\tprivate api: AxiosInstance;\n\t\n\tconstructor(api: AxiosInstance) {\n\t\tthis.api = api;\n\t\t// this.api = axios.create({ baseURL: process.env.REACT_APP_FILE_MANAGER_API })\n\n\t\tthis.api.interceptors.request.use((config) => {\n\t\t\tlet user: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.usuario.id;\n\t\t\tlet token: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.accessToken;\n\n\t\t\tif (token && config.headers) {\n\n\t\t\t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t\tconfig.headers[\"ra\"] = user;\n\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\t}\n\n\n\tasync findAll(id: number | string, params?: any) {\n\t\treturn await this.api.get(`/auditions`, {\n\t\t\tparams: {\n\t\t\t\tactivity_id: id,\n\t\t\t\tactivity: 1,\n\t\t\t\tuser: 1,\n\t\t\t\trecognition: 1,\n\t\t\t\ttranscription: 1,\n\t\t\t\t...params\n\t\t\t}\n\t\t})\n\t}\n\n\tasync getAll(ra: string | number, params?: any) {\t\t\n\t\treturn await this.api.get(\"/auditions\", {\n\t\t\tparams: {\n\t\t\t\tuser_id: ra ? ra : null,\n\t\t\t\t...params\n\t\t\t}\n\t\t})\n\t}\n\t\n\tasync getAIEvaluation(id) {\n\t\treturn await this.api.get(\"/gpt/\" + id)\n\t}\n\n\tasync publishCurriculum(id: string | number, status: string | boolean) {\t\t\t\t\n\t\treturn await this.api.get(`/auditions/${id}/publish` )\n\t\t// return await this.api.put(\"/auditions/\" + id, {l\n\t\t// \tpublished: !status\t\t\t\n\t\t// })\n\t}\n\n\tasync getOneById(id: string | number) {\n\t\treturn await this.api.get(`/auditions/${id}`)\n\t}\n\n\tasync getOne(code: string | number, id?: string | number, params?: any) {\n\t\treturn await this.api.get(\"/auditions\", {\n\t\t\tparams: {\n\t\t\t\tcode: code,\n\t\t\t\tactivity_id: id,\n\t\t\t\tactivity: 1,\n\t\t\t\tuser: 1,\n\t\t\t\trecognition: 1,\n\t\t\t\ttranscription: 1\n\t\t\t}\n\t\t})\n\t}\n\n\tasync create(data: any) {\n\t\treturn await this.api.post('/auditions', data)\n\t}\n\n\tasync update(id: number | string, data: any) {\n\t\treturn await this.api.put(`/auditions/${Number(id)}`, data);\n\t}\n\n\tasync delete(id: number | string) {\n\t\treturn await this.api.delete(`/auditions/${Number(id)}`)\n\t}\n\n\tasync checkFileExists(key: any) {\n\t\treturn await this.api.get(\"/s3/check-file\",{\n\t\t\tparams: {\n\t\t\t\tkey: key\n\t\t\t}\n\t\t})\n\t}\n\n\tasync checkFeedbackExists(id: any) {\n\t\treturn await this.api.get(`/auditions/${id}/check`)\n\t}\n}","import { AxiosResponse } from \"axios\";\nimport { ReactNode, createContext, useContext, useState } from \"react\";\nimport { fileManagerApi } from \"../../filemanager\";\n\ninterface ActivityTableContextType {\n\tdata: any;\n\tsetData: React.Dispatch>;\n\turl: any;\n\tsetUrl: React.Dispatch>;\n\topen: boolean;\n\tsetOpen: React.Dispatch>;\n\tsubmission: any;\n\tsetSubmission: React.Dispatch>;\n\topenDelete: boolean;\n\tsetOpenDelete: React.Dispatch>;\n\tdeleteConfirmation: boolean;\n\tsetDeleteConfirmation: React.Dispatch>;\n\tgetVideo: (path: string) => void;\n\tstate: any;\n\tenabled: boolean;\n\tsetEnabled: React.Dispatch>;\n\tanalysis: GPTFeedbackInterface;\n\tsetAnalysis: React.Dispatch>;\n\tqueryResult: string;\n\tsetQueryResult: React.Dispatch<\n\t\tReact.SetStateAction<\"PENDING\" | \"DONE\" | \"IDLE\">\n\t>;\n\tcomprehend: any;\n\tsetComprehend: React.Dispatch>;\n\tgrade: number | string;\n\tsetGrade: React.Dispatch>;\n\tshowImages: boolean;\n\tsetShowImages: React.Dispatch>;\n\tgetAIEvaluation: (id: string | number) => void;\n}\n\nconst ActivityTableContext = createContext({\n\tdata: null,\n\tsetData: () => {},\n\turl: null,\n\tsetUrl: () => {},\n\topen: false,\n\tsetOpen: () => {},\n\tsubmission: null,\n\tsetSubmission: () => {},\n\topenDelete: false,\n\tsetOpenDelete: () => {},\n\tdeleteConfirmation: false,\n\tsetDeleteConfirmation: () => {},\n\tgetVideo: () => {},\n\tstate: \"\",\n\tenabled: false,\n\tsetEnabled: () => {},\n\tanalysis: {\n\t\tgpt_avg: 0,\n\t\tgpt_feedback: \"\",\n\t},\n\tsetAnalysis: () => {},\n\tqueryResult: \"IDLE\",\n\tsetQueryResult: () => {},\n\tcomprehend: null,\n\tsetComprehend: () => {},\n\tgrade: 0,\n\tsetGrade: () => {},\n\tshowImages: false,\n\tsetShowImages: () => {},\n\tgetAIEvaluation: () => {},\n});\n\nexport interface GPTFeedbackInterface {\n\tgpt_avg: number;\n\tgpt_feedback: string;\n}\n\ninterface ActivityTableProviderProps {\n\tchildren?: ReactNode;\n}\n\nexport const ActivityTableContextProvider = ({\n\tchildren,\n}: ActivityTableProviderProps) => {\n\tconst [data, setData] = useState({});\n\tconst [url, setUrl] = useState(null);\n\tconst [open, setOpen] = useState(false);\n\tconst [submission, setSubmission] = useState(null);\n\tconst [openDelete, setOpenDelete] = useState(false);\n\tconst [deleteConfirmation, setDeleteConfirmation] =\n\t\tuseState(false);\n\n\tlet state = \"\";\n\tconst [enabled, setEnabled] = useState(false);\n\tconst [analysis, setAnalysis] = useState({\n\t\tgpt_avg: 0,\n\t\tgpt_feedback: \"\",\n\t});\n\tconst [queryResult, setQueryResult] = useState<\"PENDING\" | \"DONE\" | \"IDLE\">(\n\t\t\"IDLE\"\n\t);\n\tconst [comprehend, setComprehend] = useState({});\n\n\tconst [grade, setGrade] = useState(0);\n\n\tconst [showImages, setShowImages] = useState(false);\n\n\tfunction getVideo(path: string) {\n\t\tsetUrl(path);\n\t\tsetOpen(true);\n\t}\n\n\tasync function getAIEvaluation(id: string | number) {\n\t\tsetQueryResult(\"PENDING\");\n\n\t\tawait fileManagerApi\n\t\t\t.get(\"/gpt/\" + id)\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\tsetAnalysis(res.data);\n\t\t\t});\n\n\t\tawait fileManagerApi\n\t\t\t.get(\"/comprehend/\" + id)\n\t\t\t.then((res: any) => {\n\t\t\t\tsetComprehend(res.data);\n\t\t\t\tsetQueryResult(\"DONE\");\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\t// toast.info(\"Done\")\n\t\t\t\t// window.location.href = \"/student/submission/\" + data.code;\n\t\t\t\tsetQueryResult(\"IDLE\");\n\t\t\t});\n\t}\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport const useActivityTable = () => {\n\treturn useContext(ActivityTableContext);\n};\n","import { Grid } from \"@mui/material\";\n\nexport function ActivityViewerDialogBiometrics({ data, showImages }: any) {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{data &&\n\t\t\t\t\tdata.recognition &&\n\t\t\t\t\tdata.recognition.map((d: any) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\n\t\t\n\t);\n}\n","import { Box, Grid, Typography } from \"@mui/material\";\nimport { useEffect, useState } from \"react\";\nimport \"./styles.css\";\n\nexport function ActivityViewerDialogFeedback({ analysis, data }) {\n\tconst [feedbackData, setFeedbackData] = useState({});\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdata &&\n\t\t\tdata.transcription &&\n\t\t\tdata.transcription.length > 0 &&\n\t\t\tdata.transcription[0].gpt_feedback\n\t\t) {\n\t\t\tvar items = {};\n\t\t\tconst temp = data.transcription[0].gpt_feedback.split(\"\\n\");\n\t\t\ttemp.forEach((line) => {\n\t\t\t\tconst [key, value] = line.split(\": \");\n\t\t\t\titems[key] = isNaN(value) ? value : parseFloat(value);\n\t\t\t});\n\t\t\tsetFeedbackData(items);\n\t\t}\n\t}, [data]);\n\n\tuseEffect(() => {\n\t\tif (data && data.transcription && data.transcription.gpt_feedback) {\n\t\t\t// Extracting item-value pairs from the string\n\t\t\tconst feedbackLines = data.transcription.gpt_feedback.split(\"\\n\");\n\t\t\tconst extractedFeedbackData = {};\n\t\t\tfeedbackLines.forEach((line) => {\n\t\t\t\tconst [item, value] = line.split(\": \");\n\t\t\t\tif (item && value) {\n\t\t\t\t\textractedFeedbackData[item] = parseInt(value, 10);\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetFeedbackData(extractedFeedbackData);\n\t\t}\n\t\t// eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tFeedback\n\t\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(dd, null, 4)}
*/}\n\t\t\t\t\t{/* {\n\t\t\t\t\t\t\t\t\t\t\t\t\t//TODO: Verificar retorno deste método para não sair da tela e do diálogo do usuário\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetAIEvaluation(data.id);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tFeedback\n\t\t\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t{analysis &&\n\t\t\t\t\t\tanalysis.gpt_feedback === \"\" &&\n\t\t\t\t\t\tdata &&\n\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\tdata.transcription.length === 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEm breve estará disponível\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t{/*
{JSON.stringify(feedbackData, null, 4)}
*/}\n\t\t\t\t\t{/*
\n\t\t\t\t\t\t{JSON.stringify(\n\t\t\t\t\t\t\tdata.transcription[0].gpt_feedback,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t)}\n\t\t\t\t\t
*/}\n\t\t\t\t\tResumo da apresentação:\n\t\t\t\t\t{data && data.transcription ? (\n\t\t\t\t\t\t 0 &&\n\t\t\t\t\t\t\t\t\tdata.transcription[0].gpt_feedback\n\t\t\t\t\t\t\t\t\t\t? data.transcription[0].gpt_feedback.replace(\n\t\t\t\t\t\t\t\t\t\t\t\t/\\n/g,\n\t\t\t\t\t\t\t\t\t\t\t\t\"
\"\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : analysis && analysis.gpt_feedback ? (\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDado indisponível no momento\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tFeedback\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{Object.keys(feedbackData).map((d, index) => {\n\t\t\t\t\tconst isLastChild =\n\t\t\t\t\t\tindex === Object.keys(feedbackData).length - 1;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\td !== \"Média\" &&\n\t\t\t\t\t\td !== \"\" && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{d}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{typeof feedbackData[d] === \"number\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{d}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{feedbackData[d] &&\n\t\t\t\t\t\t\t\t\t\ttypeof feedbackData[d] === \"number\"\n\t\t\t\t\t\t\t\t\t\t\t? `${feedbackData[d]}%`\n\t\t\t\t\t\t\t\t\t\t\t: // JSON.stringify(\n\t\t\t\t\t\t\t\t\t\t\t// \t\tNumber.isNaN(\n\t\t\t\t\t\t\t\t\t\t\t// \t\t\tfeedbackData[d]\n\t\t\t\t\t\t\t\t\t\t\t// \t\t)\n\t\t\t\t\t\t\t\t\t\t\t// )\n\t\t\t\t\t\t\t\t\t\t\tNumber.isNaN(feedbackData[d])\n\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t: feedbackData[d]}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t\n\t);\n}\n","import { DisplaySettings, Refresh } from \"@mui/icons-material\";\nimport { Box, Button, Grid } from \"@mui/material\";\n\nexport function ActivityViewerDialogFooter({\n\tdata,\n\tsetShowImages,\n\tshowImages,\n\tgetAIEvaluation,\n}) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\t// sx={{ mt: 3 }}\n\t\t\t\t\tonClick={() => setShowImages(!showImages)}\n\t\t\t\t>\n\t\t\t\t\tVisualizar Biometria\n\t\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\t//TODO: Verificar retorno deste método para não sair da tela e do diálogo do usuário\n\t\t\t\t\t\tgetAIEvaluation(data.id);\n\t\t\t\t\t}}\n\t\t\t\t\tstartIcon={}\n\t\t\t\t\tsx={{ display: \"none\" }}\n\t\t\t\t>\n\t\t\t\t\tFeedback\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Close, VideoCall } from \"@mui/icons-material\";\nimport { Box, IconButton, Typography } from \"@mui/material\";\n\nexport function ActivityViewerDialogHeader({ theme, setEnabled, setOpen }) {\n\treturn (\n\t\t<>\n\t\t\t{/* Header do diálogo */}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tDados da submissão\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetEnabled(false);\n\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t// if (\n\t\t\t\t\t\t\t// \t!state.user.professor &&\n\t\t\t\t\t\t\t// \t!state.user.moodle_admin\n\t\t\t\t\t\t\t// ) {\n\t\t\t\t\t\t\t// \twindow.location.href = \"/student\";\n\t\t\t\t\t\t\t// }\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Box, Divider, Grid, Typography } from \"@mui/material\";\n\nexport function ActivityViewerDialogHeading({ data }: any) {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCód. {data && data.activity && data.activity.id} :{\" \"}\n\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\tdata.activity &&\n\t\t\t\t\t\t\t\tdata.activity.title.toUpperCase()}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(data && data.user && data.user.name) ??\n\t\t\t\t\t\t\t\t\t\"Nome do usuário não disponível\"}{\" \"}\n\t\t\t\t\t\t\t\t-{\" \"}\n\t\t\t\t\t\t\t\t{(data && data.user && data.user.id) ??\n\t\t\t\t\t\t\t\t\t\"Nome Curso\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(data && data.user && data.user.course) ??\n\t\t\t\t\t\t\t\t\t\"Nome do curso não disponível\"}{\" \"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(data &&\n\t\t\t\t\t\t\t\t\tdata.user &&\n\t\t\t\t\t\t\t\t\tdata.user.learning_level) ??\n\t\t\t\t\t\t\t\t\t\"Nível de ensino não disponível\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{data && data.code && data.code.toUpperCase()}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { BugReport } from \"@mui/icons-material\";\nimport { Box, CircularProgress, Grid, Typography } from \"@mui/material\";\n\nexport function ActivityViewerDialogSubmission({\n\tdata,\n\tmatches,\n\tqueryResult,\n\tstate,\n\tcomprehend,\n\turl,\n}) {\n\treturn (\n\t\t<>\n\t\t\t{queryResult === \"IDLE\" ? (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tApresentação submetida\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\tdata.recognition &&\n\t\t\t\t\t\t\t\tdata.recognition.length > 0 &&\n\t\t\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\t\t\tconst emotionTranslations: any = {\n\t\t\t\t\t\t\t\t\t\tHAPPY: \"FELIZ\",\n\t\t\t\t\t\t\t\t\t\tSAD: \"TRISTE\",\n\t\t\t\t\t\t\t\t\t\tANGRY: \"IRRITADO\",\n\t\t\t\t\t\t\t\t\t\tCONFUSED: \"CONFUSO\",\n\t\t\t\t\t\t\t\t\t\tDISGUSTED: \"DESGOSTO\",\n\t\t\t\t\t\t\t\t\t\tSURPRISED: \"SURPRESO\",\n\t\t\t\t\t\t\t\t\t\tCALM: \"CALMO\",\n\t\t\t\t\t\t\t\t\t\tUNKNOWN: \"DESCONHECIDO\",\n\t\t\t\t\t\t\t\t\t\tFEAR: \"MEDO\",\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\tlet maxEmotion = \"\";\n\t\t\t\t\t\t\t\t\tlet maxEmotionConfidence = 0;\n\n\t\t\t\t\t\t\t\t\tdata.recognition.forEach((item: any) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\titem.emotion_confidence >\n\t\t\t\t\t\t\t\t\t\t\tmaxEmotionConfidence\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tmaxEmotion = item.emotion;\n\t\t\t\t\t\t\t\t\t\t\tmaxEmotionConfidence =\n\t\t\t\t\t\t\t\t\t\t\t\titem.emotion_confidence;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tconst translatedMaxEmotion =\n\t\t\t\t\t\t\t\t\t\temotionTranslations[maxEmotion];\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tEmoção predominante:{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t{translatedMaxEmotion} -{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t{maxEmotionConfidence.toFixed(2)}%\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})()}\n\n\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\tdata.recognition &&\n\t\t\t\t\t\t\t\tdata.recognition &&\n\t\t\t\t\t\t\t\tdata.recognition.forEach((item: any) => {\n\t\t\t\t\t\t\t\t\treturn <>{item.emotion};\n\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t{Object.keys(comprehend).length > 0 ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSentimento predominante:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{comprehend.Sentiment === \"POSITIVE\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Positivo\"\n\t\t\t\t\t\t\t\t\t\t\t\t: comprehend.Sentiment ===\n\t\t\t\t\t\t\t\t\t\t\t\t \"NEGATIVE\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Negativo\"\n\t\t\t\t\t\t\t\t\t\t\t\t: comprehend.Sentiment ===\n\t\t\t\t\t\t\t\t\t\t\t\t \"MIXED\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Misto\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"Neutro\"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tPositivo:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{(\n\t\t\t\t\t\t\t\t\t\t\tcomprehend.SentimentScore.Positive *\n\t\t\t\t\t\t\t\t\t\t\t100\n\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNegativo:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{(\n\t\t\t\t\t\t\t\t\t\t\tcomprehend.SentimentScore.Negative *\n\t\t\t\t\t\t\t\t\t\t\t100\n\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNeutro:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{(\n\t\t\t\t\t\t\t\t\t\t\tcomprehend.SentimentScore.Neutral *\n\t\t\t\t\t\t\t\t\t\t\t100\n\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tMisto:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{(\n\t\t\t\t\t\t\t\t\t\t\tcomprehend.SentimentScore.Mixed *\n\t\t\t\t\t\t\t\t\t\t\t100\n\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSentimento predominante:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_sentiment ===\n\t\t\t\t\t\t\t\t\t\t\t\t\"POSITIVE\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Positivo\"\n\t\t\t\t\t\t\t\t\t\t\t\t: data &&\n\t\t\t\t\t\t\t\t\t\t\t\t data.transcription &&\n\t\t\t\t\t\t\t\t\t\t\t\t data.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\t\t data.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_sentiment ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"NEGATIVE\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Negativo\"\n\t\t\t\t\t\t\t\t\t\t\t\t: data &&\n\t\t\t\t\t\t\t\t\t\t\t\t data.transcription &&\n\t\t\t\t\t\t\t\t\t\t\t\t data.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\t\t data.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_sentiment ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"MIXED\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Misto\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"Neutro\"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tPositivo:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\tJSON.parse(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback\n\t\t\t\t\t\t\t\t\t\t\t\t).SentimentScore.Positive * 100\n\t\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNegativo:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\tJSON.parse(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback\n\t\t\t\t\t\t\t\t\t\t\t\t).SentimentScore.Negative * 100\n\t\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNeutro:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\tJSON.parse(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback\n\t\t\t\t\t\t\t\t\t\t\t\t).SentimentScore.Neutral * 100\n\t\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tMisto:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback &&\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\tJSON.parse(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.comprehend_feedback\n\t\t\t\t\t\t\t\t\t\t\t\t).SentimentScore.Mixed * 100\n\t\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t%\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{state.user &&\n\t\t\t\t\t\t\t(state.user.professor ||\n\t\t\t\t\t\t\t\tstate.user.moodle_admin) && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTranscrição\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{data &&\n\t\t\t\t\t\t\t\t\t\tdata.transcription &&\n\t\t\t\t\t\t\t\t\t\tdata.transcription.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{data.transcription &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0] &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata.transcription[0]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.transcription}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tNenhuma transcrição\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisponível\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","import {\n\tDialog,\n\tDialogContent,\n\tGrid,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport { useActivityTable } from \"../tables/context\";\nimport { ActivityViewerDialogBiometrics } from \"./ActivityViewerDialog/ActivityViewerDialogBiometrics\";\nimport { ActivityViewerDialogFeedback } from \"./ActivityViewerDialog/ActivityViewerDialogFeedback\";\nimport { ActivityViewerDialogFooter } from \"./ActivityViewerDialog/ActivityViewerDialogFooter\";\nimport { ActivityViewerDialogHeader } from \"./ActivityViewerDialog/ActivityViewerDialogHeader\";\nimport { ActivityViewerDialogHeading } from \"./ActivityViewerDialog/ActivityViewerDialogHeading\";\nimport { ActivityViewerDialogSubmission } from \"./ActivityViewerDialog/ActivityViewerDialogSubmission\";\n\nexport default function ActivityViewerDialog() {\n\tconst theme = useTheme();\n\tconst matches = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n\tconst {\n\t\topen,\n\t\tstate,\n\t\tsetEnabled,\n\t\tsetOpen,\n\t\tdata,\n\t\tcomprehend,\n\t\tanalysis,\n\t\tshowImages,\n\t\tsetShowImages,\n\t\tgetAIEvaluation,\n\t\tqueryResult,\n\t\turl,\n\t} = useActivityTable();\n\n\treturn (\n\t\t {\n\t\t\t\tsetEnabled(false);\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tmaxWidth=\"lg\"\n\t\t\tfullWidth\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Close } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tButton,\n\tDialog,\n\tDialogActions,\n\tDialogContent,\n\tFormControl,\n\tGrid,\n\tIconButton,\n\tTextField,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { fileManagerApi } from \"../filemanager\";\n// import { toast } from \"react-toastify\";\nimport toast from \"react-hot-toast\";\n\ninterface DeleteActivityDialogProps {\n\tsubmission: SubmissionType; // Replace SubmissionType with the actual type of submission\n\topenDelete: boolean;\n\tsetOpenDelete: React.Dispatch>;\n\tsetDeleteConfirmation: React.Dispatch>;\n\tdeleteConfirmation: boolean;\n\tsetReloadSignal: React.Dispatch>;\n}\n\ninterface SubmissionType {\n\tid: string; // Replace with actual properties of submission\n\tactivity_id: string; // Replace with actual properties of submission\n}\n\nexport default function DeleteActivityDialog(props: DeleteActivityDialogProps) {\n\tconst theme = useTheme();\n\n\treturn (\n\t\t props.setOpenDelete(false)}\n\t\t\tmaxWidth=\"lg\"\n\t\t\tfullWidth\n\t\t>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tExcluir submissão\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tprops.setOpenDelete(false);\n\t\t\t\t\t\t\tprops.setDeleteConfirmation(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/*
{JSON.stringify(props.submission, null, 4)}
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDeseja prosseguir com a exclusão?\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDigite \"excluir\" para prosseguir\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tprops.setDeleteConfirmation(\n\t\t\t\t\t\t\t\t\t\t\te.target.value.toLocaleLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t\t\"excluir\"\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tprops.setOpenDelete(false);\n\t\t\t\t\t\tprops.setDeleteConfirmation(false);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tCancelar\n\t\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\t// toast.success(\"Apagando...\" + props.submission.id);\n\t\t\t\t\t\tawait fileManagerApi\n\t\t\t\t\t\t\t.delete(`/auditions/${Number(props.submission.id)}`)\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\ttoast.success(\n\t\t\t\t\t\t\t\t\t\"Apresentação de vídeo excluída com sucesso\"\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tprops.setReloadSignal(true);\n\t\t\t\t\t\t\t\tprops.setOpenDelete(false);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\t\t\"Falha ao excluir apresentação de vídeo\"\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t// .finally(() => {\n\t\t\t\t\t\t// \twindow.location.reload();\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// await new AuditionService(fileManagerApi)\n\t\t\t\t\t\t// \t.delete(props.submission.id)\n\t\t\t\t\t\t// \t.then(() => {\n\t\t\t\t\t\t// \t\ttoast.success(\"Excluindo apresentação...\");\n\t\t\t\t\t\t// \t})\n\t\t\t\t\t\t// \t.catch(() => {\n\t\t\t\t\t\t// \t\ttoast.error(\"Falha ao excluir submissão.\");\n\t\t\t\t\t\t// \t})\n\t\t\t\t\t\t// \t.finally(() => {\n\t\t\t\t\t\t// \t\t// window.location.reload();\n\t\t\t\t\t\t// \t\t// window.location.href = \"/\";\n\t\t\t\t\t\t// \t\t// history(\n\t\t\t\t\t\t// \t\t// \tprops.list\n\t\t\t\t\t\t// \t\t// \t\t? \"/list/\" +\n\t\t\t\t\t\t// \t\t// \t\t\t\tsubmission.activity_id +\n\t\t\t\t\t\t// \t\t// \t\t\t\t\"/reload\"\n\t\t\t\t\t\t// \t\t// \t\t: \"/\",\n\t\t\t\t\t\t// \t\t// );\n\t\t\t\t\t\t// \t});\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tExcluir\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { ActivityEmptyTableRow } from \"./ActivityEmptyTableRow\";\nimport { ActivityTableBody } from \"./ActivityTableBodyContainer\";\nimport { ActivityTableContainer } from \"./ActivityTableContainer\";\nimport { ActivityTableHeader } from \"./ActivityTableHeader\";\nimport { ActivityTableRow } from \"./ActivityTableRow\";\n\nexport const ActivityTableViewRoot = {\n\tActivityTableContainer: ActivityTableContainer,\n\tActivityTableHeader: ActivityTableHeader,\n\tActivityTableBody: ActivityTableBody,\n\tActivityTableRow: ActivityTableRow,\n\tActivityEmptyTableRow: ActivityEmptyTableRow,\n};\n","import { Paper, Table, TableContainer } from \"@mui/material\";\nimport { ReactNode } from \"react\";\n\ninterface ActivityTableContainerProps {\n\tchildren?: ReactNode;\n}\n\nexport function ActivityTableContainer({\n\tchildren,\n}: ActivityTableContainerProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{children}\n\t\t\t
\n\t\t\n\t);\n}\n","import { TableBody } from \"@mui/material\";\nimport { ReactNode } from \"react\";\nimport { ActivityTableViewRoot } from \".\";\n\ninterface ActivityTableBodyProps {\n\tchildren?: ReactNode;\n\tprops: any;\n}\n\nexport function ActivityTableBody({ props }: ActivityTableBodyProps) {\n\treturn (\n\t\t\n\t\t\t{props.auditions?.length === 0 ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\tprops.auditions &&\n\t\t\t\tprops.auditions.length > 0 &&\n\t\t\t\tprops.auditions.map((row: any) => (\n\t\t\t\t\t\n\t\t\t\t))\n\t\t\t)}\n\t\t\n\t);\n}\n","import { CopyAll, Delete, MoreVert, PlayArrow } from \"@mui/icons-material\";\nimport {\n\tButton,\n\tCheckbox,\n\tFormControl,\n\tFormControlLabel,\n\tIconButton,\n\tMenu,\n\tMenuItem,\n\tTableCell,\n\tTableRow,\n\tTooltip,\n\tTypography,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport { amber } from \"@mui/material/colors\";\nimport { AxiosResponse } from \"axios\";\nimport { Fragment, useState } from \"react\";\nimport toast from \"react-hot-toast\";\nimport AuditionService from \"../audition.service\";\nimport ActivityViewerDialog from \"../dialogs/ActivityViewerDialog\";\nimport DeleteActivityDialog from \"../dialogs/DeleteActivityDialog\";\nimport { fileManagerApi } from \"../filemanager\";\nimport { useActivityTable } from \"./context\";\n\ninterface ActivityTableRowInterface {\n\trow?: any;\n\tprops?: any;\n}\n\nexport function ActivityTableRow({ row, props }: ActivityTableRowInterface) {\n\tconst {\n\t\tsubmission,\n\t\tsetSubmission,\n\t\topenDelete,\n\t\tsetOpenDelete,\n\t\tdeleteConfirmation,\n\t\tsetDeleteConfirmation,\n\t\tgetVideo,\n\t\tsetData,\n\t} = useActivityTable();\n\n\tconst theme = useTheme();\n\tconst fullScreen = useMediaQuery(theme.breakpoints.down(\"sm\")); // Adjust 'sm' if needed\n\n\tfunction truncateString(str: string, len?: number) {\n\t\tif (str === undefined || str === null) {\n\t\t\treturn \"⚠️ Informação não disponível\";\n\t\t}\n\n\t\tif (str.length <= 12) {\n\t\t\treturn str;\n\t\t} else {\n\t\t\treturn str.substring(0, len ?? 12) + \"...\";\n\t\t}\n\t}\n\n\tconst handleCurriculum = async (id, status) => {\n\t\tawait new AuditionService(fileManagerApi)\n\t\t\t.publishCurriculum(id, status)\n\t\t\t.then(() => {\n\t\t\t\ttoast.success(\"Vídeo currículo atualizado com sucesso!\");\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\ttoast.success(\n\t\t\t\t\t\"Falha ao atualizar vídeo currículo, tente novamente mais tarde.\"\n\t\t\t\t);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tprops.setReloadSignal(true);\n\t\t\t});\n\t};\n\n\tconst [anchorEl, setAnchorEl] = useState(null);\n\tconst open = Boolean(anchorEl);\n\tconst handleClick = (event: React.MouseEvent) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\tconst handleClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{!props.tutor && !fullScreen && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t{row?.activity?.title ??\n\t\t\t\t\t\t\t\t\"⚠️ Informação não disponível\"}{\" \"}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{!props.tutor && !fullScreen && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{row.activity.description}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{row?.activity?.description}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{props.tutor && (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsx={{ minWidth: \"100px\" }}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tnavigator.clipboard.writeText(row.user_id);\n\t\t\t\t\t\t\t\ttoast.success(\"RA copiado com sucesso! \", {\n\t\t\t\t\t\t\t\t\tposition: \"top-right\",\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{row.user_id}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\t// await new AuditionService(fileManagerApi)\n\t\t\t\t\t\t\t// \t.checkFeedbackExists(row.id)\n\t\t\t\t\t\t\t// \t.then((res) => {\n\t\t\t\t\t\t\t// \t\tconsole.log(res.data);\n\t\t\t\t\t\t\t// \t\talert(JSON.stringify(res.data));\n\t\t\t\t\t\t\t// \t});\n\n\t\t\t\t\t\t\t// alert(`code: ${row.code}, id: ${row.id}`);\n\t\t\t\t\t\t\tlet key = `${process.env.REACT_APP_FILE_LOCATION}/videos/${row.code}.mp4`;\n\t\t\t\t\t\t\tawait new AuditionService(fileManagerApi)\n\t\t\t\t\t\t\t\t.checkFileExists(key)\n\t\t\t\t\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\t\t\t\t\tif (res.status === 404) {\n\t\t\t\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\t\t\t\t\"Feedback indisponível no momento, por favor, aguarde\"\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tgetVideo(row.file_url);\n\t\t\t\t\t\t\t\t\t\tsetData(row);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\t\t\t\"Feedback indisponível no momento, por favor, aguarde\"\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{!fullScreen && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tminWidth: \"200px\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tnavigator.clipboard.writeText(row.code);\n\t\t\t\t\t\t\t\t\ttoast.success(\n\t\t\t\t\t\t\t\t\t\t\"Código copiado com sucesso! \",\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tposition: \"top-right\",\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{truncateString(row.code)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{!fullScreen && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetOpenDelete(true);\n\t\t\t\t\t\t\t\t\tsetSubmission(row);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{props.tabelaCurriculo && !fullScreen && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\thandleCurriculum(\n\t\t\t\t\t\t\t\t\t\t\t\trow.id,\n\t\t\t\t\t\t\t\t\t\t\t\trow.published\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel=\"Publicar\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{row.created_at}\n\t\t\t\t\n\t\t\t\t\t{Math.ceil(row.gpt_avg / 10)}\n\t\t\t\t\n\t\t\t\t{fullScreen && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{/* }\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\thandleCurriculum(\n\t\t\t\t\t\t\t\t\t\t\t\trow.id,\n\t\t\t\t\t\t\t\t\t\t\t\trow.published\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tPublicar\n\t\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleCurriculum(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow.published\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Publicar\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetOpenDelete(true);\n\t\t\t\t\t\t\t\t\t\t\tsetSubmission(row);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tExcluir\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { TableCell, TableRow, Typography } from \"@mui/material\";\n\nexport function ActivityEmptyTableRow() {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tNenhum conteúdo disponível\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React, { ReactNode, useEffect } from \"react\";\n\nimport { useParams } from \"react-router-dom\";\nimport { ActivityTableViewRoot } from \".\";\nimport AuditionService from \"../audition.service\";\nimport { fileManagerApi } from \"../filemanager\";\nimport { ActivityTableContextProvider, useActivityTable } from \"./context\";\n\ninterface ActivityTableRootProps {\n\tauditions?: any[];\n\tsetReloadSignal: any;\n\ttabelaCurriculo: any;\n\tprops?: any;\n\tchildren?: ReactNode;\n}\n\nexport default function ActivityTableRoot({\n\tauditions,\n\tsetReloadSignal,\n\ttabelaCurriculo,\n\tchildren,\n\tprops,\n}: ActivityTableRootProps) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n}\n\nexport function ActivityTableCompound(props: any) {\n\tconst params = useParams();\n\tconst { setData, getVideo, setOpen, data, getAIEvaluation } =\n\t\tuseActivityTable();\n\n\tuseEffect(() => {\n\t\tif (params.submission) {\n\t\t\tconsole.log(JSON.stringify(params));\n\t\t\tnew AuditionService(fileManagerApi)\n\t\t\t\t.getOne(params.submission?.toString())\n\t\t\t\t.then((res: any) => {\n\t\t\t\t\tif (res.data && res.data[0] && res.data[0].file_key) {\n\t\t\t\t\t\tsetData(res.data[0]);\n\t\t\t\t\t\tgetVideo(res.data[0].file_url);\n\t\t\t\t\t\tsetOpen(true);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.log(\"__--__--__--__\");\n\t\t\t\t});\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdata &&\n\t\t\tdata.transcription &&\n\t\t\tdata.transcription[0] &&\n\t\t\tdata.transcription[0].comprehend_sentiment\n\t\t) {\n\t\t\treturn;\n\t\t} else if (data && data.transcription && data.transcription[0]) {\n\t\t\tgetAIEvaluation(data.id);\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [data]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Box, Container, Grid, Typography, useTheme } from \"@mui/material\";\nimport { usePalcoProfissional } from \"../../../context/PalcoProfissional\";\nimport { usePalcoProfissionalRootContext } from \"../../../context/PalcoProfissionalPage\";\nimport { Banner } from \"./banner\";\nimport { styles } from \"./styles\";\nimport { default as ActivityTableRoot } from \"./tables/ActivityTableRoot\";\n\nexport default function PalcoProfissional() {\n\tconst { state } = usePalcoProfissional();\n\tconst { activityGroup, setReloadSignal } =\n\t\tusePalcoProfissionalRootContext();\n\n\tconst theme = useTheme();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/*
{JSON.stringify(state, null, 4)}
*/}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{/*
{JSON.stringify(state, null, 4)}
*/}\n\t\t\t\t\t{/* */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMeus Videocurrículos\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{/* */}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMinhas Entrevistas Simuladas\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n}\n","import { useContext } from \"react\";\nimport { PalcoProfissionalRootContext } from \"../PalcoProfissionalRoot.context\";\n\nexport function usePalcoProfissionalRootContext() {\n\treturn useContext(PalcoProfissionalRootContext);\n}\n","import { useEffect, useState } from \"react\";\nimport SessionContext from \"./SessionContext\";\n\nexport type Audition = {\n\tid: any;\n\tra: any;\n\tmedia: any;\n\tmedia_id: any;\n\taudition: any;\n\tcreated_at: any;\n\tdeleted_at: any;\n\tupdated_at: any;\n};\n\nconst INI_VALUES = {\n\tauditions: {\n\t\tuser_existing_auditions: [],\n\t\tuser_existing_auditions_unfinished: [],\n\t},\n};\n\nexport function SessionProvider({ children }: any) {\n\tconst [auditions, setAuditions] = useState(\n\t\tINI_VALUES.auditions\n\t);\n\tconst [activeStep, setActiveStep] = useState(\n\t\t() => JSON.parse(localStorage.getItem(\"@step\") as string) || 0\n\t);\n\tconst [skipped, setSkipped] = useState(new Set());\n\tconst [images, setImages] = useState([]);\n\tconst [videos, setVideos] = useState(\n\t\t() =>\n\t\t\tJSON.parse(\n\t\t\t\tlocalStorage.getItem(\"@palco-profissional:videos\") as string\n\t\t\t) || []\n\t);\n\n\tconst [browserAgent, setBrowserAgent] = useState(null);\n\t// const [auditions, setAuditions] = useState(null);\n\tconst [detections, setDetections] = useState([]);\n\t// Activity group\n\n\tuseEffect(() => {\n\t\t// Obtém a string de agente do usuário\n\t\tvar userAgentString = navigator.userAgent;\n\n\t\t// Verifica se o usuário está usando o Safari\n\t\tif (\n\t\t\tuserAgentString.indexOf(\"Safari\") > -1 &&\n\t\t\tuserAgentString.indexOf(\"Chrome\") === -1\n\t\t) {\n\t\t\tsetBrowserAgent(true);\n\t\t} else {\n\t\t\tsetBrowserAgent(false);\n\t\t}\n\t}, []);\n\t// Implementa redirecionamento quando usuário clicar em avançar ou evento de finalizar captura tenha sido disparado\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\n\t\t\t\"@palco-profissional:step\",\n\t\t\tJSON.stringify(activeStep)\n\t\t);\n\t}, [activeStep]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\n\t\t\t\"@palco-profissional:images\",\n\t\t\tJSON.stringify(images)\n\t\t);\n\t}, [images]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\n\t\t\t\"@palco-profissional:videos\",\n\t\t\tJSON.stringify(videos)\n\t\t);\n\t}, [videos]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\n\t\t\t\"@palco-profissional:detections\",\n\t\t\tJSON.stringify(detections)\n\t\t);\n\t}, [detections]);\n\n\tuseEffect(() => {\n\t\tconst detected = JSON.parse(localStorage.getItem(\"\") as string);\n\t\tif (detected) {\n\t\t\tsetDetections(detected);\n\t\t}\n\n\t\tconst $auditions = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@palco-profissional:auditions\") as string\n\t\t);\n\t\tif ($auditions) {\n\t\t\tsetAuditions($auditions);\n\t\t}\n\n\t\tconst $images = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@palco-profissional:images\") as string\n\t\t);\n\t\tif ($images) {\n\t\t\tsetImages($images);\n\t\t}\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n","import Box from \"@mui/material/Box\";\nimport Step from \"@mui/material/Step\";\nimport StepLabel from \"@mui/material/StepLabel\";\nimport Stepper from \"@mui/material/Stepper\";\nimport * as React from \"react\";\nimport useSession from \"../../../../context/session/SessionHook\";\n// import Typography from '@mui/material/Typography';\n\nconst steps = [\n\t\"Cadastrar biometria\",\n\t\"Realizar apresentação\",\n\t\"Revisar apresentação\",\n\t\"Apresentação submetida\",\n];\n\nexport default function ProgressIndicator() {\n\tconst { activeStep, skipped } = useSession();\n\n\tconst isStepOptional = (step: number) => {\n\t\treturn step === 1;\n\t};\n\n\tconst isStepSkipped = (step: number) => {\n\t\treturn skipped.has(step);\n\t};\n\n\t// const handleNext = () => {\n\t// let newSkipped = skipped;\n\t// if (isStepSkipped(activeStep)) {\n\t// newSkipped = new Set(newSkipped.values());\n\t// newSkipped.delete(activeStep);\n\t// }\n\n\t// setActiveStep((prevActiveStep: any) => prevActiveStep + 1);\n\t// setSkipped(newSkipped);\n\t// };\n\n\t// const handleBack = () => {\n\t// setActiveStep((prevActiveStep: any) => prevActiveStep - 1);\n\t// };\n\n\t// const handleSkip = () => {\n\t// if (!isStepOptional(activeStep)) {\n\t// // You probably want to guard against something like this,\n\t// // it should never occur unless someone's actively trying to break something.\n\t// throw new Error(\"You can't skip a step that isn't optional.\");\n\t// }\n\n\t// setActiveStep((prevActiveStep: any) => prevActiveStep + 1);\n\t// setSkipped((prevSkipped: any) => {\n\t// const newSkipped = new Set(prevSkipped.values());\n\t// newSkipped.add(activeStep);\n\t// return newSkipped;\n\t// });\n\t// };\n\n\t// const handleReset = () => {\n\t// setActiveStep(0);\n\t// window.location.href = \"/\";\n\t// };\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{steps.map((label, index) => {\n\t\t\t\t\tconst stepProps: { completed?: boolean } = {};\n\t\t\t\t\tconst labelProps: {\n\t\t\t\t\t\toptional?: React.ReactNode;\n\t\t\t\t\t} = {};\n\t\t\t\t\tif (isStepOptional(index)) {\n\t\t\t\t\t\tlabelProps.optional = ;\n\t\t\t\t\t}\n\t\t\t\t\tif (isStepSkipped(index)) {\n\t\t\t\t\t\tstepProps.completed = false;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t\t{activeStep === steps.length ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","/**\n * Convert BASE64 to BLOB\n * Implementado em: https://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript#:~:text=/**%0A%20*%20Convert%20BASE64%20to,type%3A%20imageType%20%7D)%3B%0A%7D\n * Explicação da implementação: https://meta.stackoverflow.com/questions/392712/explaining-entirely-code-based-answers\n * @param base64Image Pass Base64 image data to convert into the BLOB\n */\nexport function convertBase64ToBlob(base64Image: string) {\n // Split into two parts\n const parts = base64Image.split(';base64,');\n \n // Hold the content type\n const imageType = parts[0].split(':')[1];\n \n // Decode Base64 string\n const decodedData = window.atob(parts[1]);\n \n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length);\n \n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i);\n }\n \n // Return BLOB image after conversion\n return new Blob([uInt8Array], { type: imageType });\n }","import axios, { AxiosInstance } from \"axios\";\n\nexport default class BiometryService {\n\n\tconstructor(private api: AxiosInstance) {\n\t\tthis.api = axios.create({\n\t\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API\n\t\t})\n\n\t\tthis.api.interceptors.request.use((config) => {\n\t\t\tlet token: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.accessToken;\n\t\t\tlet user: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.usuario.id;\n\n\t\t\tif (token && config.headers) {\n\n\t\t\t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t\tconfig.headers[\"ra\"] = user;\n\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\t}\n\n\t// async getAll(ra: string|number): Promise {\n\t// \treturn await this.api.get(\"/biometrics?ra=\" + ra)\n\t// }\n\n\tasync getAll(ra: string | number, params?: any) {\n\t\treturn await this.api.get(\"/biometrics\", {\n\t\t\tparams: {\n\t\t\t\tuser_id: ra,\n\t\t\t\t...params\n\t\t\t}\n\t\t})\n\t}\n\n\tasync getOne(ra: string | number, id: string | number): Promise {\n\t\treturn await this.api.get(`/biometrics/${Number(id)}`, {\n\t\t\tparams: {\n\t\t\t\tid: id,\n\t\t\t\tra: ra\n\t\t\t}\n\t\t})\n\t}\n\n\tasync create(data: any): Promise {\n\t\treturn await this.api.post('/biometrics', data)\n\t}\n\n\tasync update(id: number | string, data: any): Promise {\n\t\treturn await this.api.put(`/biometrics/${Number(id)}`, data);\n\t}\n\n\tasync delete(id: number | string): Promise {\n\t\treturn await this.api.delete(`/biometrics/${Number(id)}`)\n\t}\n}","import axios from \"axios\";\n\n/**\n * \n * @param user \n * @param file \n * @returns \n */\nexport const uploadFilesViaLambda = async (user: any, file: any, type?: any, label?: any, is_video_file?: boolean, location?: string, onUploadProgress?: (progressEvent: any) => void) => {\n\n let formData = new FormData()\n formData.append('image', file);\n\n const path = is_video_file ? `${process.env.REACT_APP_FILE_LOCATION}/chrome/${label ? label : file.name}` : label\n\t\t// : `${process.env.REACT_APP_FILE_LOCATION}/${user.ra}/${label ? label : file.name}`;\n\n const baseUrl = `https://urlsigner.aiamis.com.br/urlsigner?b=dirin&f=${path}&c=${type ? type : file.type}`;\n\n return await axios.get(baseUrl,\n {\n headers: {\n key: \"66556A586E5A7234753778214125442A472D4B6150645367566B597033733576\"\n }\n })\n .then(async (response: any) => {\n await axios.put(response.data.url,\n file,\n {\n headers: {\n 'Content-Type': type ? type : file.type,\n // key: \"66556A586E5A7234753778214125442A472D4B6150645367566B597033733576\"\n },\n\t\t\t\t\tonUploadProgress: onUploadProgress\n });\n })\n .catch((err) => {\n return err;\n });\n}\n\n/**\n * \n * @param user \n * @param file \n * @returns \n */\nexport const uploadBiometrySampleLambda = async (id: any, file: any, type?: any, label?: any, is_video_file?: boolean) => {\n\n let formData = new FormData()\n formData.append('image', file);\n\n const path = is_video_file \n\t\t? `${process.env.REACT_APP_FILE_LOCATION}/videos/${label ? label : file.name}` \t\t\n\t\t: `${process.env.REACT_APP_FILE_LOCATION}/${id}/${label ? label : file.name}`;\n\n const baseUrl = `https://urlsigner.aiamis.com.br/urlsigner?b=dirin&f=${path}&c=${type ? type : file.type}`;\n\n return await axios.get(baseUrl,\n {\n headers: {\n key: \"66556A586E5A7234753778214125442A472D4B6150645367566B597033733576\"\n }\n })\n .then(async (response: any) => {\n await axios.put(response.data.url,\n file,\n {\n headers: {\n 'Content-Type': type ? type : file.type,\n // key: \"66556A586E5A7234753778214125442A472D4B6150645367566B597033733576\"\n }\n });\n })\n .catch((err) => {\n return err;\n });\n}\n\n/**\n * \n * @param payload \n * @returns \n */\nexport const compareFaces = async (payload: any) => {\n return await axios.post(\"https://9jjzixt9z2.execute-api.us-east-1.amazonaws.com/\", {\n payload\n });\n}","import axios, { AxiosInstance } from \"axios\";\n\n// const REKOGNITION_URL = \"https://9jjzixt9z2.execute-api.us-east-1.amazonaws.com\";\n\nexport interface RekognitionServiceInterface {\n\tcompareFaces(payload: any): Promise;\n}\n\nexport class RekognitionService {\n\n\t/* constructor(\n\t\tprivate readonly api: AxiosInstance = axios,\n\t\tprivate readonly recognition: AxiosInstance = axios\n\t) {\n\t\tthis.api.defaults.baseURL = REKOGNITION_URL;\n\t\tthis.recognition = axios.create({\n\t\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API\n\t\t})\n\n\t\tthis.api.interceptors.request.use((config) => {\n\t\t\tlet user: any = localStorage.getItem(\"@application\");\n\t\t\tlet token: any = localStorage.getItem(\"@app-jobs:token\");\n\t\t\n\t\t\tif (token && config.headers) {\n\t\t\t\tuser = JSON.parse(user).usuario;\n\t\t\t\ttoken = JSON.parse(token);\n\t\t\n\t\t\t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t\tconfig.headers[\"ra\"] = user?.id;\n\t\t\t}\n\t\t\n\t\t\treturn config;\n\t\t});\n\t}*/\n\tprivate api: AxiosInstance;\n\tprivate recognition: AxiosInstance;\n\n\tconstructor() {\n\n\t\tthis.api = axios.create({\n\t\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API\n\t\t})\n\n\t\t// this.api.interceptors.request.use((config) => {\n\t\t// \tlet user: any = localStorage.getItem(\"@application\");\n\t\t// \tlet token: any = localStorage.getItem(\"@app-jobs:token\");\n\n\t\t// \tif (token && config.headers) {\n\t\t// \t\tuser = JSON.parse(user).usuario;\n\t\t// \t\ttoken = JSON.parse(token);\n\n\t\t// \t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t// \t\tconfig.headers[\"ra\"] = user?.id;\n\t\t// \t}\n\n\t\t// \treturn config;\n\t\t// });\n\n\t\tthis.api.interceptors.request.use((config) => {\n\t\t\tlet token: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.accessToken;\n\t\t\tlet user: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.usuario.id;\n\n\t\t\tif (token && config.headers) {\n\n\t\t\t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t\tconfig.headers[\"ra\"] = user;\n\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\n\t\tthis.recognition = axios.create({\n\t\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API\n\t\t})\n\t}\n\n\tasync compareFaces(payload: any): Promise {\n\t\treturn await this.recognition.post(\"https://9jjzixt9z2.execute-api.us-east-1.amazonaws.com\", { payload });\n\t}\n\n\tasync create(payload: any): Promise {\n\t\treturn this.api.post(\"/recognitions\", payload)\n\t}\n\n\tasync update(id: number, payload: any): Promise {\n\t\treturn this.api.put(\"/recognitions/\", payload)\n\t}\n}","import axios, { AxiosInstance } from \"axios\";\n\nexport default class AuditionService {\n\n\tconstructor(private api: AxiosInstance) {\n\t\tthis.api = axios.create({\n\t\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API\n\t\t})\n\n\t\tthis.api.interceptors.request.use((config) => {\n\t\t\tlet user: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.usuario.id;\n\t\t\tlet token: any = JSON.parse(localStorage.getItem(\"@palco-profissional:token\") as string).data.accessToken;\n\n\t\t\tif (token && config.headers) {\n\n\t\t\t\tconfig.headers[\"Authorization\"] = `Bearer ${token}`;\n\t\t\t\tconfig.headers[\"ra\"] = user;\n\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\t}\n\n\tasync create(data: any) {\n\t\treturn await this.api.post(\"/auditions\", data)\n\t}\n\n\tasync update(id: number | string, data: any) {\n\t\treturn await this.api.put(\"/auditions/\" + id, data)\n\t}\n\n\tasync checkFileExists(key: any) {\n\t\treturn await this.api.get(\"/s3/check-file\",{\n\t\t\tparams: {\n\t\t\t\tkey: key\n\t\t\t}\n\t\t})\n\t}\n\n\tasync getActivity(id: any) { \n\t\treturn await this.api.get(`/activities/${id}`, {\n\t\t\tparams: {\n\t\t\t\titem: 1,\n\t\t\t\tautidion: 1\n\t\t\t}\n\t\t})\n\t}\n}","import {\n\tArrowBack,\n\tCopyAll,\n\tInfo,\n\tRefresh,\n\tStop,\n\tUpload,\n\tVideocam,\n} from \"@mui/icons-material\";\nimport {\n\tBackdrop,\n\tButton,\n\tChip,\n\tCircularProgress,\n\tContainer,\n\tDialog,\n\tDialogContent,\n\tFormControl,\n\tGrid,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tTooltip,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport { Box } from \"@mui/system\";\nimport { AxiosResponse } from \"axios\";\nimport React, { Fragment, useEffect, useMemo, useState } from \"react\";\nimport Countdown from \"react-countdown\";\nimport toast from \"react-hot-toast\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport useSession from \"../../../../context/session/SessionHook\";\nimport api from \"../../../../services/api\";\nimport ProgressIndicator from \"../ProgressIndicator\";\nimport { convertBase64ToBlob } from \"../biometry/biometry.helper\";\nimport BiometryService from \"../biometry/biometry.service\";\nimport { fileManagerApi } from \"../filemanager\";\nimport { compareFaces, uploadFilesViaLambda } from \"../service/lambda\";\nimport { RekognitionService } from \"./Rekognition.service\";\nimport { ActivityService } from \"./activity.service\";\nimport AuditionService from \"./audition.service\";\n\nexport default function AuditionComponent() {\n\tconst theme = useTheme();\n\tconst params = useParams();\n\tconst history = useNavigate();\n\n\t// const { state } = useAuth();\n\tconst { setActiveStep, images, setImages, browserAgent } = useSession();\n\n\t// const [activity, setActivity] = useState({});\n\tconst [auditionCode, setAuditionCode] = useState({});\n\n\tconst playbackRef = React.useRef(null);\n\tconst playbackSubmittedRef = React.useRef(null);\n\tconst videoRef = React.useRef(null);\n\tconst downloadLinkRef = React.useRef(null);\n\tconst stopButtonRef = React.useRef(null);\n\tconst canvasRef = React.useRef(null);\n\tconst countDownRef = React.useRef(null);\n\tconst [url, setURL] = React.useState(null);\n\tconst [startRecording, setStartRecording] = React.useState(false);\n\tconst [showPreview, setShowPreview] = React.useState(false);\n\tconst [shouldStop, setShouldStop] = React.useState(false);\n\tconst [showBackdrop, setShowBackdrop] = React.useState(false);\n\n\tconst [openPreviewer, setOpenPreviewer] = React.useState(false);\n\n\tconst [vagas, setVagas] = React.useState([]);\n\tconst [vagaId, setVagaId] = React.useState(null);\n\tconst [topicos, setTopicos] = React.useState([]);\n\n\tconst [showUploadProgressBackdrop, setShowUploadProgressBackdrop] =\n\t\tReact.useState(false);\n\tconst [uploadProgressPercent, setUploadProgressPercent] =\n\t\tuseState(0);\n\n\tconst onUploadProgress = (progressEvent: any) => {\n\t\tconst progress = Math.round(\n\t\t\t(progressEvent.loaded / (progressEvent.total ?? 0)) * 100\n\t\t);\n\t\tsetUploadProgressPercent(progress);\n\t\tconsole.log(`Upload Progress: ${progress}%`);\n\t};\n\n\tasync function gerarRoteiro(id?: number | string) {\n\t\tif (vagaId === 0 || id === 0) {\n\t\t\treturn toast.error(\"Selecione uma vaga válida!\");\n\t\t}\n\n\t\tsetShowBackdrop(true);\n\t\tsetTopicos([]);\n\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\t// Mock do comportamento do componente\n\n\t\ttry {\n\t\t\tconst data = `Roteiro gerado com sucesso para a vaga ${vagaId}`;\n\n\t\t\tawait api\n\t\t\t\t.get(`/interview/job/${id ?? vagaId}`, {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\tconst questions = res.data.text.split(\"\\n\");\n\n\t\t\t\t\t// Remove any empty elements or elements with only whitespace\n\t\t\t\t\t// const filteredQuestions = questions.filter(\n\t\t\t\t\t// \t(question) => question.trim() !== \"\"\n\t\t\t\t\t// );\n\t\t\t\t\t// Remove the numbers from the beginning of each question\n\t\t\t\t\tconst filteredQuestions = questions.map((question) =>\n\t\t\t\t\t\tquestion.replace(/^\\d+\\.\\s/, \"\")\n\t\t\t\t\t);\n\n\t\t\t\t\tsetTopicos(filteredQuestions);\n\t\t\t\t})\n\t\t\t\t.catch(async (err: any) => {\n\t\t\t\t\tif (err.response.status === 404) {\n\t\t\t\t\t\tawait api\n\t\t\t\t\t\t\t.post(\n\t\t\t\t\t\t\t\t`/interview`,\n\t\t\t\t\t\t\t\t{ id_job: id ?? vagaId },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\t\t\t\tconst questions = res.data.text.split(\"\\n\");\n\n\t\t\t\t\t\t\t\t// Remove any empty elements or elements with only whitespace\n\t\t\t\t\t\t\t\t// const filteredQuestions = questions.filter(\n\t\t\t\t\t\t\t\t// \t(question) => question.trim() !== \"\"\n\t\t\t\t\t\t\t\t// );\n\t\t\t\t\t\t\t\t// Remove the numbers from the beginning of each question\n\t\t\t\t\t\t\t\tconst filteredQuestions = questions.map(\n\t\t\t\t\t\t\t\t\t(question) =>\n\t\t\t\t\t\t\t\t\t\tquestion.replace(/^\\d+\\.\\s/, \"\")\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tsetTopicos(filteredQuestions);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.finally(() => {});\n\n\t\t\ttoast.success(data);\n\t\t} catch (error) {\n\t\t\t// Handle any errors that might occur during the Promise execution\n\t\t\tconsole.error(\"Error:\", error);\n\t\t} finally {\n\t\t\tsetShowBackdrop(false);\n\t\t}\n\t}\n\n\tasync function getVagas() {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/jobs-for-student\", {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tconsole.log(res.data);\n\t\t\t\tsetVagas(res.data);\n\t\t\t});\n\t}\n\n\tconst [acItems, setAcItems] = useState([]);\n\tasync function getActivitieItems() {\n\t\treturn await new AuditionService(fileManagerApi)\n\t\t\t.getActivity(params.activity_id)\n\t\t\t.then((res: any) => {\n\t\t\t\tsetAcItems(res.data.item);\n\t\t\t});\n\t}\n\n\tReact.useEffect(() => {\n\t\tgetVagas();\n\t\tgetActivitieItems();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst [err, setErr] = React.useState(null);\n\t/**\n\t * @description Função responsável por iniciar o stream de vídeo e áudio\n\t */\n\tfunction getUserAudioAndVideo() {\n\t\tvar player = videoRef.current;\n\t\tlet stopped = false;\n\n\t\tconst handleRecording = function (stream: MediaStream) {\n\t\t\t// BrowserAgent true -> Safari; false -> Chrome based\n\t\t\tconst options = {\n\t\t\t\tmimeType: browserAgent ? \"video/mp4\" : \"video/webm\",\n\t\t\t\tvideoBitsPerSecond: 500000, // Adjust as needed, lower values will reduce quality and file size\n\t\t\t};\n\t\t\tconst recordedChunks: any = [];\n\t\t\tconst mediaRecorder = new MediaRecorder(stream, options);\n\n\t\t\t// Se o usuário está no Safari então usa o onstop, senão adiciona o evento por meio do listener\n\t\t\tif (browserAgent) {\n\t\t\t\tmediaRecorder.onstop = function () {\n\t\t\t\t\t// Calculate the size in megabytes\n\t\t\t\t\tconst blob = new Blob(recordedChunks);\n\t\t\t\t\tconst sizeInBytes = blob.size;\n\t\t\t\t\tconst sizeInMegabytes = sizeInBytes / (1024 * 1024);\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`Recorded video size: ${sizeInMegabytes.toFixed(2)} MB`\n\t\t\t\t\t);\n\t\t\t\t\t//TODO: remover alert do tamanho do vídeo\n\t\t\t\t\t// alert(\n\t\t\t\t\t// \t`Recorded video size: ${sizeInMegabytes.toFixed(2)} MB`\n\t\t\t\t\t// );\n\t\t\t\t\t// End calc\n\n\t\t\t\t\tdownloadLinkRef.current.href = URL.createObjectURL(\n\t\t\t\t\t\tnew Blob(recordedChunks, {\n\t\t\t\t\t\t\ttype: browserAgent ? \"video/mp4\" : \"video/webm\",\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t\tdownloadLinkRef.current.download = \"acetest.mp4\";\n\n\t\t\t\t\tsetURL(URL.createObjectURL(new Blob(recordedChunks)));\n\n\t\t\t\t\tif (playbackRef.current) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tplaybackRef.current.src = URL.createObjectURL(\n\t\t\t\t\t\t\t\tnew Blob(recordedChunks, {\n\t\t\t\t\t\t\t\t\ttype: browserAgent\n\t\t\t\t\t\t\t\t\t\t? \"video/mp4\"\n\t\t\t\t\t\t\t\t\t\t: \"video/webm\",\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tplaybackRef.current.controls = true;\n\t\t\t\t\t\t\tplaybackRef.current.play();\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tmediaRecorder.addEventListener(\"stop\", function () {\n\t\t\t\t\tconst blob = new Blob(recordedChunks, {\n\t\t\t\t\t\ttype: browserAgent ? \"video/mp4\" : \"video/webm\",\n\t\t\t\t\t});\n\n\t\t\t\t\t// Calculate the size in megabytes\n\t\t\t\t\tconst sizeInBytes = blob.size;\n\t\t\t\t\tconst sizeInMegabytes = sizeInBytes / (1024 * 1024);\n\n\t\t\t\t\t// Alert do tamanho do vídeo gerado\n\t\t\t\t\t// alert(\n\t\t\t\t\t// \t`Recorded video size: ${sizeInMegabytes.toFixed(2)} MB`\n\t\t\t\t\t// );\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`Recorded video size: ${sizeInMegabytes.toFixed(2)} MB`\n\t\t\t\t\t);\n\n\t\t\t\t\tdownloadLinkRef.current.href = URL.createObjectURL(\n\t\t\t\t\t\tnew Blob(recordedChunks)\n\t\t\t\t\t);\n\t\t\t\t\tdownloadLinkRef.current.download = \"acetest.webm\";\n\n\t\t\t\t\tsetURL(URL.createObjectURL(new Blob(recordedChunks)));\n\n\t\t\t\t\tif (playbackRef.current) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tplaybackRef.current.src = URL.createObjectURL(\n\t\t\t\t\t\t\t\tnew Blob(recordedChunks)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tplaybackRef.current.controls = true;\n\t\t\t\t\t\t\tplaybackRef.current.play();\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// captura o stream de vídeo\n\t\t\tmediaRecorder.addEventListener(\"dataavailable\", function (e) {\n\t\t\t\tif (e.data.size > 0) {\n\t\t\t\t\trecordedChunks.push(e.data);\n\t\t\t\t}\n\n\t\t\t\tif (shouldStop === true && stopped === false) {\n\t\t\t\t\tmediaRecorder.stop();\n\t\t\t\t\tstopped = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// inicia o stream de vídeo\n\t\t\tmediaRecorder.start();\n\n\t\t\tif (stopButtonRef && stopButtonRef.current)\n\t\t\t\tstopButtonRef?.current?.addEventListener(\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction onStopClick() {\n\t\t\t\t\t\t// habilita a exibicao da previa\n\t\t\t\t\t\tsetShowPreview(true);\n\n\t\t\t\t\t\t// interrompe o stream de video\n\t\t\t\t\t\t// stopAudioAndVideoStream();\n\n\t\t\t\t\t\t// interrompe o recorder\n\t\t\t\t\t\tmediaRecorder.stop();\n\t\t\t\t\t\t// seta o active step para 2 (etapa de preview)\n\t\t\t\t\t\tsetActiveStep(2);\n\t\t\t\t\t\t// seta o startRecording para false\n\t\t\t\t\t\tsetStartRecording(false);\n\n\t\t\t\t\t\t// remove o evento de click do botao de stop\n\t\t\t\t\t\t// stopButtonRef.current.removeEventListener(\"click\", onStopClick);\n\n\t\t\t\t\t\t// interrompe o timer\n\t\t\t\t\t\tif (countDownRef.current) {\n\t\t\t\t\t\t\tcountDownRef.current.getApi().stop();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t};\n\n\t\tconst handleSuccess = (stream: MediaStream) => {\n\t\t\tplayer.srcObject = stream;\n\t\t\thandleRecording(stream);\n\t\t};\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia({\n\t\t\t\taudio: true,\n\t\t\t\tvideo: {\n\t\t\t\t\twidth: window.innerWidth < 800 ? 240 : 427, // Adjust the resolution as needed\n\t\t\t\t\theight: window.innerWidth < 800 ? 427 : 240,\n\t\t\t\t},\n\t\t\t\t// video: {\n\t\t\t\t// \twidth: window.innerWidth < 800 ? 480 / 2 : 854 / 2,\n\t\t\t\t// \theight: window.innerWidth < 800 ? 854 / 2 : 480 / 2,\n\t\t\t\t// },\n\t\t\t})\n\t\t\t.then(handleSuccess)\n\t\t\t.then(() => player.play());\n\t}\n\n\t/**\n\t * Stop audio and video stream\n\t */\n\t// const stopAudioAndVideoStream = () => {\n\t// \tvar stream: any = videoRef.current.srcObject;\n\t// \tvar tracks: any = stream.getTracks();\n\t// \ttracks?.forEach((track: any) => {\n\t// \t\ttrack?.stop();\n\t// \t});\n\t// \tvideoRef.current.srcObject = null;\n\t// \tsetShowPreview(true);\n\t// };\n\n\tuseEffect(() => {\n\t\tconst extAud = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@current_audition\") as string\n\t\t);\n\n\t\tif (extAud && extAud.activity_id === params.activity_id) {\n\t\t\tsetAuditionCode(extAud);\n\t\t} else {\n\t\t\tlet user: any = JSON.parse(\n\t\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t\t).data.usuario.id;\n\n\t\t\tnew AuditionService(fileManagerApi)\n\t\t\t\t.create({\n\t\t\t\t\tuser_id: user,\n\t\t\t\t\tactivity_id: Number(params.activity_id),\n\t\t\t\t})\n\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\tsetAuditionCode(res.data);\n\t\t\t\t\tlocalStorage.setItem(\n\t\t\t\t\t\t\"@current_audition\",\n\t\t\t\t\t\tJSON.stringify(res.data)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\t/**\n\t * faz o upload do vídeo para o backend.\n\t */\n\tasync function uploadVideoFile() {\n\t\t// video\n\n\t\tlet formData = new FormData();\n\t\tlet response = await fetch(downloadLinkRef.current);\n\t\tlet videoBlob = await response.blob();\n\n\t\tsetShowBackdrop(true);\n\n\t\t/**\n\t\t * Generate file name and submit it to the lambda\n\t\t * Generate {data} and submit it to the backend API\n\t\t */\n\n\t\tformData.append(\"video\", videoBlob, \"probe.webm\");\n\t\tlet user: any = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t).data.usuario.id;\n\n\t\tformData.append(\"ra\", user);\n\t\tformData.append(\"type\", \"video\");\n\t\tformData.append(\"label\", \"Palco Virtual\");\n\t\tformData.append(\"audition\", auditionCode.code);\n\t\tformData.append(\"audition_id\", auditionCode.id);\n\n\t\tsetShowUploadProgressBackdrop(true);\n\n\t\ttry {\n\t\t\tawait uploadFilesViaLambda(\n\t\t\t\t\"state.usuario\",\n\t\t\t\tvideoBlob,\n\t\t\t\t\"probe.webm\",\n\t\t\t\tauditionCode.code,\n\t\t\t\ttrue,\n\t\t\t\t\"chrome\",\n\t\t\t\tonUploadProgress\n\t\t\t)\n\t\t\t\t.then(async () => {\n\t\t\t\t\tconst pi = 5000;\n\t\t\t\t\tsetTimeout(() => {}, pi);\n\t\t\t\t\tlet key = `${process.env.REACT_APP_FILE_LOCATION}/chrome/${auditionCode.code}`;\n\t\t\t\t\tawait new AuditionService(fileManagerApi)\n\t\t\t\t\t\t.checkFileExists(key)\n\t\t\t\t\t\t.then(async (res: any) => {\n\t\t\t\t\t\t\t// alert(JSON.stringify(res.data));\n\t\t\t\t\t\t\tif (JSON.parse(res.data)) {\n\t\t\t\t\t\t\t\tawait new AuditionService(fileManagerApi)\n\t\t\t\t\t\t\t\t\t.update(auditionCode.id, {\n\t\t\t\t\t\t\t\t\t\tfile_key: `${process.env.REACT_APP_FILE_LOCATION}/videos/${auditionCode.code}.mp4`,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\t\t// toast.success(\"Vídeo enviado com sucesso\");\n\t\t\t\t\t\t\t\t\t\tsetActiveStep(4);\n\t\t\t\t\t\t\t\t\t\tlocalStorage.removeItem(\n\t\t\t\t\t\t\t\t\t\t\t\"@current_audition\"\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\t\t// history(`/submission/${auditionCode.id}`);\n\t\t\t\t\t\t\t\t\t\tsetOpenPreviewer(true);\n\t\t\t\t\t\t\t\t\t\tsetActiveStep(4);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow new Error(\"File not found\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetShowUploadProgressBackdrop(true);\n\t\t\t\t});\n\n\t\t\tsetShowBackdrop(false);\n\t\t} catch (err) {\n\t\t\tconsole.clear();\n\t\t\tconsole.error(err);\n\t\t\t// toast.error(err.message)\n\t\t}\n\t}\n\n\t/**\n\t * faz o upload da imagem do canvas para o backend.\n\t * @param {*}\n\t * @returns {*}\n\t */\n\tasync function handleCanvasUploadLambda() {\n\t\tif (\n\t\t\tcanvasRef.current &&\n\t\t\tvideoRef &&\n\t\t\tvideoRef.current &&\n\t\t\tvideoRef.current.videoWidth &&\n\t\t\tvideoRef.current.videoHeight\n\t\t) {\n\t\t\tvar el: HTMLCanvasElement | any = document.createElement(\"canvas\");\n\n\t\t\t/**\n\t\t\t * o trecho el.width = videoRef.current.videoWidth -> soluciona o problema de altura do canvas\n\t\t\t * o trecho el.height = videoRef.current.videoHeight -> soluciona o problema de largura do canvas\n\t\t\t */\n\t\t\tel.width = videoRef.current.videoWidth;\n\t\t\tel.height = videoRef.current.videoHeight;\n\n\t\t\tel.getContext(\"2d\").drawImage(\n\t\t\t\tvideoRef.current,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tvideoRef.current.videoWidth,\n\t\t\t\tvideoRef.current.videoHeight\n\t\t\t);\n\t\t\tcanvasRef.current.appendChild(el);\n\n\t\t\tlet formData = new FormData();\n\t\t\tformData.append(\"image\", el.toDataURL(\"image/png\"));\n\n\t\t\tconst file = convertBase64ToBlob(el.toDataURL(\"image/png\"));\n\t\t\tconst temp_postfix = new Date().getTime();\n\t\t\tlet user: any = JSON.parse(\n\t\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t\t).data.usuario.id;\n\n\t\t\tconst temp_path = `${process.env.REACT_APP_FILE_LOCATION}/${user}/sample_${temp_postfix}`;\n\n\t\t\ttry {\n\t\t\t\tconsole.log(\"IIIIIIIIIIIIII\");\n\t\t\t\tconsole.log(images);\n\t\t\t\tawait uploadFilesViaLambda(\n\t\t\t\t\t\"state.usuario\",\n\t\t\t\t\tfile,\n\t\t\t\t\t\"image/png\",\n\t\t\t\t\ttemp_path\n\t\t\t\t).then(async () => {\n\t\t\t\t\tawait compareFaces({\n\t\t\t\t\t\ttarget: temp_path,\n\t\t\t\t\t\tsource:\n\t\t\t\t\t\t\timages[Math.floor(Math.random() * 5) + 1]\n\t\t\t\t\t\t\t\t.file_key ?? images[0].file_key,\n\t\t\t\t\t}).then(async (response: AxiosResponse) => {\n\t\t\t\t\t\tlet maxConfidence = -Infinity;\n\t\t\t\t\t\tlet maxConfidenceType = \"\";\n\n\t\t\t\t\t\tif (response.data.emotions) {\n\t\t\t\t\t\t\tconst emotions = response.data.emotions;\n\n\t\t\t\t\t\t\temotions.forEach((emotion: any) => {\n\t\t\t\t\t\t\t\tconst confidence = parseFloat(\n\t\t\t\t\t\t\t\t\temotion.Confidence\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (confidence > maxConfidence) {\n\t\t\t\t\t\t\t\t\tmaxConfidence = confidence;\n\t\t\t\t\t\t\t\t\tmaxConfidenceType = emotion.Type;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait new RekognitionService().create({\n\t\t\t\t\t\t\taudition_id: auditionCode.id,\n\t\t\t\t\t\t\tfile_key: temp_path,\n\t\t\t\t\t\t\trecognition_feedback: response.data.matches,\n\t\t\t\t\t\t\tsimilarity: Number(response.data.Similarity),\n\t\t\t\t\t\t\temotion: maxConfidenceType,\n\t\t\t\t\t\t\temotion_confidence: Number(maxConfidence),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\t// Pass\n\t\t\t\tconsole.log(err);\n\t\t\t\tconsole.error(err);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * memoiza o tempo de execução do timer\n\t */\n\tconst time = useMemo(() => {\n\t\t// return Date.now() + $settings.settings.audition_duration ?? 420000;\n\t\treturn Date.now() + 420000;\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\t/**\n\t * renderiza o timer na tela do usuário\n\t * @param param0\n\t * @returns\n\t */\n\tfunction renderer({ minutes, seconds, completed }: any) {\n\t\tif (completed) {\n\t\t\t// setTimerOn(false)\n\t\t\tsetShouldStop(true);\n\t\t\treturn Tempo esgotado!;\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{minutes < 10 ? \"0\" + minutes : minutes}:\n\t\t\t\t\t\t{seconds < 10 ? \"0\" + seconds : seconds}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * \tMetodo que inicia a gravação\n\t * \t@description Inicia a gravação e o timer\n\t * \t@author Lucas Gabriel\n\t * \t30000 -> corresponde a cerca de 30 segundos\n\t * \t1800000 -> corresponde a cerca de 30 minutos\n\t * \t$settings.settings.audition_duration ?? 420000 -> corresponde a cerca de 7 minutos\n\t * \tchamada alternativa: setInterval(handleCanvasUploadLambda, $settings.settings.rekognition_interaval ?? 10000);\n\t */\n\tfunction handleStart() {\n\t\tconst ct = countDownRef.current;\n\n\t\tif (ct) {\n\t\t\tconst api = ct.getApi();\n\t\t\tgetUserAudioAndVideo();\n\t\t\tapi.start();\n\t\t\tsetStartRecording(true);\n\n\t\t\tsetInterval(handleCanvasUploadLambda, 30000);\n\t\t}\n\t}\n\n\tReact.useEffect(() => {\n\t\t// fileManagerApi.get(`/file-retrieve?ra=${user.ra}&type=image`)\n\t\tlet user: any = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t).data.usuario.id;\n\n\t\tnew BiometryService(fileManagerApi)\n\t\t\t.getAll(user)\n\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\tsetImages(response.data);\n\t\t\t\tif (response.data.length < 5) {\n\t\t\t\t\twindow.location.href = \"/biometrics\";\n\t\t\t\t}\n\t\t\t});\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tsetActiveStep(1);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\t/**\n\t *\n\t */\n\tReact.useEffect(() => {\n\t\tif (params)\n\t\t\tnew ActivityService(fileManagerApi)\n\t\t\t\t.findOne(Number(params.activity_id))\n\t\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\t\t// setActivity(res.data)\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tsetErr(true);\n\t\t\t\t\t// toast.error(\"A atividade informada não existe!\");\n\t\t\t\t});\n\n\t\t// .catch((err) => {\n\t\t// \tsetTimeout(() => toast.error(\"A atividade informada não existe!\"), 3000)\n\t\t// \twindow.location.href = \"/\"\n\t\t// })\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\t/**\n\t * Retorna o componente\n\t */\n\n\treturn err ? (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA atividade informada não existe!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tClique no botão retornar para retomar a\n\t\t\t\t\t\t\t\tnavegação.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\thistory(\"/\");\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tVoltar para o início\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : (\n\t\t\n\t\t\t theme.zIndex.drawer + 1,\n\t\t\t\t}}\n\t\t\t\topen={showBackdrop}\n\t\t\t\t// open={true}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{showUploadProgressBackdrop && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{uploadProgressPercent}% Enviados\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{/*
\n\t\t\t\t\t\t{JSON.stringify(auditionCode, null, 4)}\n\t\t\t\t\t
*/}\n\t\t\t\t{/* \n\t\t\t\t\t
\n\t\t\t\t\t\t{JSON.stringify(activity, null, 4)}\n\t\t\t\t\t
\n\t\t\t\t
*/}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{params.activity_id === \"71\" ? (\n\t\t\t\t\t\t\t<>Videocurrículo\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>Entrevista Simulada\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{params.activity_id === \"71\" ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\tÉ hora de se destacar! Este é o espaço dedicado\n\t\t\t\t\t\t\t\tà gravação da sua apresentação do\n\t\t\t\t\t\t\t\tVideocurrículo. Siga as etapas abaixo para\n\t\t\t\t\t\t\t\tenviar sua mensagem às empresas e mostrar todo o\n\t\t\t\t\t\t\t\tseu potencial profissional!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\tPratique suas entrevistas simuladas para se\n\t\t\t\t\t\t\t\tpreparar melhor para oportunidades de emprego e\n\t\t\t\t\t\t\t\testágio. Receba feedback detalhado e aprimore\n\t\t\t\t\t\t\t\tsuas habilidades profissionais.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tNa Simulação de Entrevistas do Palco Profissional, as\n\t\t\t\t\t\tperguntas são cuidadosamente selecionadas a partir das\n\t\t\t\t\t\tdescrições das vagas que você escolher. Essas perguntas\n\t\t\t\t\t\tabrangem uma variedade de aspectos essenciais para o\n\t\t\t\t\t\tsucesso profissional, sendo elas:\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{params.activity_id === \"72\" ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{acItems &&\n\t\t\t\t\t\t\t\t\t\tArray.isArray(acItems) &&\n\t\t\t\t\t\t\t\t\t\tacItems.map((item: any) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.description\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={item.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{acItems &&\n\t\t\t\t\t\t\t\t\t\tArray.isArray(acItems) &&\n\t\t\t\t\t\t\t\t\t\tacItems.map((item: any) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.description\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={item.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tstopButtonRef.current.click();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\trenderer={renderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tClique{\" \"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\taqui\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\tpara realizar o download do vídeo.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{/* CANVAS */}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*
{JSON.stringify(vagas.data, null, 4)}
*/}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSelecionar vaga para entrevista simulada\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSelecionar vaga\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t//TODO: Buscar entrevista personalizada\n\t\t\t\t\t\t\t\t\t\t\t// alert(e.target.value);\n\t\t\t\t\t\t\t\t\t\t\tsetVagaId(e.target.value);\n\t\t\t\t\t\t\t\t\t\t\tawait gerarRoteiro(e.target.value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tNenhuma vaga selecionada\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{vagas &&\n\t\t\t\t\t\t\t\t\t\t\tvagas.data &&\n\t\t\t\t\t\t\t\t\t\t\tvagas.data.map((vaga) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{vaga.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*
{JSON.stringify(topicos, null, 4)}
*/}\n\t\t\t\t\t\t\t{topicos && topicos.length > 0 ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{topicos.map((topico) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
  1. \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    {topico}

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
  2. \n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={gerarRoteiro}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGerar roteiro de entrevista\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{showPreview\n\t\t\t\t\t\t\t\t\t\t\t\t? \"Preview\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"Gravando\"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstopButtonRef.current.click();\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\trenderer={renderer}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{showPreview ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{startRecording || showPreview ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\twindow.location.href = \"/\";\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tCancelar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{showPreview ? (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetShowPreview(false);\n\t\t\t\t\t\t\t\t\t\t\tsetShouldStop(false);\n\t\t\t\t\t\t\t\t\t\t\tsetURL(null);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t\t\t\t\tdisabled={startRecording ? true : false}\n\t\t\t\t\t\t\t\t\t\tsx={{ flexGrow: \"1\" }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tRefazer\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={startRecording ? true : false}\n\t\t\t\t\t\t\t\t\t\tsx={{ flexGrow: \"1\" }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tIniciar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{showPreview ? (\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={url ? false : true}\n\t\t\t\t\t\t\t\t\t\tsx={{ flexGrow: \"1\" }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tEnviar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : startRecording ? (\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={startRecording ? false : true}\n\t\t\t\t\t\t\t\t\t\tsx={{ flexGrow: \"1\" }}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tstopButtonRef.current.click();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tEncerrar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCapturas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tVeja suas apresentações anteriores\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{/* PREVIEW DIALOG */}\n\t\t\t {\n\t\t\t\t\tsetOpenPreviewer(false);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* */}\n\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{/* Parabéns o envio da sua apresentação foi\n\t\t\t\t\t\t\t\t\t\trealizado com sucesso! copie e envie o\n\t\t\t\t\t\t\t\t\t\tcódigo da sua apresentação na atividade\n\t\t\t\t\t\t\t\t\t\tem sala virtual. */}\n\t\t\t\t\t\t\t\t\t\tParabéns pelo envio bem-sucedido da sua\n\t\t\t\t\t\t\t\t\t\tapresentação! Em breve, você receberá um\n\t\t\t\t\t\t\t\t\t\tfeedback por e-mail com a análises e\n\t\t\t\t\t\t\t\t\t\tdicas para aprimorar ainda mais o seu\n\t\t\t\t\t\t\t\t\t\tvídeo.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tnavigator.clipboard.writeText(\n\t\t\t\t\t\t\t\t\t\t\t\tauditionCode.code\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t// toast.success(\n\t\t\t\t\t\t\t\t\t\t\t// \t\"Código copiado com sucesso!\",\n\t\t\t\t\t\t\t\t\t\t\t// \t{\n\t\t\t\t\t\t\t\t\t\t\t// \t\tposition: \"top-right\",\n\t\t\t\t\t\t\t\t\t\t\t// \t}\n\t\t\t\t\t\t\t\t\t\t\t// );\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{auditionCode.code}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\thistory(\"/palco-profissional\");\n\t\t\t\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tMinhas apresentações\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n","import { SessionProvider } from \"../../../../context/session/SessionProvider\";\nimport AuditionComponent from \"./audition.component.template\";\n\nexport default function AuditionModule() {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","\nexport const poses = [\n {\n label: \"Frente\",\n image: \"poses/image 133.svg\"\n },\n {\n label: \"Esquerda\",\n image: \"poses/image 134.svg\"\n },\n {\n label: \"Direita\",\n image: \"poses/image 135.svg\"\n },\n {\n label: \"Cima\",\n image: \"poses/image 136.svg\"\n },\n {\n label: \"Baixo\",\n image: \"poses/image 137.svg\"\n },\n ];\n \nexport const refImages = [\n {\n label: \"Frente\",\n image: null,\n },\n {\n label: \"Esquerda\",\n image: null\n },\n {\n label: \"Direita\",\n image: null\n },\n {\n label: \"Cima\",\n image: null\n },\n {\n label: \"Baixo\",\n image: null\n },\n ];","import { fileManagerApi } from \"../filemanager\";\nimport { uploadFilesViaLambda } from \"../service/lambda\";\n// import MiniInfo from \"@components/Dialogs/MiniInfo\";\nimport ProgressIndicator from \"../ProgressIndicator\";\n// import useAuth from \"@context/auth/AuthHook\";\n// import useSession from \"@context/session/SessionHook\";\nimport { ArrowForward, CenterFocusStrong, Delete } from \"@mui/icons-material\";\nimport {\n\tBackdrop,\n\tBox,\n\tButton,\n\tCircularProgress,\n\tContainer,\n\tGrid,\n\tIconButton,\n\tPaper,\n\tTypography,\n} from \"@mui/material\";\nimport { AxiosResponse } from \"axios\";\nimport { useEffect, useRef, useState } from \"react\";\n// import { toast } from \"react-toastify\";\nimport { convertBase64ToBlob } from \"./biometry.helper\";\nimport BiometryService from \"./biometry.service\";\n\nimport useSession from \"../../../../context/session/SessionHook\";\nimport { poses as references } from \"../mydata/constants\";\n\nfunction getState(user: any) {\n\treturn [\n\t\t`${process.env.REACT_APP_FILE_LOCATION}/${user}/frente.png`,\n\t\t`${process.env.REACT_APP_FILE_LOCATION}/${user}/direita.png`,\n\t\t`${process.env.REACT_APP_FILE_LOCATION}/${user}/esquerda.png`,\n\t\t`${process.env.REACT_APP_FILE_LOCATION}/${user}/cima.png`,\n\t\t`${process.env.REACT_APP_FILE_LOCATION}/${user}/baixo.png`,\n\t];\n}\n\nexport default function BiometryTemplate() {\n\tlet state: any = \"\";\n\tlet user: any = JSON.parse(\n\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t).data.usuario.id;\n\t// const history = useNavigate();\n\tconst canvasRef = useRef(null);\n\tconst videoRef = useRef(null);\n\n\tconst { setActiveStep, images, setImages } = useSession();\n\n\tconst [firstShotDelay, setFirstShotDelay] = useState(3000);\n\tconst [finalState, setFinalState] = useState([]);\n\tconst [initialState, setInitialState] = useState(() => getState(user));\n\n\tconst [, setOpen] = useState(false);\n\tconst [openCamera, setOpenCamera] = useState(true);\n\n\tconst [openBackdrop, setOpenBackdrop] = useState(false);\n\n\tuseEffect(() => {\n\t\tloadBiometry();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tfunction getUserVideo() {\n\t\tsetInterval(() => {\n\t\t\treturn;\n\t\t}, firstShotDelay);\n\n\t\tsetFirstShotDelay(0);\n\n\t\tsetOpenCamera(true);\n\t\ttry {\n\t\t\tconst player = videoRef.current;\n\n\t\t\tconst handleSuccess = (stream: MediaStream) => {\n\t\t\t\tplayer.srcObject = stream;\n\n\t\t\t\tplayer.addEventListener(\"loadedmetadata\", () => {\n\t\t\t\t\tsetOpenCamera(false);\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tnavigator.mediaDevices\n\t\t\t\t.getUserMedia({\n\t\t\t\t\taudio: false,\n\t\t\t\t\tvideo: {\n\t\t\t\t\t\twidth: window.innerWidth < 800 ? 480 / 2 : 854 / 2,\n\t\t\t\t\t\theight: window.innerWidth < 800 ? 854 / 2 : 480 / 2,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then(handleSuccess)\n\t\t\t\t.then(() => videoRef.current.play());\n\t\t} catch (e) {}\n\t}\n\n\tasync function capture() {\n\t\tif (canvasRef.current) {\n\t\t\tvar el: HTMLCanvasElement | any = document.createElement(\"canvas\");\n\n\t\t\tel.width = videoRef.current.videoWidth;\n\t\t\tel.height = videoRef.current.videoHeight;\n\n\t\t\tconsole.log(videoRef.current.videoHeight);\n\t\t\tconsole.log(videoRef.current.videoWidth);\n\t\t\tel.getContext(\"2d\").drawImage(\n\t\t\t\tvideoRef.current,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tvideoRef.current.videoWidth,\n\t\t\t\tvideoRef.current.videoHeight\n\t\t\t);\n\n\t\t\t// canvasRef.current.append(el)\n\t\t\tconst file = convertBase64ToBlob(el.toDataURL(\"image/png\"));\n\n\t\t\t// await uploadFilesViaLambda(user, file, \"image/png\", segments[-1])\n\t\t\tawait uploadFilesViaLambda(\n\t\t\t\tstate?.usuario,\n\t\t\t\tfile,\n\t\t\t\t\"image/png\",\n\t\t\t\tinitialState[0]\n\t\t\t).then(() => {\n\t\t\t\t// toast.success(\"Imagem enviada com sucesso\");\n\t\t\t});\n\t\t}\n\t}\n\n\tasync function loadBiometry() {\n\t\tawait new BiometryService(fileManagerApi)\n\t\t\t.getAll(state?.usuario?.id)\n\t\t\t.then((res: AxiosResponse) => {\n\t\t\t\tsetImages(res.data);\n\n\t\t\t\tconst { data } = res;\n\n\t\t\t\tdata.forEach((item: any) => {\n\t\t\t\t\tsetInitialState((prevState: any) => {\n\t\t\t\t\t\treturn prevState.filter(\n\t\t\t\t\t\t\t(key: any) => key !== item.file_key\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tsetFinalState(res.data);\n\n\t\t\t\tif (res.data.length >= 5) {\n\t\t\t\t\tsetActiveStep(1);\n\t\t\t\t} else {\n\t\t\t\t\tgetUserVideo();\n\t\t\t\t}\n\n\t\t\t\t// toast.success(\"Carregando biometria existente\");\n\t\t\t})\n\t\t\t.catch((err: Error) => {\n\t\t\t\t// toast.error(\"Falha ao carregar\");\n\t\t\t\t// throw new Error(\"Falha ao carregar\");\n\t\t\t});\n\t}\n\n\tasync function submitBiometry() {\n\t\tif (initialState.length > 0) {\n\t\t\tsetOpenBackdrop(true);\n\t\t\tawait capture();\n\t\t\tlet user: any = JSON.parse(\n\t\t\t\tlocalStorage.getItem(\"@palco-profissional:token\") as string\n\t\t\t).data.usuario.id;\n\n\t\t\tawait new BiometryService(fileManagerApi)\n\t\t\t\t.create({\n\t\t\t\t\tuser_id: user,\n\t\t\t\t\tfile_key: initialState[0],\n\t\t\t\t})\n\t\t\t\t.then(async (res: AxiosResponse) => {\n\t\t\t\t\tawait loadBiometry();\n\t\t\t\t})\n\t\t\t\t.catch(async (res: AxiosResponse) => {\n\t\t\t\t\tawait loadBiometry();\n\t\t\t\t})\n\t\t\t\t.finally(async () => {\n\t\t\t\t\tsetOpenBackdrop(false);\n\t\t\t\t\t// window.location.reload();\n\t\t\t\t\tawait loadBiometry();\n\t\t\t\t});\n\t\t}\n\t}\n\n\tasync function deleteBiometry(id: number) {\n\t\tsetOpenBackdrop(true);\n\t\tconst bio = finalState.filter((item: any) => item.id === id)[0];\n\t\tawait new BiometryService(fileManagerApi)\n\t\t\t.delete(id)\n\t\t\t.then(async (res: AxiosResponse) => {\n\t\t\t\tawait loadBiometry();\n\t\t\t\tsetInitialState([...initialState, bio.file_key]);\n\t\t\t})\n\t\t\t.catch(async (res: AxiosResponse) => {\n\t\t\t\tawait loadBiometry();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tsetOpenBackdrop(false);\n\t\t\t\tsetActiveStep(0);\n\t\t\t});\n\t}\n\n\tuseEffect(() => {\n\t\tif (initialState.length === 0 && finalState.length >= 5) {\n\t\t\tsetOpen(true);\n\t\t}\n\t}, [finalState.length, initialState.length]);\n\n\tuseEffect(() => {\n\t\tif (images.length >= 5) {\n\t\t\tsetOpen(true);\n\t\t\tsetActiveStep(1);\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tfunction extractFormattedString(inputString: string): string {\n\t\tconst lastSlashIndex = inputString.lastIndexOf(\"/\");\n\t\tconst lastDotIndex = inputString.lastIndexOf(\".\");\n\n\t\tif (\n\t\t\tlastSlashIndex !== -1 &&\n\t\t\tlastDotIndex !== -1 &&\n\t\t\tlastDotIndex > lastSlashIndex\n\t\t) {\n\t\t\tconst desiredSubstring = inputString.substring(\n\t\t\t\tlastSlashIndex + 1,\n\t\t\t\tlastDotIndex\n\t\t\t);\n\t\t\tconst formattedResult =\n\t\t\t\tdesiredSubstring.charAt(0).toUpperCase() +\n\t\t\t\tdesiredSubstring.slice(1).toLowerCase();\n\t\t\treturn formattedResult;\n\t\t} else {\n\t\t\tthrow new Error(\"Invalid input string\");\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{initialState.length !== 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tImagens pendentes - Posição do rosto\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{initialState.map(\n\t\t\t\t\t\t\t\t\t(file_key: any, index: number) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{references.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treference: any,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: number\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\textractFormattedString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfile_key\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treference.label && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{extractFormattedString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfile_key\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tImagens capturadas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{finalState.map(\n\t\t\t\t\t\t\t\t\t\t(media: any, index: number) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{extractFormattedString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmedia.file_key\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t).toUpperCase()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tawait deleteBiometry(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmedia.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t).finally(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// window.location.reload();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloadBiometry();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t{JSON.stringify(finalState, null, 4)}\n\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{initialState.length !== 0 && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCâmera\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tCapturar imagem\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tPosições de rosto\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{references.map(\n\t\t\t\t\t\t\t\t\t\t(reference: any, index: number) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{reference.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{initialState.length === 0 && finalState.length === 5 && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t// history(\"/recorder\")\n\t\t\t\t\t\t\t\t\twindow.location.href = \"/recorder/71\";\n\t\t\t\t\t\t\t\t\t// setOpen(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tIr para a apresentação\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { SessionProvider } from \"../../../../context/session/SessionProvider\";\nimport BiometryTemplate from \"./biometry.template\";\n\nexport default function BiometryModule() {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { Box, CssBaseline, useTheme } from \"@mui/material\";\nimport { Fragment } from \"react\";\nimport { Route, Routes } from \"react-router\";\nimport AppFooter from \"../components/layout/AppFooter\";\nimport AppHeaderStudent from \"../components/layout/AppHeaderStudent\";\nimport CandidaturasAluno from \"../pages/Private/Candidaturas/CandidaturasAluno\";\nimport HomePage from \"../pages/Private/HomePage\";\nimport MeuCurriculo from \"../pages/Private/MeuCurriculo\";\nimport { MeuCurriculoContextProvider } from \"../pages/Private/MeuCurriculo/context\";\nimport MinhasVagasFavoritas from \"../pages/Private/MinhasVagasFavoritas\";\nimport OrientacoesAluno from \"../pages/Private/OrientacoesAluno\";\nimport PalcoProfissional from \"../pages/Private/PalcoProfissional\";\nimport AuditionModule from \"../pages/Private/PalcoProfissional/audition\";\nimport BiometryModule from \"../pages/Private/PalcoProfissional/biometry\";\nimport NotFound from \"../pages/Public/NotFound\";\n\n/**\n *\n * @returns Retorna as rotas do aluno -> Uninta Jobs + Palco Profissional\n */\nexport const AlunoRouter = () => {\n\tconst theme = useTheme();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t} />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t} />\n\t\t\t\t\t\t\t\t} />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t} />\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import { ArrowBack } from \"@mui/icons-material\";\nimport { Box, Button, Container } from \"@mui/material\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport toast from \"react-hot-toast\";\nimport { useNavigate, useParams } from \"react-router\";\nimport TabelaCandidaturas from \"../../../components/Tabelas/TabelaCandidaturas\";\nimport api from \"../../../services/api\";\n\n/**\n *\n * @description Tela de candidaturas Empresa e Administrador partilham de views parecidas\n */\nexport default function CandidaturasEmpresa(): JSX.Element {\n\t// const { auth } = useAuthContext();\n\tconst history = useNavigate();\n\tconst params = useParams();\n\tconst [applications, setApplications] = useState([]);\n\tconst [, setFullApplications] = useState([]);\n\n\t/**\n\t * @description define o estado das aplicações realizadas no sistema\n\t */\n\n\tconst getApplications = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\ttry {\n\t\t\tawait api\n\t\t\t\t.get(\"/applications\", {\n\t\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t\t})\n\t\t\t\t.then(async (res: any) => {\n\t\t\t\t\tres.data.forEach((item: any) => {\n\t\t\t\t\t\tif (item.jobs.length > 0)\n\t\t\t\t\t\t\titem.jobs.forEach(async (job) => {\n\t\t\t\t\t\t\t\tawait api\n\t\t\t\t\t\t\t\t\t.get(\"/jobs/\" + job.id, {\n\t\t\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.then((res: any) => {\n\t\t\t\t\t\t\t\t\t\t// var d = res.data[0];\n\t\t\t\t\t\t\t\t\t\tif (Array.isArray(res.data)) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tres.data[0].applications &&\n\t\t\t\t\t\t\t\t\t\t\t\tres.data[0].applications\n\t\t\t\t\t\t\t\t\t\t\t\t\t.length > 0\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetFullApplications((prev) => [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\t\tres.data[0],\n\t\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t\t\tsetApplications((prev) => [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\t\t...res.data[0].applications,\n\t\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetFullApplications((prev) => [\n\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\tres.data,\n\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t\tsetApplications((prev) => [\n\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\t...res.data.applications,\n\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\ttoast.success(\"Listando candidaturas encontradas.\");\n\t\t\t\t});\n\t\t} catch (err) {\n\t\t\ttoast.error(\n\t\t\t\t\"Falha ao buscar candidaturas! Recarregue a página e tente novamente.\"\n\t\t\t);\n\t\t}\n\t};\n\n\tconst getApplicationsByJobId = async () => {\n\t\tlet token = JSON.parse(\n\t\t\tlocalStorage.getItem(\"@app-jobs:token\") as string\n\t\t).token;\n\n\t\tawait api\n\t\t\t.get(\"/jobs/\" + params.id, {\n\t\t\t\theaders: { Authorization: `Bearer ${token}` },\n\t\t\t})\n\t\t\t.then((res: any) => {\n\t\t\t\tif (Array.isArray(res.data)) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tres.data[0].applications &&\n\t\t\t\t\t\tArray.isArray(res.data[0].applications)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetApplications(res.data[0].applications);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetApplications(res.data.applications);\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (params.id) {\n\t\t\tgetApplicationsByJobId();\n\t\t} else {\n\t\t\tgetApplications();\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* {auth.role} */}\n\t\t\t\t\t}\n\t\t\t\t\t\tonClick={() => history(-1)}\n\t\t\t\t\t\tsx={{ mb: 3 }}\n\t\t\t\t\t>\n\t\t\t\t\t\tVoltar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{/*
{JSON.stringify(applications, null, 4)}
*/}\n\t\t\t
\n\t\t
\n\t);\n}\n","import { Box, CssBaseline } from \"@mui/material\";\nimport React, { Fragment } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\nimport AppHeader from \"../components/layout/AppHeader\";\nimport CandidaturasEmpresa from \"../pages/Private/Candidaturas/CandidaturasEmpresa\";\nimport Empresas from \"../pages/Private/Empresas\";\nimport MeuCurriculo from \"../pages/Private/MeuCurriculo\";\nimport Vagas from \"../pages/Private/Vagas\";\nimport NotFound from \"../pages/Public/NotFound\";\nimport SignUp from \"../pages/Public/SignUp\";\n\n/**\n *\n * @returns Rotas para usuário do tipo Empresa\n */\nconst EmpresaRouter = (): React.ReactElement => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t} />\n\t\t\t\t\t} />\n\t\t\t\t\t} />\n\t\t\t\t\t} />\n\t\t\t\t\t\n\t\t\t\t\t\t} />\n\t\t\t\t\t\t} />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t} />\n\t\t\t\t\t\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default EmpresaRouter;\n","import axios from \"axios\";\nimport {\n\tLoginData,\n\tLoginResponse,\n\tRecoveryData,\n\tRecoveryResponse,\n\tResetData,\n\tResetResponse,\n} from \"../models/Login\";\nimport Notify from \"../utils/notification\";\nimport api from \"./api\";\n\n/**\n * @function postLogin\n * Faz uma requisição do tipo post para a rota /login, da api, passando um objeto com as informações do login. No caso de sucesso é retornado um objeto do tipo Promise.\n * @param {LoginData} data - Dados do login.\n */\n\nexport async function postLogin(data: LoginData): Promise {\n\treturn await api\n\t\t.post(\"/login\", { email: data.email, password: data.password })\n\t\t.then(({ data }) => {\n\t\t\treturn data;\n\t\t})\n\t\t.catch((e) => {\n\t\t\tNotify(\n\t\t\t\t\"Usuário e/ou senha inválidos, verifique seus dados e tente novamente!\",\n\t\t\t\t\"error\"\n\t\t\t);\n\t\t\treturn e;\n\t\t});\n}\n\n/**\n * @function postLoginStudent\n * Faz uma requisição do tipo post para a rota /login-student, da api, passando um objeto com as informações do login. No caso de sucesso é retornado um objeto do tipo Promise.\n * @param {LoginData} data - Dados do login.\n */\n\nexport async function postLoginStudent(\n\tdata: LoginData\n): Promise {\n\treturn await api\n\t\t.post(\"/login-student\", { ra: data.ra, password: data.password })\n\t\t.then(({ data }) => {\n\t\t\treturn data;\n\t\t})\n\t\t.catch((e) => {\n\t\t\tNotify(\n\t\t\t\t\"Usuário e/ou senha inválidos, verifique seus dados e tente novamente!\",\n\t\t\t\t\"error\"\n\t\t\t);\n\t\t\treturn e;\n\t\t});\n}\n\nexport async function postLoginAlunoPalcoVirtual(\n\tdata: LoginData\n): Promise {\n\tconst palco_api = axios.create({\n\t\tbaseURL: process.env.REACT_APP_FILE_MANAGER_API,\n\t});\n\treturn await palco_api\n\t\t.post(\"auth/login\", data)\n}\n\nexport async function postRecovery(\n\tdata: RecoveryData\n): Promise {\n\treturn await api\n\t\t.post(`/forgot-password`, { email: data.email })\n\t\t.then(({ data }) => {\n\t\t\tNotify(\"Verifique seu email e siga as instruções!\");\n\t\t\treturn data;\n\t\t})\n\t\t.catch((e: any) => {\n\t\t\tNotify(\n\t\t\t\t\"E-mail inválido, verifique seus dados e tente novamente!\",\n\t\t\t\t\"error\"\n\t\t\t);\n\t\t\treturn e;\n\t\t});\n}\n\nexport async function postReset(\n\temail: string | undefined,\n\tsignature: string | null,\n\tdata: ResetData\n): Promise {\n\treturn await api\n\t\t.post(`/reset-password/${email}?signature=${signature}`, {\n\t\t\tpassword: data.password,\n\t\t})\n\t\t.then(({ data }) => {\n\t\t\tNotify(\"Senha redefinida com sucesso!\");\n\t\t\treturn data;\n\t\t})\n\t\t.catch((e: any) => {\n\t\t\tNotify(\n\t\t\t\t\"E-mail inválido, verifique seus dados e tente novamente!\",\n\t\t\t\t\"error\"\n\t\t\t);\n\t\t\tconsole.log(e);\n\t\t\treturn e;\n\t\t});\n}\n","import React from \"react\";\nimport { Button, Container, TextField, Typography } from \"@mui/material\";\nimport { useForm } from \"react-hook-form\";\nimport \"./styles.scss\";\nimport { Box } from \"@mui/system\";\nimport { makeStyles } from \"@material-ui/core\";\nimport { postRecovery } from \"../../../services/login\";\nimport { useNavigate } from \"react-router-dom\";\nimport { RecoveryData } from \"../../../models/Login\";\n\nfunction FormularioForgotPasswordView(): React.ReactElement {\n const { register, handleSubmit, formState: { errors } } = useForm({ mode: \"onSubmit\" });\n const useStyles = makeStyles((theme) => ({\n textField: {\n '& label': {\n color: 'grey !important',\n },\n '& label.Mui-focused': {\n color: 'black !important',\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'Grey',\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: 'Grey',\n },\n // '&:hover fieldset': {\n // borderColor: 'blue',\n // },\n '&.Mui-focused fieldset': {\n borderColor: 'Grey',\n },\n },\n }\n }));\n const classes = useStyles();\n const navigate = useNavigate();\n\n async function forgotPassword(data: RecoveryData) {\n navigate(\"/\");\n postRecovery(data).then((data) => {\n }).catch((e) => {\n console.log(e);\n });\n };\n\n return (\n
\n
\n \"aiamis\"\n

  | Oportunidades

\n
\n \n Não se preocupe, estamos aqui para ajudá-lo a recuperar sua senha.\n \n \n
forgotPassword({\n email: data.email,\n }))}>\n
\n Informe o e-mail da sua conta\n O campo \"E-mail\" é obrigatório!}\n />\n
\n\n \n \n \n
\n
\n
\n );\n}\n\nexport default FormularioForgotPasswordView;","import React from \"react\";\nimport FormularioForgotPasswordView from \"./FormularioForgotPassword.view\";\n\nfunction FormularioForgotPassword(): React.ReactElement {\n return (\n \n );\n}\n\nexport default FormularioForgotPassword;","import { Backdrop, IconButton, makeStyles } from \"@material-ui/core\";\nimport { Visibility, VisibilityOff } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tCircularProgress,\n\tContainer,\n\tDivider,\n\tGrid,\n\tInputAdornment,\n\tTextField,\n\tTypography,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport React, { Fragment, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { usePalcoProfissional } from \"../../../context/PalcoProfissional\";\nimport { LoginData } from \"../../../models/Login\";\nimport {\n\tpostLoginAlunoPalcoVirtual,\n\tpostLoginStudent,\n} from \"../../../services/login\";\n\nconst useStyles = makeStyles((theme) => ({\n\ttextField: {\n\t\t\"& label.Mui-focused\": {\n\t\t\tcolor: \"black\",\n\t\t},\n\t\t\"& .MuiInput-underline:after\": {\n\t\t\tborderBottomColor: \"Grey\",\n\t\t},\n\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\"& fieldset\": {\n\t\t\t\tborderColor: \"Grey\",\n\t\t\t},\n\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\tborderColor: \"Grey\",\n\t\t\t},\n\t\t},\n\t},\n}));\n\nfunction FormularioLoginAluno(): React.ReactElement {\n\tconst theme = useTheme();\n\tconst classes = useStyles();\n\tconst navigate = useNavigate();\n\tconst breakpoint = useMediaQuery(theme.breakpoints.up(\"md\"));\n\tconst { dispatch } = usePalcoProfissional();\n\tconst { setAuth } = useAuthContext();\n\tconst [showPassword, setShowPassword] = React.useState(false);\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\n\tconst handleClickShowPassword = () => {\n\t\tsetShowPassword(!showPassword);\n\t};\n\n\tconst [open, setOpen] = useState(false);\n\n\t/**\n\t * @function login\n\t * Faz a chamda da função postLogin passando data por paramentro, caso a requisição der certo seta data recebido da requisição no AuthContext, seta um valor no sessionStorage com o nome da chave de token e faz uma mudança de rota para /.\n\t * @param {LoginData} data -\n\t */\n\tasync function login(data: LoginData) {\n\t\t// alert(JSON.stringify(data));\n\t\tsetOpen(true);\n\t\tawait postLoginAlunoPalcoVirtual(data).then((data) => {\n\t\t\tlocalStorage.setItem(\n\t\t\t\t\"@palco-profissional:token\",\n\t\t\t\tJSON.stringify(data)\n\t\t\t);\n\t\t\tdispatch({ action: \"restore_state\", payload: data.data });\n\t\t});\n\n\t\tawait postLoginStudent(data)\n\t\t\t.then((data) => {\n\t\t\t\tlocalStorage.setItem(\"@app-jobs:token\", JSON.stringify(data));\n\t\t\t\tsetAuth(data);\n\t\t\t\tnavigate(\"/\");\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t})\n\t\t\t.finally(() => setOpen(false));\n\t\t// setOpen(true);\n\t\t// postLogin(data)\n\t\t// .then((data) => {\n\t\t// localStorage.setItem(\"@app-jobs:token\", JSON.stringify(data));\n\t\t// setAuth(data);\n\t\t// navigate(\"/\");\n\t\t// })\n\t\t// .catch((e) => {\n\t\t// console.log(e);\n\t\t// })\n\t\t// .finally(() => setOpen(false));\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPotencialize sua carreira explorando oportunidades\n\t\t\t\t\t\t\t
únicas, abrindo novos caminhos para seu\n\t\t\t\t\t\t\tcrescimento\n\t\t\t\t\t\t\t
profissional.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{/* \n {\" \"}\n Oportunidades {\" \"}\n */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDescubra novas oportunidades\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEntrar com Registro Acadêmico (RA)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tlogin({\n\t\t\t\t\t\t\t\t\t\tra: data.ra,\n\t\t\t\t\t\t\t\t\t\tpassword: data.password,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tInsira seu RA\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tO campo \"RA\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSenha*\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showPassword ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t{...register(\"password\", {\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\terror={\n\t\t\t\t\t\t\t\t\t\t\terrors.password?.type === \"required\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\t\terrors.password?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Senha\" é\n\t\t\t\t\t\t\t\t\t\t\t\t\tobrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{/*
\n \n \n Matenha-me conectado\n \n
*/}\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tEsqueceu a senha?\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEntrar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tContinuar como administrador\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tNão possui cadastro?{\" \"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tInscrever-se no UNINTA Jobs\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\t{/*
*/}\n\t\t
\n\t);\n}\n\nexport default FormularioLoginAluno;\n","import React from \"react\";\nimport { Button, Container, TextField, Typography } from \"@mui/material\";\nimport { useForm } from \"react-hook-form\";\nimport \"./styles.scss\";\nimport { Box } from \"@mui/system\";\nimport { makeStyles } from \"@material-ui/core\";\nimport Notify from \"../../../utils/notification\";\nimport { useParams, useSearchParams } from \"react-router-dom\"\nimport { postReset } from \"../../../services/login\";\nimport { useNavigate } from \"react-router-dom\";\nimport { ResetData } from \"../../../models/Login\";\n\nfunction FormularioRecoverPasswordView(): React.ReactElement {\n const { register, handleSubmit, formState: { errors } } = useForm({ mode: \"onSubmit\" });\n const useStyles = makeStyles((theme) => ({\n textField: {\n '& label': {\n color: 'grey !important',\n },\n '& label.Mui-focused': {\n color: 'black !important',\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'Grey',\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: 'Grey',\n },\n // '&:hover fieldset': {\n // borderColor: 'blue',\n // },\n '&.Mui-focused fieldset': {\n borderColor: 'Grey',\n },\n },\n }\n }));\n const classes = useStyles();\n const { email } = useParams();\n const [query] = useSearchParams();\n const signature = query.get('signature');\n const navigate = useNavigate();\n\n /**\n * @function verificarSenha\n * Faz uma verificação de string que representão a senha e a senha de confirmação.\n * @param {string} senha - Representa a senha digitada pelo usuário.\n * @param {string} confirmacao - Representa a confirmção da senha do usuário.\n * @returns Retorna true ou false de acordo com a verificação.\n */\n function verificarSenha(senha: string, confirmacao: string): boolean {\n if (senha !== confirmacao) {\n return false;\n } else {\n return true;\n }\n }\n\n async function recoverPassword(data: ResetData) {\n if (verificarSenha(data.password, data.passwordConfirm)) {\n postReset(email, signature, data).then(() => {\n navigate(\"/\");\n }).catch((e) => {\n })\n } else {\n Notify('Senhas diferentes!', \"warning\");\n }\n };\n\n return (\n
\n
\n \"aiamis\"\n

  | Oportunidades

\n
\n \n
recoverPassword({\n password: data.password,\n passwordConfirm: data.passwordConfirm,\n }))}>\n
\n Nova senha\n O campo \"Senha\" é obrigatório!}\n />\n {errors.password?.message !== \"\" && {errors.password?.message}}\n
\n\n
\n Confirmar nova senha\n O campo \"Confirmar Senha\" é obrigatório!}\n />\n {errors.passwordConfirm?.message !== \"\" && {errors.passwordConfirm?.message}}\n
\n\n\n \n \n \n
\n
\n
\n );\n}\n\nexport default FormularioRecoverPasswordView;\n","import React from \"react\";\nimport FormularioRecoverPasswordView from \"./FormularioRecoverPassword.view\";\n\nfunction FormularioRecoverPassword(): React.ReactElement {\n return (\n \n );\n}\nexport default FormularioRecoverPassword;","import { Backdrop, IconButton, makeStyles } from \"@material-ui/core\";\nimport { Visibility, VisibilityOff } from \"@mui/icons-material\";\nimport {\n\tBox,\n\tCircularProgress,\n\tContainer,\n\tDivider,\n\tInputAdornment,\n\tTextField,\n\tTypography,\n\tuseTheme,\n} from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport React, { Fragment, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { LoginData } from \"../../../models/Login\";\nimport { postLogin } from \"../../../services/login\";\nimport \"./styles.scss\";\n\nfunction FormularioLoginView(): React.ReactElement {\n\tconst theme = useTheme();\n\tconst navigate = useNavigate();\n\tconst { setAuth } = useAuthContext();\n\tconst [showPassword, setShowPassword] = React.useState(false);\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tformState: { errors },\n\t} = useForm({ mode: \"onSubmit\" });\n\t// const label = { inputProps: { 'aria-label': 'Checkbox demo' } };\n\tconst useStyles = makeStyles((theme) => ({\n\t\ttextField: {\n\t\t\t\"& label.Mui-focused\": {\n\t\t\t\tcolor: \"black\",\n\t\t\t},\n\t\t\t\"& .MuiInput-underline:after\": {\n\t\t\t\tborderBottomColor: \"Grey\",\n\t\t\t},\n\t\t\t\"& .MuiOutlinedInput-root\": {\n\t\t\t\t\"& fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t\t// '&:hover fieldset': {\n\t\t\t\t// borderColor: 'blue',\n\t\t\t\t// },\n\t\t\t\t\"&.Mui-focused fieldset\": {\n\t\t\t\t\tborderColor: \"Grey\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}));\n\tconst classes = useStyles();\n\n\t/**\n\t * @function handleSignUp\n\t * Faz uma mudança de rotas para /signup.\n\t */\n\t// function handleSignUp() {\n\t// navigate(\"/signup\");\n\t// }\n\n\tconst handleClickShowPassword = () => {\n\t\tsetShowPassword(!showPassword);\n\t};\n\n\tconst [open, setOpen] = useState(false);\n\n\t/**\n\t * @function login\n\t * Faz a chamda da função postLogin passando data por paramentro, caso a requisição der certo seta data recebido da requisição no AuthContext, seta um valor no sessionStorage com o nome da chave de token e faz uma mudança de rota para /.\n\t * @param {LoginData} data -\n\t */\n\tasync function login(data: LoginData) {\n\t\tsetOpen(true);\n\t\tpostLogin(data)\n\t\t\t.then((data) => {\n\t\t\t\tlocalStorage.setItem(\"@app-jobs:token\", JSON.stringify(data));\n\t\t\t\tsetAuth(data);\n\t\t\t\tnavigate(\"/\");\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t})\n\t\t\t.finally(() => setOpen(false));\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\tConecte-se com mais de 30 mil talentos\n\t\t\t\t\t\t
em todo o Brasil\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* \n */}\n\t\t\t\t\t\t{/*

  | Oportunidades

*/}\n\t\t\t\t\t\t{/* \n {\" \"}\n Oportunidades {\" \"}\n */}\n\t\t\t\t\t\t{/*
*/}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAnuncie suas vagas\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEntrar com e-mail\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tlogin({\n\t\t\t\t\t\t\t\t\temail: data.email,\n\t\t\t\t\t\t\t\t\tpassword: data.password,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tInsira seu email*\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"E-mail\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSenha*\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{showPassword ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t{...register(\"password\", {\n\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\terror={errors.password?.type === \"required\"}\n\t\t\t\t\t\t\t\t\thelperText={\n\t\t\t\t\t\t\t\t\t\terrors.password?.type ===\n\t\t\t\t\t\t\t\t\t\t\t\"required\" && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tO campo \"Senha\" é obrigatório!\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/*
\n \n \n Matenha-me conectado\n \n
*/}\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEsqueceu a senha?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEntrar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tNão possui cadastro?{\" \"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tInscrever-se no UNINTA Jobs\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tContinuar como aluno\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default FormularioLoginView;\n","import FormularioLoginView from './FormularioLogin.view';\n\nfunction FormularioLogin(): React.ReactElement{\n return (\n \n )\n}\n\nexport default FormularioLogin;","import React from \"react\";\nimport FormularioLogin from \"../../../components/Formularios/FormularioLogin\";\n\nexport default function Login(): React.ReactElement {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t);\n}\n","import { Visibility, VisibilityOff } from \"@mui/icons-material\";\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tDivider,\n\tIconButton,\n\tInputAdornment,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Grid from \"@mui/material/Grid\";\nimport TextField from \"@mui/material/TextField\";\nimport Typography from \"@mui/material/Typography\";\nimport * as React from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { Link } from \"react-router-dom\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { postLogin } from \"../../../services/login\";\n\nfunction Copyright(props: any) {\n\treturn (\n\t\t\n\t\t\t{\"Copyright © \"}\n\t\t\t\n\t\t\t\tUNINTA\n\t\t\t{\" \"}\n\t\t\t{new Date().getFullYear()}\n\t\t\t{\".\"}\n\t\t\n\t);\n}\n\nexport default function SignInAdministrador() {\n\tconst theme = useTheme();\n\n\tconst navigate = useNavigate();\n\tconst { setAuth } = useAuthContext();\n\n\tconst [open, setOpen] = React.useState(false);\n\tconst matches = useMediaQuery(theme.breakpoints.up(\"md\"));\n\t/**\n\t * @function login\n\t * Faz a chamda da função postLogin passando data por paramentro, caso a requisição der certo seta data recebido da requisição no AuthContext, seta um valor no sessionStorage com o nome da chave de token e faz uma mudança de rota para /.\n\t * @param {LoginData} data -\n\t */\n\tasync function login(data: any) {\n\t\tsetOpen(true);\n\t\tpostLogin(data)\n\t\t\t.then((data) => {\n\t\t\t\tlocalStorage.setItem(\"@app-jobs:token\", JSON.stringify(data));\n\t\t\t\tsetAuth(data);\n\t\t\t\tnavigate(\"/\");\n\t\t\t})\n\t\t\t.catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t})\n\t\t\t.finally(() => setOpen(false));\n\t}\n\n\tconst handleSubmit = (event: React.FormEvent) => {\n\t\tevent.preventDefault();\n\t\tconst data = new FormData(event.currentTarget);\n\t\tlogin({\n\t\t\temail: data.get(\"email\"),\n\t\t\tpassword: data.get(\"password\"),\n\t\t});\n\t};\n\n\tconst [showPassword, setShowPassword] = React.useState(false);\n\n\tconst togglePasswordVisibility = () => {\n\t\tsetShowPassword((prevShowPassword) => !prevShowPassword);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tConecte-se com mais de 30 mil talentos\n\t\t\t\t\t\t\t
em todo o Brasil\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAnuncie suas vagas\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{showPassword ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel=\"Permanecer conectado\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/* TODO: Verificar se o recurso de recuperar senha está disponível */}\n\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEsqueceu sua senha?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\"Não possui uma conta? Inscreva-se\"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\"Continuar como aluno\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","import { Visibility, VisibilityOff } from \"@mui/icons-material\";\nimport {\n\tBackdrop,\n\tCircularProgress,\n\tDivider,\n\tIconButton,\n\tInputAdornment,\n\tuseMediaQuery,\n\tuseTheme,\n} from \"@mui/material\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Grid from \"@mui/material/Grid\";\nimport TextField from \"@mui/material/TextField\";\nimport Typography from \"@mui/material/Typography\";\nimport * as React from \"react\";\nimport toast from \"react-hot-toast\";\nimport { useNavigate } from \"react-router\";\nimport { Link } from \"react-router-dom\";\nimport { useAuthContext } from \"../../../context/Authentication/hooks/useAuth\";\nimport { usePalcoProfissional } from \"../../../context/PalcoProfissional\";\nimport {\n\tpostLoginAlunoPalcoVirtual,\n\tpostLoginStudent,\n} from \"../../../services/login\";\n\nexport default function SignInAluno() {\n\tconst theme = useTheme();\n\tconst matches = useMediaQuery(theme.breakpoints.up(\"md\"));\n\tconst navigate = useNavigate();\n\tconst { dispatch } = usePalcoProfissional();\n\tconst { setAuth } = useAuthContext();\n\n\tconst [open, setOpen] = React.useState(false);\n\tconst handleSubmit = (event: React.FormEvent) => {\n\t\tevent.preventDefault();\n\t\tconst data = new FormData(event.currentTarget);\n\t\tlogin({\n\t\t\tra: data.get(\"ra\"),\n\t\t\tpassword: data.get(\"password\"),\n\t\t});\n\t};\n\n\tasync function login(data: any) {\n\t\tsetOpen(true);\n\n\t\ttry {\n\t\t\tconst alunoPalcoVirtualRes = await postLoginAlunoPalcoVirtual(data);\n\n\t\t\tif (alunoPalcoVirtualRes.status === 401) {\n\t\t\t\tthrow new Error(\"Unauthorized\"); // Throw an error if status is 401\n\t\t\t}\n\n\t\t\tdelete alunoPalcoVirtualRes.config;\n\t\t\tlocalStorage.setItem(\n\t\t\t\t\"@palco-profissional:token\",\n\t\t\t\tJSON.stringify(alunoPalcoVirtualRes)\n\t\t\t);\n\n\t\t\tlocalStorage.setItem(\n\t\t\t\t\"@palco-profissional:state\",\n\t\t\t\tJSON.stringify(alunoPalcoVirtualRes.data)\n\t\t\t);\n\n\t\t\tdispatch({\n\t\t\t\taction: \"restore_state\",\n\t\t\t\tpayload: alunoPalcoVirtualRes.data,\n\t\t\t});\n\n\t\t\tconst studentData = await postLoginStudent(data);\n\t\t\tlocalStorage.setItem(\n\t\t\t\t\"@app-jobs:token\",\n\t\t\t\tJSON.stringify(studentData)\n\t\t\t);\n\t\t\tsetAuth(studentData);\n\t\t\tnavigate(\"/\");\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\ttoast.error(\"Falha ao autenticar\");\n\t\t} finally {\n\t\t\tsetOpen(false);\n\t\t}\n\t}\n\n\tconst [showPassword, setShowPassword] = React.useState(false);\n\n\tconst togglePasswordVisibility = () => {\n\t\tsetShowPassword((prevShowPassword) => !prevShowPassword);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPotencialize sua carreira explorando oportunidades\n\t\t\t\t\t\t\t
únicas, abrindo novos caminhos para seu\n\t\t\t\t\t\t\tcrescimento\n\t\t\t\t\t\t\t
profissional.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDescubra novas oportunidades\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{showPassword ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel=\"Permanecer conectado\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEsqueceu sua senha?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{/* Usuário do tipo aluno não cria conta por meio da plataforma Jobs */}\n\t\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\"Não possui uma conta? Inscreva-se\"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\"Continuar como administrador\"}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n\nfunction Copyright(props: any) {\n\treturn (\n\t\t\n\t\t\t{\"Copyright © \"}\n\t\t\t\n\t\t\t\tUNINTA\n\t\t\t{\" \"}\n\t\t\t{new Date().getFullYear()}\n\t\t\t{\".\"}\n\t\t\n\t);\n}\n","import { CssBaseline } from \"@mui/material\";\nimport React, { Fragment } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\nimport FormularioForgotPassword from \"../components/Formularios/FormularioForgotPassword\";\nimport FormularioLoginAluno from \"../components/Formularios/FormularioLoginAluno\";\nimport FormularioRecoverPassword from \"../components/Formularios/FormularioRecoverPassword\";\nimport Login from \"../pages/Public/Login\";\nimport NotFound from \"../pages/Public/NotFound\";\nimport SignInAdministrador from \"../pages/Public/SignIn/SignInAdministrador\";\nimport SignInAluno from \"../pages/Public/SignIn/SignInAluno\";\nimport SignUp from \"../pages/Public/SignUp\";\n\nconst PublicRouter = (email): React.ReactElement => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t} />\n\t\t\t\t} />\n\t\t\t\t} />\n\t\t\t\t} />\n\t\t\t\t} />\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t} />\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PublicRouter;\n","import React from \"react\";\nimport { useAuthContext } from \"../context/Authentication/hooks/useAuth\";\nimport AdminRouter from \"./Admin.router\";\nimport { AlunoRouter } from \"./Aluno.router\";\nimport EmpresaRouter from \"./Empresa.router\";\nimport PublicRouter from \"./Public.router\";\n\n/**\n *\n * @returns Rotas da aplicação de acordo com o nível de ensino do usuário\n */\nconst Routes = (): React.ReactElement => {\n\tconst { auth } = useAuthContext();\n\n\tswitch (auth.role) {\n\t\tcase \"admin\":\n\t\t\treturn ;\n\t\tcase \"representante_empresa\":\n\t\t\treturn ;\n\t\tcase \"ALUNO\":\n\t\t\treturn ;\n\t\tdefault:\n\t\t\treturn ;\n\t}\n};\n\nexport default Routes;\n","import { CssBaseline } from \"@material-ui/core\";\nimport { ThemeProvider } from \"@mui/material\";\nimport React from \"react\";\nimport { Toaster } from \"react-hot-toast\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { useTheming } from \"./context/Theming\";\nimport Routes from \"./routes\";\nimport { createTheme } from \"./theme\";\n\n/**\n *\n * - Responsável por importar o objeto com as Rotas(páginas) do projeto\n *\n * - Responsável por definir o objeto com o tema no modo claro e no modo escuro do projeto\n */\nexport function AppRoot() {\n\tconst { dark } = useTheming();\n\tconst theme = createTheme(dark);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { pink } from \"@material-ui/core/colors\";\nimport { createTheme as createMuiTheme } from \"@mui/material\";\nimport { orange, red } from \"@mui/material/colors\";\n\n/**\n * \n * @param dark \n * @returns responsável por criar objeto de tema e alternar entre modo claro e modo escuro\n * \n * - define paleta de cores, fontes tipográficas, formas geométricas e estilo da barra de rolagem\n */\nexport const createTheme = (dark: boolean) => {\n\treturn createMuiTheme({\n\t\tpalette: {\n\t\t\tmode: dark ? \"dark\" : \"light\",\n\t\t\tbackground: {\n\t\t\t\tdefault: dark ? \"#080808\" : \"#f8f8f8\",\n\t\t\t},\n\t\t\tprimary: {\n\t\t\t\tmain: dark ? red[900] : red[900],\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\tmain: dark ? pink[\"A400\"] : orange[500],\n\t\t\t},\n\t\t},\n\t\tshape: {\n\t\t\tborderRadius: 12,\n\t\t},\n\t\t// typography: {\n\t\t// \th5: {\n\t\t// \t\tfontFamily: [\"Space Grotesk\", \"sans-serif\"].join(),\n\t\t// \t},\n\t\t// \th4: {\n\t\t// \t\tfontFamily: [\"Space Grotesk\", \"sans-serif\"].join(),\n\t\t// \t},\n\t\t// },\n\t\tcomponents: {\n\t\t\tMuiCssBaseline: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\t\"::-webkit-scrollbar\": {\n\t\t\t\t\t\twidth: \"12px\",\n\t\t\t\t\t},\n\t\t\t\t\t\"::-webkit-scrollbar-thumb\": {\n\t\t\t\t\t\tbackgroundColor: dark ? \"#212121\" : \"#c4c4c4\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n};\n","import React, { createContext, useState } from \"react\";\nimport { PropsDrawerContext } from \"./models/DrawerPropsType\";\n\nconst DEFAULT_VALUE = {\n drawer: false,\n setDrawer: () => { },\n}\n\nexport const DrawerContext = createContext(DEFAULT_VALUE);\n\nexport const DrawerContextProvider: React.FC = ({ children }) => {\n const [drawer, setDrawer] = useState(false);\n\n return (\n \n {children}\n \n )\n}","import { AppRoot } from \"./AppRoot\";\nimport { AuthContextProvider } from \"./context/Authentication/auth.context\";\nimport { DrawerContextProvider } from \"./context/Drawer/drawer.context\";\nimport { PalcoProfissionalProvider } from \"./context/PalcoProfissional\";\nimport { PalcoProfissionalRootProvider } from \"./context/PalcoProfissionalPage\";\nimport { SessionProvider } from \"./context/session/SessionProvider\";\nimport { ThemingProvider } from \"./context/Theming\";\n\n/**\n *\n * - Responsável por encapsular e exportar o App do JOBS\n *\n * - Adiciona os providers utilizados em todo o projeto em volta dos componente principal do projeto\n */\nfunction App() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nReactDOM.render(\n\t\n\t\t\n\t,\n\tdocument.getElementById(\"root\")\n);\n"],"sourceRoot":""}