{"version":3,"sources":["./src/app/editar-perfil/editar-perfil.component.ts","./src/app/editar-perfil/editar-perfil.component.html","./src/app/player/player.component.ts","./src/app/player/player.component.html","crypto (ignored)","./src/app/detalhes-material/detalhes-material.component.ts","./src/app/detalhes-material/detalhes-material.component.html","./src/app/questoes/questoes.component.ts","./src/app/questoes/questoes.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/environments/environment.ts","./src/app/cronograma/cronograma.component.ts","./src/app/cronograma/cronograma.component.html","./src/app/services/aprova-api-helper.service.ts","./src/app/resultado-simulado/resultado-simulado.component.ts","./src/app/resultado-simulado/resultado-simulado.component.html","./src/app/simulados/simulados.component.ts","./src/app/simulados/simulados.component.html","./src/app/lex-login/lex-login.component.ts","./src/app/lex-login/lex-login.component.html","./src/app/resolucao/resolucao.component.ts","./src/app/resolucao/resolucao.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/detalhes-curso/detalhes-curso.component.ts","./src/app/detalhes-curso/detalhes-curso.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/video-aulas/video-aulas.component.ts","./src/app/video-aulas/video-aulas.component.html","./src/app/app.module.ts","./src/app/pan-drag.directive.ts","./src/app/materiais-apoio/materiais-apoio.component.ts","./src/app/materiais-apoio/materiais-apoio.component.html","./src/app/header/header.component.ts","./src/app/header/header.component.html","./src/app/notificacoes/notificacoes.component.ts","./src/app/notificacoes/notificacoes.component.html","./src/app/pipes/truncate.pipe.ts","./src/app/nav/nav.component.ts","./src/app/nav/nav.component.html","./src/app/simulado-questoes/simulado-questoes.component.ts","./src/app/simulado-questoes/simulado-questoes.component.html","./src/app/jornada/jornada.component.ts","./src/app/jornada/jornada.component.html","./src/app/mobile-nav/mobile-nav.component.ts","./src/app/mobile-nav/mobile-nav.component.html","./src/app/app-init.ts","./src/app/app-routing.module.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/services/route-change.service.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n@Component({\n selector: 'app-editar-perfil',\n templateUrl: './editar-perfil.component.html',\n styleUrls: ['./editar-perfil.component.css'],\n})\nexport class EditarPerfilComponent implements OnInit {\n userPhotoUrl = './../assets/img/home/User-Pic.svg';\n userName: string;\n user_email: string;\n user_phoneNumber: string;\n\n @ViewChild('inputFile') inputFile: ElementRef;\n\n constructor(private aprovaApiHelper: AprovaApiHelper) {}\n\n phoneNumberValidator(value: string): boolean {\n if (!value) {\n return false;\n }\n \n const regex = new RegExp(/^\\(?([1-9]{2})\\)?[-. ]?([2-9][0-9]{3,4})[-. ]?([0-9]{4,5})$/);\n const isValid = regex.test(value);\n \n return isValid;\n }\n\n formatPhoneNumber(event) {\n let inputValue = event.target.value.replace(/\\D/g, '');\n if (inputValue.length > 11) {\n inputValue = inputValue.substring(0, 11);\n }\n\n if (inputValue.length >= 7) {\n inputValue = inputValue.replace(/(\\d{2})(\\d{4})(\\d{4})/, '($1) $2-$3');\n } else if (inputValue.length >= 2) {\n inputValue = inputValue.replace(/(\\d{2})(\\d{5})/, '($1) $2');\n }\n\n event.target.value = inputValue;\n }\n\n ngOnInit(): void {\n this.userPhotoUrl = localStorage.getItem('user_photoURL');\n this.userName = localStorage.getItem('user_fullname');\n this.user_email = localStorage.getItem('user_email');\n this.user_phoneNumber = localStorage\n .getItem('user_phoneNumber')\n .substring(3);\n }\n\n switchTab(event) {\n event.preventDefault();\n const currentTab = document.querySelector('.tab-link.current');\n currentTab.classList.remove('current');\n event.target.classList.add('current');\n\n const dataTab = event.target.getAttribute('data-tab');\n\n const currentContent = document.querySelector('.tab-content.current');\n currentContent.classList.remove('current');\n\n const contentTab = document.querySelector(`#${dataTab}`);\n contentTab.classList.add('current');\n }\n\n saveData(event) {\n event.preventDefault();\n\n let name = (document.getElementById('input-name')).value;\n let phoneNumber = (document.getElementById('input-contact')).value;\n\n if (!this.phoneNumberValidator(phoneNumber)) {\n alert('Por gentileza, insira um número de telefone válido.');\n return;\n }\n\n this.aprovaApiHelper\n .getAPIData('POST', this.aprovaApiHelper.baseURL + 'users/update', {\n phone: '+55' + phoneNumber,\n name: name,\n })\n .then(() => {\n alert('Suas alterações foram salvas com sucesso!');\n document.location.reload();\n })\n .catch(() => {\n alert(\n 'Ocorreu um erro. Verifique se seu telefone já está sendo usado por outra conta e tente novamente'\n );\n document.location.reload();\n });\n }\n\n changePassword(event) {\n event.preventDefault();\n }\n\n uploadPhoto(files: FileList) {\n if (files && files[0]) {\n const file = files[0];\n const reader = new FileReader();\n\n reader.readAsDataURL(file);\n reader.onload = () => {\n this.userPhotoUrl = reader.result as string;\n };\n\n const data = new FormData();\n data.append('file', file);\n\n const imgname = file.name;\n const size = file.size;\n const ext = imgname.substr(imgname.lastIndexOf('.') + 1);\n\n if (\n ext === 'jpg' ||\n ext === 'jpeg' ||\n ext === 'png' ||\n ext === 'gif' ||\n ext === 'PNG' ||\n ext === 'JPG' ||\n ext === 'JPEG'\n ) {\n this.aprovaApiHelper\n .uploadPhoto(data)\n .toPromise()\n .then(() => {\n document.location.reload();\n });\n }\n }\n }\n}\n","
\n
\n \n

Editar perfil

\n
\n
\n\n
\n
\n
\n \"\"\n Alterar foto\n \n
\n\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DomSanitizer } from '@angular/platform-browser';\n\ndeclare var Vimeo: any;\n\n@Component({\n selector: 'app-player',\n templateUrl: './player.component.html',\n styleUrls: ['./player.component.css'],\n})\nexport class PlayerComponent implements OnInit {\n id: string;\n video: any;\n categoryVideos: any;\n safeVideoSource: any;\n videoPlayer: any;\n videoUrl: string;\n @ViewChild('myVideo', { static: true }) myVideo: ElementRef;\n count: number = 0;\n title: string = '';\n courseTime:string = '0h 0min';\n\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private activatedRoute: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private router: Router\n ) {}\n\n private async getVideoById(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'videos/' + id\n );\n resolve(data);\n });\n }\n\n\n segundosParaHorasMinutos(segundos) {\n const minutos = Math.floor(segundos / 60);\n const horas = Math.floor(minutos / 60);\n const minutosRestantes = minutos % 60;\n \n let resultado = \"\";\n if (horas > 0) {\n resultado += horas + \"h \";\n }\n if (minutosRestantes > 0 || horas === 0) {\n resultado += minutosRestantes + \"min\";\n }\n \n return resultado;\n }\n\n private async getVideosByCategoryId(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'videos?categoryId=' + id\n );\n\n let totalSeconds: number = 0;\n data.forEach((element) => {\n totalSeconds += Number(element.duration);\n })\n\n this.courseTime = this.segundosParaHorasMinutos(totalSeconds);\n resolve(data);\n });\n }\n\n async ngOnInit() {\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\n this.video = await this.getVideoById(this.id);\n this.title = this.video.title;\n\n this.categoryVideos = await this.getVideosByCategoryId(\n this.video.categoryId\n );\n\n this.categoryVideos.forEach((element) => { \n if (element.id === this.id) {\n element.currentVideo = true;\n }\n })\n\n this.safeVideoSource = this.sanitizer.bypassSecurityTrustResourceUrl(\n `https://player.vimeo.com/video/${this.video.url}`\n );\n\n this.startVideo(this.video.url);\n }\n\n startVideo(video) {\n const url = `https://player.vimeo.com/video/${video}`;\n\n const options = {\n url,\n width: window.innerWidth,\n height: window.innerHeight,\n speed: true,\n };\n\n this.videoPlayer = new Vimeo.Player(this.myVideo.nativeElement, options);\n\n\n if (this.id === localStorage.getItem('user_lastwatched_video_id')) {\n console.log('Played the video time set');\n\n let seconds = localStorage.getItem( \"user_lastwatched_video_time\" );\n this.videoPlayer.setCurrentTime(seconds);\n }\n\n\n this.videoPlayer.on('timeupdate', (data) => {\n if (this.count > 4 * 1 * 5) {\n this.count = 0;\n localStorage.setItem('user_lastwatched_video_id', this.id);\n localStorage.setItem('user_lastwatched_video_time', data.seconds);\n localStorage.setItem('user_lastwatched_video_percent', String(Math.floor(data.percent * 100)));\n }\n\n this.count++;\n });\n\n this.videoPlayer.play();\n }\n \n redirectTo(id: string) {\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['/player', id]);\n });\n }\n\n goBack(event) {\n event.preventDefault();\n this.router.navigate(['/detalhes-curso', this.video.categoryId]);\n }\n}\n","
\n
\n \n

Video Aulas

\n
\n
\n
\n
\n \n \"\"\n

{{ title }}

\n
\n
\n
\n
\n\n \n
\n\n
\n
\n \n\n
\n
\n
","/* (ignored) */","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n\n@Component({\n selector: 'app-detalhes-material',\n templateUrl: './detalhes-material.component.html',\n styleUrls: ['./detalhes-material.component.css']\n})\nexport class DetalhesMaterialComponent implements OnInit, AfterViewInit {\n safeSrc: any = this.sanitizer.bypassSecurityTrustResourceUrl('');\n \n constructor(private sanitizer: DomSanitizer, private aprovaApiHelper: AprovaApiHelper, private activatedRoute: ActivatedRoute) { }\n\n private async getMaterialById(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'materials/' + id);\n \n resolve(data);\n });\n }\n\n async ngAfterViewInit() {\n let id = this.activatedRoute.snapshot.paramMap.get('id');\n let data: any = await this.getMaterialById(id);\n this.prepareFrame(data.file_url + '#toolbar=0');\n }\n\n ngOnInit(): void {\n }\n\n prepareFrame(src) {\n this.safeSrc = this.sanitizer.bypassSecurityTrustResourceUrl(`${src}`);\n }\n\n}\n","
\n\n
\n\n \n\n

Materiais de Apoio

\n\n
\n\n
\n\n
\n\n \n\n
\n","import {\n Component,\n OnInit,\n Renderer2,\n OnDestroy,\n ElementRef,\n} from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\n\ndeclare var ModalVideo: any;\n\ninterface FilterValue {\n names: string[];\n values: string[];\n}\n\ninterface Filter {\n filterType: FilterValue;\n exam: FilterValue;\n subjectId: FilterValue;\n categoryId: FilterValue;\n subcategoryId: FilterValue;\n difficultyLevel: FilterValue;\n page: number;\n}\n@Component({\n selector: 'app-questoes',\n templateUrl: './questoes.component.html',\n styleUrls: ['./questoes.component.css'],\n host: {\n '(document:click)': 'onClickOutside($event)',\n },\n})\nexport class QuestoesComponent implements OnInit, OnDestroy {\n private clickListener: () => void;\n subjects: any;\n categories: Array = [];\n subCategories: Array = [];\n isFilterOpen: boolean = false;\n isFilterMenuOpen: number = 0;\n totalPages: number = 0;\n exerciseImageWidth: number;\n isLoading: boolean = false;\n errorCount: number = 0;\n\n emptyFilter: Filter;\n filter: Filter;\n currentFilter: Filter;\n\n questionId: string;\n currentExercise: any;\n currentAnswers: any;\n selectedOption: number = 0;\n answered: any = null;\n videoId: string = null;\n\n pan: {\n active: boolean;\n originX: number;\n originScrollX: number;\n } = {\n active: false,\n originX: undefined,\n originScrollX: undefined,\n };\n\n search = '';\n showOptions = false;\n searchChanged = new Subject();\n subscription: Subscription;\n filteredOptions: object[] = [];\n\n constructor(\n private renderer: Renderer2,\n private aprovaApiHelper: AprovaApiHelper,\n private activatedRoute: ActivatedRoute,\n private location: Location,\n private el: ElementRef,\n private router: Router\n ) {\n this.emptyFilter = this.createEmptyFilter();\n this.filter = this.createEmptyFilter();\n this.currentFilter = this.createEmptyFilter();\n }\n\n\n private createEmptyFilter(): Filter {\n return {\n filterType: { names: [], values: [] },\n exam: { names: [], values: [] },\n subjectId: { names: [], values: [] },\n categoryId: { names: [], values: [] },\n subcategoryId: { names: [], values: [] },\n difficultyLevel: { names: [], values: [] },\n page: 0,\n };\n }\n\n private async getSubjects(): Promise {\n return new Promise(async (resolve, reject) => {\n this.aprovaApiHelper\n .getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'subjects?onlyWithExercises=true'\n )\n .then((data: any) => {\n this.subjects = data;\n resolve();\n });\n });\n }\n\n private async getCategories(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'categories?subjectId=' + id\n );\n\n data.sort((a, b) => {\n if (a.allowed && !b.allowed) {\n return -1;\n }\n if (!a.allowed && b.allowed) {\n return 1;\n }\n return 0;\n });\n\n data.forEach((element) => {\n this.categories.push(element);\n });\n resolve();\n });\n }\n\n private async getSubCategories(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL +\n 'exercises/subcategories?categoryId=' +\n id\n );\n data.forEach((element) => {\n this.subCategories.push(element);\n });\n resolve();\n });\n }\n\n private async getExerciseById(id): Promise {\n return new Promise(async (resolve, reject) => {\n this.isLoading = true;\n\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'exercises/' + id\n );\n\n try {\n this.currentFilter.page = 0;\n this.totalPages = 1;\n this.currentExercise = {};\n this.currentExercise = data.exercise;\n\n if (typeof data.exercise.videoUrl === 'string') {\n this.videoId = data.exercise.videoUrl.replace(\n 'https://vimeo.com/',\n ''\n );\n } else {\n this.videoId = null;\n }\n\n this.currentAnswers = {};\n this.currentAnswers = data.answers;\n this.answered = data.answered;\n this.selectedOption = 0;\n this.isLoading = false;\n resolve();\n } catch (e) {\n alert(\n 'Desculpe, não foram encontradas questões correspondentes aos critérios de filtragem especificados.'\n );\n\n return this.getExercises(this.emptyFilter);\n }\n });\n }\n\n private async getExercises(filter: Filter): Promise {\n return new Promise(async (resolve, reject) => {\n this.isLoading = true;\n\n const filteredParams = {};\n\n for (const key in filter) {\n if (\n filter[key].hasOwnProperty('values') &&\n Array.isArray(filter[key].values)\n ) {\n filteredParams[`${key}`] = filter[key].values.join(',');\n } else {\n filteredParams[key] = filter[key].toString();\n }\n }\n\n const queryParams = new URLSearchParams(filteredParams);\n\n const data: any = await this.aprovaApiHelper\n .getAPIData(\n 'GET',\n `${this.aprovaApiHelper.baseURL}exercises?${queryParams.toString()}`\n )\n .catch((error) => {\n console.log(error);\n });\n\n try {\n this.currentFilter = filter;\n this.totalPages = data.pagination.totalPages;\n this.currentExercise = {};\n this.currentExercise = data.exercise;\n\n if (typeof data.exercise.videoUrl === 'string') {\n this.videoId = data.exercise.videoUrl.replace(\n 'https://vimeo.com/',\n ''\n );\n } else {\n this.videoId = null;\n }\n\n this.currentAnswers = {};\n this.currentAnswers = data.answers;\n this.answered = data.answered;\n this.selectedOption = 0;\n this.isLoading = false;\n this.errorCount = 0;\n resolve();\n } catch (e) {\n if (this.errorCount > 0) {\n alert('Este conteúdo não está disponível para sua escola');\n this.router.navigate(['/index']);\n return;\n }\n this.errorCount++;\n alert(\n 'Desculpe, não foram encontradas questões correspondentes aos critérios de filtragem especificados.'\n );\n\n return this.getExercises(this.emptyFilter);\n }\n });\n }\n\n updateImageSize() {\n this.el.nativeElement.querySelector(\n '#exerciseImageSource'\n ).style.width = `${this.exerciseImageWidth}px`;\n }\n\n onSearchChange(searchValue: string): void {\n this.searchChanged.next(searchValue);\n }\n\n onClickOutside(event: Event) {\n /* console.log(event.target['classList'].contains('search-input')) */\n if (event.target['classList'].contains('search-input')) {\n this.showOptions = true;\n } else {\n this.showOptions = false;\n }\n }\n\n async getQuestionByText(id) {\n await this.getExerciseById(id);\n }\n\n async ngOnInit() {\n this.subscription = this.searchChanged\n .pipe(\n debounceTime(1000),\n switchMap(async (searchValue: string) => {\n this.filteredOptions = [];\n this.showOptions = true;\n\n if (searchValue.length === 0) {\n\n await this.getExercises(this.emptyFilter);\n return [];\n }\n\n return this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL +\n 'exercises/search?query=' + encodeURIComponent(searchValue || '')\n ).catch( (err) => { \n return [];\n })\n })\n )\n .subscribe((results: any) => {\n for (let i = 0; i < results.length; i++) {\n const text = results[i].question_image_ocr_text;\n let truncatedText = text.substring(0, 80);\n\n if (text.length > 80) {\n truncatedText += '...';\n }\n this.filteredOptions.push({\n text: truncatedText,\n id: results[i].id,\n exam: results[i].exam,\n });\n }\n });\n\n new ModalVideo('.video-resolucao', { channel: 'vimeo' });\n\n this.clickListener = this.renderer.listen('document', 'click', (event) => {\n const filtroQuestoes = document.getElementsByClassName('filtro-questoes');\n\n if (!filtroQuestoes[0].contains(event.target)) {\n this.isFilterMenuOpen = 0;\n }\n });\n\n await this.getSubjects();\n\n this.activatedRoute.queryParams.subscribe(\n async ({\n filterType,\n exam,\n difficultyLevel,\n subjectId,\n categoryId,\n subcategoryId,\n page,\n }) => {\n let filter: Filter = {\n filterType: {\n names: [],\n values: filterType ? filterType.split(',') : [],\n },\n exam: { names: [], values: exam ? exam.split(',') : [] },\n difficultyLevel: {\n names: [],\n values: difficultyLevel ? difficultyLevel.split(',') : [],\n },\n subjectId: {\n names: [],\n values: subjectId ? subjectId.split(',') : [],\n },\n categoryId: {\n names: [],\n values: categoryId ? categoryId.split(',') : [],\n },\n subcategoryId: {\n names: [],\n values: subcategoryId ? subcategoryId.split(',') : [],\n },\n page: page ? parseInt(page) : 0,\n };\n\n this.getExercises(filter);\n }\n );\n }\n\n ngOnDestroy() {\n this.clickListener();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n toggleFilter() {\n this.isFilterOpen = !this.isFilterOpen;\n }\n\n toggleFilterMenu(item) {\n if (this.isFilterMenuOpen === item) {\n this.isFilterMenuOpen = 0;\n return;\n }\n this.isFilterMenuOpen = item;\n }\n\n async setFilter(event, type, name, value) {\n event.preventDefault();\n\n let indexValue = this.filter[type].values.indexOf(value);\n let indexName = this.filter[type].names.indexOf(name);\n\n if (\n type === 'filterType' &&\n this.filter.filterType.names.length === 1 &&\n indexValue !== 1\n ) {\n this.filter.filterType = {\n names: [],\n values: [],\n };\n }\n\n if (indexValue !== -1) {\n this.filter[type].values.splice(indexValue, 1);\n } else {\n this.filter[type].values.push(value);\n }\n\n if (indexName !== -1) {\n this.filter[type].names.splice(indexName, 1);\n } else {\n this.filter[type].names.push(name);\n }\n\n if (type === 'subjectId' && indexValue === -1) {\n await this.getCategories(value);\n }\n\n if (type === 'subjectId' && indexValue !== -1) {\n this.categories = this.categories.filter((course) => {\n const category = this.filter.categoryId.values.indexOf(course.id);\n if (category !== -1 && course.subjectId === value) {\n this.filter.categoryId.values.splice(category, 1);\n const nameIndex = this.filter.categoryId.names.indexOf(course.name);\n this.filter.categoryId.names.splice(nameIndex, 1);\n }\n return course.subjectId !== value;\n });\n\n this.subCategories = this.subCategories.filter((subCategory) => {\n const category = this.filter.subcategoryId.values.indexOf(\n subCategory.id\n );\n if (category !== -1 && subCategory.subjectName === name) {\n this.filter.subcategoryId.values.splice(category, 1);\n const nameIndex = this.filter.subcategoryId.names.indexOf(\n subCategory.name\n );\n this.filter.subcategoryId.names.splice(nameIndex, 1);\n }\n return subCategory.subjectName !== name;\n });\n }\n\n if (type === 'categoryId' && indexValue === -1) {\n await this.getSubCategories(value);\n }\n\n if (type === 'categoryId' && indexValue !== -1) {\n this.subCategories = this.subCategories.filter((subCategory) => {\n const category = this.filter.subcategoryId.values.indexOf(\n subCategory.id\n );\n if (category !== -1 && subCategory.categoryId === value) {\n this.filter.subcategoryId.values.splice(category, 1);\n const nameIndex = this.filter.subcategoryId.names.indexOf(\n subCategory.name\n );\n this.filter.subcategoryId.names.splice(nameIndex, 1);\n }\n return subCategory.categoryId !== value;\n });\n }\n\n console.log(this.filter);\n }\n\n cleanFilter(event, type) {\n event.preventDefault();\n this.filter[type].values = [];\n this.filter[type].names = [];\n }\n\n addFilterInUrl() {\n const currentUrl = this.location.path();\n if (currentUrl.indexOf('?') !== -1) {\n this.location.replaceState(currentUrl.split('?')[0]);\n }\n\n const filteredParams = {};\n\n for (const key in this.currentFilter) {\n if (\n this.currentFilter[key].hasOwnProperty('values') &&\n Array.isArray(this.currentFilter[key].values)\n ) {\n filteredParams[`${key}`] = this.currentFilter[key].values.join(',');\n } else {\n filteredParams[key] = this.currentFilter[key].toString();\n }\n }\n\n const queryParams = new URLSearchParams(filteredParams);\n this.location.go(`${this.location.path()}?${queryParams.toString()}`);\n }\n\n async runFilter() {\n if (this.questionId) {\n await this.getExerciseById(this.questionId.toString());\n this.questionId = null;\n this.isFilterOpen = false;\n return;\n }\n\n await this.getExercises(Object.assign({}, this.filter));\n this.isFilterOpen = false;\n this.addFilterInUrl();\n }\n\n async changePage(event, value: number) {\n event.preventDefault();\n this.currentFilter.page += value;\n\n await this.getExercises(Object.assign({}, this.currentFilter));\n this.addFilterInUrl();\n }\n\n get pageAsInt() {\n return this.currentFilter.page;\n }\n\n getLetter(index: number): string {\n return String.fromCharCode(65 + index);\n }\n\n selectOption(itemId) {\n this.selectedOption = itemId;\n }\n\n async answerQuestion() {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'POST',\n this.aprovaApiHelper.baseURL + 'exercises/answer',\n {\n alternativeId: this.selectedOption,\n exerciseId: this.currentExercise.id,\n }\n );\n\n this.answered = {\n alternativeId: this.selectedOption,\n correct: data.correct,\n };\n\n if (typeof data.videoUrl === 'string') {\n this.videoId = data.videoUrl.replace('https://vimeo.com/', '');\n }\n }\n\n getImageDimensions(event) {\n const imgWidth = event.target.naturalWidth;\n this.exerciseImageWidth = imgWidth;\n }\n}\n","
\n
\n \n

Questões

\n
\n
\n

Encontre e responda várias questões de Matemática, Física e Química

\n
\n
\n\n
\n
\n
\n \n\n
\n \n
\n
    \n \n {{ option.exam }} - {{ option.text }}\n \n
\n
\n
\n\n \n \n \"\"\n Ver Resolução em Vídeo\n \n
\n
\n
    \n
  • \n \n\n
    \n
    \n \n
    \n Todas as questões\n \n \n\n \n
    \n Não respondidas\n \n \n \n
    \n Respondidas\n \n \n
    \n
    \n
  • \n\n
  • \n \n
    \n
    \n \n
    \n Todos os Exames\n \n \n\n \n
    \n SAT\n \n \n\n \n
    \n ENEM\n \n \n \n
    \n ENEM DIGITAL\n \n \n \n
    \n UERJ\n \n \n \n
    \n ESPM\n \n \n \n
    \n FGV ECONO\n \n \n \n
    \n FGV EAESP\n \n \n \n
    \n FUVEST\n \n \n \n
    \n INSPER\n \n \n \n
    \n Mackenzie\n \n \n
    \n
    \n
  • \n\n
  • \n \n
    \n
    \n \n
    \n Aplicação\n \n \n \n
    \n Fácil\n \n \n \n
    \n Médio\n \n \n \n
    \n Difícil\n \n \n
    \n
    \n
  • \n\n
  • \n \n
    \n
    \n \n
    \n {{ item.name }}\n \n
    \n
    \n
  • \n\n
  • \n \n {{\n filter.categoryId.names.length > 0\n ? (filter.categoryId.names.join(\", \") | truncate : 25)\n : \"Selecione a Categoria\"\n }}\n \"\"\n \n
    \n
    \n \n
    \n {{ item.name }}\n \n
    \n
    \n
  • \n\n
  • \n \n {{\n filter.subcategoryId.names.length > 0\n ? (filter.subcategoryId.names.join(\", \") | truncate : 25)\n : \"Selecione a Subcategoria\"\n }}\n \"\"\n \n
    \n
    \n \n
    \n {{ item.name }}\n \n
    \n
    \n
  • \n\n
  • \n \n
  • \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n

\n Questão: {{ currentExercise?.exam }} / {{ currentExercise?.id }}\n

\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n

Resposta

\n
\n

{{ currentExercise?.questionText }}

\n
\n \n
\n {{ getLetter(i) }}\n

{{ item.alternativeText }}

\n \n
\n
\n
\n \n Responder\n \n\n
\n \"\"\n

Resposta incorreta! Avance para próxima pergunta.

\n
\n\n
\n \"\"\n
\n Responder\n

Resposta correta!

\n
\n
\n \n
\n\n \n
\n
\n
\n \n
\n Anterior\n \n

\n Questões disponíveis\n {{ pageAsInt + 1 }} de {{ totalPages }}\n

\n \n \n Próximo\n
\n \n
\n\n","import {\n Component,\n OnInit,\n AfterViewInit,\n ViewChildren,\n QueryList,\n} from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { Router } from '@angular/router';\n\ndeclare var Swiper: any;\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css'],\n})\nexport class HomeComponent implements OnInit, AfterViewInit {\n @ViewChildren('novidades') novidades: QueryList;\n categories: any;\n ranking: any;\n userName: string = '';\n openModalMeta = false;\n videoName: string = 'Análise Combinatória - Introdução';\n videoWidth: number = 0;\n videoPercent: string = '0';\n completedDays: number = 0;\n\n metaInfos = {\n goal: 5,\n message: '',\n };\n\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private router: Router\n ) {}\n\n ngAfterViewInit() {\n this.novidades.changes.subscribe((boxes) => {\n this.createSlides();\n });\n }\n\n createSlides(): void {\n new Swiper('.slide-lancamento', {\n speed: 1000,\n slidesPerView: 5,\n spaceBetween: 20,\n navigation: {\n nextEl: '.ultimos-lancamentos .topo .ctrl-slide .btn.btn-next',\n prevEl: '.ultimos-lancamentos .topo .ctrl-slide .btn.btn-prev',\n },\n breakpoints: {\n 1692: {\n slidesPerView: 4,\n spaceBetween: 30,\n },\n 1346: {\n slidesPerView: 3,\n spaceBetween: 30,\n },\n 991: {\n slidesPerView: 3,\n spaceBetween: 20,\n },\n 768: {\n slidesPerView: 2,\n spaceBetween: 20,\n },\n 480: {\n slidesPerView: 1,\n spaceBetween: 50,\n },\n },\n });\n }\n\n private async getCurrentGoal(): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'users/daily-goal'\n );\n this.completedDays = data.completedDays || 0;\n } catch (error) {\n console.error('Failed to get current goal:', error);\n }\n }\n\n private async getCategories(): Promise {\n try {\n const data = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'categories?onlyWithVideos=true'\n );\n this.categories = data;\n } catch (error) {\n console.error('Failed to get categories:', error);\n }\n }\n\n private async getRanking(): Promise {\n try {\n const data = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'ranking/monthly'\n );\n this.ranking = data;\n const MIN_ITEMS = 10;\n const defaultItem = {\n name: '',\n photo: '../../assets/img/home/User-Pic.svg',\n username: '',\n points: 0,\n };\n while (this.ranking.length < MIN_ITEMS) {\n this.ranking.push(defaultItem);\n }\n } catch (error) {\n console.error('Failed to get ranking:', error);\n }\n }\n\n private async getDailyGoal(): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'users/daily-goal'\n );\n this.metaInfos.goal = data.value;\n switch (data.value) {\n case 5:\n this.metaInfos.message =\n '😀 5 exercícios por dia, é um ótimo começo!';\n break;\n case 6:\n this.metaInfos.message = '😀 6 exercícios por dia, é uma ótima meta!';\n break;\n case 7:\n this.metaInfos.message =\n '😀 7 exercícios por dia é só para os fortes!';\n break;\n case 8:\n this.metaInfos.message =\n '😀 8 exercícios por dia, mestre em dedicação!';\n break;\n }\n } catch (error) {\n console.error('Failed to get daily goal:', error);\n }\n }\n\n private async getVideoById(id: string): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'videos/' + id\n );\n return data;\n } catch (error) {\n console.error(`Failed to get video by ID (${id}):`, error);\n }\n }\n\n async ngOnInit() {\n console.log('home component');\n\n await Promise.all([\n this.getCurrentGoal(),\n this.getCategories(),\n this.getRanking(),\n this.getDailyGoal(),\n ]);\n\n this.userName = localStorage.getItem('user_firstname');\n\n if (localStorage.getItem('user_lastwatched_video_id')) {\n let video: any = await this.getVideoById(\n localStorage.getItem('user_lastwatched_video_id')\n );\n this.videoName = video.title;\n this.videoWidth = Number(\n localStorage.getItem('user_lastwatched_video_percent')\n );\n this.videoPercent = localStorage.getItem(\n 'user_lastwatched_video_percent'\n );\n }\n }\n\n continue(event) {\n event.preventDefault();\n\n if (localStorage.getItem('user_lastwatched_video_id')) {\n this.router.navigate([\n '/player',\n localStorage.getItem('user_lastwatched_video_id'),\n ]);\n } else {\n this.router.navigate(['/player', 'gzHt205mBKxzZ4wTiy3z']);\n }\n }\n\n editarMeta(event): void {\n event.preventDefault();\n //this.aprovaApiHelper.updateToken();\n this.openModalMeta = true;\n }\n\n closeMeta() {\n this.openModalMeta = false;\n }\n\n setGoal(goal): void {\n this.metaInfos.goal = goal;\n this.aprovaApiHelper\n .getAPIData(\n 'POST',\n this.aprovaApiHelper.baseURL + `users/daily-goal/${goal}`\n )\n .then(() => {\n switch (goal) {\n case 5:\n this.metaInfos.message =\n '😀 5 exercícios por dia, é um ótimo começo!';\n break;\n case 6:\n this.metaInfos.message =\n '😀 6 exercícios por dia, é uma ótima meta!';\n break;\n case 7:\n this.metaInfos.message =\n '😀 7 exercícios por dia é so para os fortes!';\n break;\n case 8:\n this.metaInfos.message =\n '😀 8 exercícios por dia, mestre em dedicação!';\n }\n });\n }\n\n blockAccess(event) {\n event.preventDefault();\n alert(\n 'Desculpe, este conteúdo não está disponível atualmente para a sua escola.'\n );\n }\n}\n","
\n
\n \n

Seja bem-vindo(a) à plataforma!

\n
\n
\n
\n
\n \"\"\n

Olá, {{ userName }}

\n
\n \"\"\n
\n

Vamos pontuar?

\n

\n Faça questões, pratique, aprenda e ganhe pontos para trocar em\n prêmios no fim do mês!\n \n

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

Metas diárias

\n \n
\n
\n
\n
\n

Você já completou

\n {{completedDays}} {{ completedDays === 1? \"vez\": \"vezes\" }}\n

sua meta diária

\n
\n\n
\n
\n

Mestre em dedicação 🔥

\n

\n Clique em \"Editar meta\" e escolha o mínimo de exercícios que você\n deseja praticar por dia.\n

\n Iniciar meta diária\n
\n
\n
\n
\n
\n

Continue de onde parou

\n
\n
\n
\n \"\"\n
\n

{{videoName}}

\n
\n
\n
\n
\n {{videoPercent}}% concluído\n \n \"\"\n \n
\n
\n
\n
\n \n Ver todos os cursos\n
\n
\n
\n
\n

\n \"\" Destaques mensais\n

\n ver todos\n
\n
    \n
  • \n
    \n {{ i + 1 }}\n
    \n \"\"\n
    \n {{ item.username }}\n
    \n

    {{ item.points }} pts

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

Alterar meta diária

\n \n
\n
\n

\n Escolha o número de exercícios que deseja praticar durante a semana:\n

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

{{ metaInfos.message }}

\n
\n
\n
\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n lexRedirectUri: \"http://localhost:4200/lex-login\",\n lexIntegrationAPI: \"http://localhost:3000\"\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-cronograma',\n templateUrl: './cronograma.component.html',\n styleUrls: ['./cronograma.component.css'],\n})\nexport class CronogramaComponent implements OnInit, OnDestroy {\n private clickListener: () => void;\n days: Array = [];\n objectives: Array = [];\n levels: Array = [];\n isSidebarOpen: boolean = false;\n isModalOpen: boolean = false;\n contentOfTheDay: any;\n selectedLevel: number;\n selectedObjective: number;\n selectNumberOfWeeks: Array = [];\n selectedWeek: number;\n isLoading: boolean = false;\n\n currentMonth: any;\n currentYear: any;\n currentMonthName: string;\n\n private async getLevels(): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n `${this.aprovaApiHelper.baseURL}cronogram/levels`\n );\n this.levels = data;\n } catch (error) {\n console.error('Erro ao obter níveis:', error);\n }\n }\n\n private async getObjective(): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n `${this.aprovaApiHelper.baseURL}cronogram/objectives`\n );\n this.objectives = data;\n } catch (error) {\n console.error('Erro ao obter objetivos:', error);\n }\n }\n\n private async getSchedule(month: number, year: number): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n `${this.aprovaApiHelper.baseURL}cronogram?month=${month}&year=${year}`\n );\n return data;\n } catch (error) {\n console.error('Erro ao obter cronograma:', error);\n return null;\n }\n }\n\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private renderer: Renderer2,\n private router: Router\n ) {}\n\n async ngOnInit() {\n \n await Promise.all([\n this.getLevels(),\n this.getObjective(),\n ]);\n\n this.clickListener = this.renderer.listen('document', 'click', (event) => {\n const sidebar = document.getElementsByClassName('sidebar-cronograma');\n const calendario = document.getElementsByClassName('calendario');\n\n if (\n !sidebar[0].contains(event.target) &&\n !calendario[0].contains(event.target)\n ) {\n this.isSidebarOpen = false;\n }\n });\n\n let date = new Date();\n this.currentMonthName = date.toLocaleString('default', { month: 'long' });\n this.currentMonth = date.getMonth() + 1;\n this.currentYear = date.getFullYear();\n\n let data: any = await this.getSchedule(this.currentMonth, this.currentYear);\n const apiDays = data.days;\n\n const apiMonth =\n data.days[0] && data.days[0].date\n ? data.days[0].date.substring(5, 7)\n : this.currentMonth;\n const apiYear =\n data.days[0] && data.days[0].date\n ? data.days[0].date.substring(0, 4)\n : this.currentYear;\n\n this.addEmptyDays(this.getDayOfWeek(apiMonth, apiYear));\n this.addMonthDays(apiMonth, apiYear, apiDays);\n }\n\n ngOnDestroy() {\n this.clickListener();\n }\n\n private addEmptyDays(dayOfWeek: number) {\n for (let i = 0; i < dayOfWeek; i++) {\n this.days.push({});\n }\n }\n\n private addMonthDays(month: string, year: string, apiDays: Array) {\n const lastDayOfMonth = this.getLastDayOfMonth(month, year);\n for (let i = 1; i <= lastDayOfMonth; i++) {\n let day = {\n date: `${year}-${month}-${i < 10 ? '0' + i : i}`,\n dayNumber: i.toString(),\n };\n const apiDay = apiDays.find((d) => d.date === day.date);\n if (apiDay) {\n Object.assign(day, apiDay);\n }\n this.days.push(day);\n }\n }\n\n private getDayOfWeek(month: string, year: string): number {\n const date = new Date(`${month}/01/${year}`);\n return date.getDay();\n }\n\n private getLastDayOfMonth(month: string, year: string): number {\n const date = new Date(`${month}/01/${year}`);\n return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n }\n\n openSidebar(item) {\n this.contentOfTheDay = item;\n this.isSidebarOpen = true;\n }\n\n async changeMonth(event, value) {\n event.preventDefault();\n this.currentMonth = parseInt(this.currentMonth, 10) + value;\n\n if (this.currentMonth === 0) {\n this.currentYear -= 1;\n this.currentMonth = 12;\n }\n\n if (this.currentMonth === 13) {\n this.currentYear += 1;\n this.currentMonth = 1;\n }\n\n this.days = [];\n let data: any = await this.getSchedule(this.currentMonth, this.currentYear);\n const apiDays = data.days;\n\n const apiMonth =\n data.days[0] && data.days[0].date\n ? data.days[0].date.substring(5, 7)\n : this.currentMonth;\n const apiYear =\n data.days[0] && data.days[0].date\n ? data.days[0].date.substring(0, 4)\n : this.currentYear;\n\n let date = new Date(`${apiMonth}/01/${apiYear}`);\n this.currentMonthName = date.toLocaleString('default', { month: 'long' });\n\n this.addEmptyDays(this.getDayOfWeek(apiMonth, apiYear));\n this.addMonthDays(apiMonth, apiYear, apiDays);\n }\n\n toggleModal() {\n this.isModalOpen = !this.isModalOpen;\n }\n\n private async getWeeks(level: number, objective: number): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n `${this.aprovaApiHelper.baseURL}cronogram/list?objectiveId=${objective}&levelId=${level}`\n );\n this.selectNumberOfWeeks = data;\n } catch (error) {\n console.error('Erro ao obter semanas:', error);\n }\n }\n\n setLevel(event) {\n this.selectedLevel = event.target.value;\n\n if (this.selectedObjective !== undefined) {\n this.getWeeks(this.selectedLevel, this.selectedObjective);\n }\n }\n\n setObjective(event) {\n this.selectedObjective = event.target.value;\n\n if (this.selectedLevel !== undefined) {\n this.getWeeks(this.selectedLevel, this.selectedObjective);\n }\n }\n\n setWeek(id) {\n this.selectedWeek = id;\n }\n\n async saveSchedule() {\n let date = new Date();\n let month = date.getMonth() + 1;\n let year = date.getFullYear();\n let day = date.getDate();\n\n\n if (!this.selectedWeek) { \n alert(\"Selecione quantas semanas voce deseja\");\n return\n }\n\n this.isLoading = true;\n\n try {\n let data = await this.aprovaApiHelper.getAPIData(\n 'POST',\n this.aprovaApiHelper.baseURL + 'cronogram',\n { cronogramId: this.selectedWeek, startDate: `${day}/${month}/${year}` }\n );\n\n this.isLoading = false;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['/cronograma']);\n });\n } catch (error) {\n this.isLoading = false;\n console.log(error);\n }\n }\n}\n","
\n
\n \n

Cronograma

\n
\n
\n\n
\n
\n\n
\n \n
\n\n
\n
\n

Calendário

\n
\n \n \"\"\n \n

{{ currentMonthName }} - {{ currentYear }}

\n \n \"\"\n \n
\n \n
\n
\n
\n
    \n
  • Dom
  • \n
  • SEG
  • \n
  • TER
  • \n
  • QUA
  • \n
  • QUI
  • \n
  • SEX
  • \n
  • SAB
  • \n
\n
    \n
  • \n {{ item?.dayNumber }} \n
      \n \n \n
    • \n
      \n \n
      \n
    • \n\n
    • \n
      \n \n
      \n
    • \n\n
    • \n
      \n \n
      \n
    • \n\n
    • \n
      \n \n
      \n
    • \n
      \n
      \n
    \n
  • \n
\n
\n
\n
\n Legenda:\n
    \n
  • \n \n
    \n

    Vídeos

    \n disponíveis\n
    \n
  • \n
  • \n \n
    \n

    Leituras

    \n disponíveis\n
    \n
  • \n
  • \n \n
    \n

    Exercícios

    \n disponíveis\n
    \n
  • \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Selecione o cronograma ideal para você

\n \n
\n
\n
\n
\n

\n Defina o seu cronograma a partir do seu objetivo e conhecimento\n prévio. Aqui você aprende no seu tempo 😉\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AprovaApiHelper {\n baseURL = 'https://nksjk8gy5k.execute-api.us-east-2.amazonaws.com/prod/v1/';\n private tokenRefreshing: boolean = false;\n private refreshTokenPromise: Promise | null = null;\n private authFailed: boolean = false; // Adicionado para controlar falhas de autenticação\n\n constructor(private http: HttpClient, private router: Router) { }\n\n private getHeaders() {\n const token = localStorage.getItem('token');\n return new HttpHeaders({ Authorization: `Bearer ${token}` });\n }\n\n getData(method: string, url: string, data: any = {}, headers?: HttpHeaders, fullResponse: boolean = false) {\n return this.http.request(method, url, {\n body: data,\n headers: headers ? headers : this.getHeaders(),\n observe: fullResponse ? 'response' : 'body',\n responseType: 'json',\n });\n }\n\n uploadPhoto(data: FormData) {\n const url = `${this.baseURL}users/update_photo`;\n return this.http.post(url, data, {\n headers: this.getHeaders(),\n reportProgress: true,\n observe: 'events',\n });\n }\n\n saveUserDataToLocalStorage(data) {\n localStorage.setItem('user_name', data.displayName);\n localStorage.setItem('user_email', data.email);\n localStorage.setItem('user_phoneNumber', data.phoneNumber);\n localStorage.setItem('user_photoURL', data.photoUrl);\n localStorage.setItem('user_fullname', data.displayName);\n localStorage.setItem('user_firstname', data.displayName.split(' ')[0]);\n }\n\n resetAuthFailed() {\n this.authFailed = false;\n }\n\n async updateToken(): Promise {\n const refreshToken = localStorage.getItem('refreshToken');\n if (!refreshToken) {\n throw new Error('No refresh token available');\n }\n\n try {\n const result: any = await this.getData('POST', this.baseURL + 'auth/refresh_token', { refreshToken }).toPromise();\n localStorage.setItem('refreshToken', result.refreshToken);\n localStorage.setItem('token', result.authToken);\n } catch (error) {\n console.error('Failed to refresh token:', error);\n throw error;\n }\n }\n\n private async handleTokenExpiration(method: string, url: string, data: any, fullResponse: boolean): Promise {\n if (!this.tokenRefreshing) {\n this.tokenRefreshing = true;\n this.refreshTokenPromise = this.updateToken();\n }\n\n try {\n await this.refreshTokenPromise;\n this.tokenRefreshing = false;\n return await this.getData(method, url, data, undefined, fullResponse).toPromise();\n } catch (error) {\n this.tokenRefreshing = false;\n\n if (!this.authFailed) {\n this.authFailed = true; // Marcar que a autenticação falhou\n alert('Seu token expirou. Por favor, efetue login novamente.');\n localStorage.clear();\n this.router.navigate(['/login']);\n }\n\n throw error;\n }\n }\n\n async getAPIData(method: string, url: string, data: any = {}, fullResponse: boolean = false) {\n try {\n const result = await this.getData(method, url, data, undefined, fullResponse).toPromise();\n return result;\n } catch (error) {\n if (error.status === 401 || error.status === 403 || error.status === 500) {\n return this.handleTokenExpiration(method, url, data, fullResponse);\n } else {\n throw error;\n }\n }\n }\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n\ndeclare var ModalVideo: any;\n\n@Component({\n selector: 'app-resultado-simulado',\n templateUrl: './resultado-simulado.component.html',\n styleUrls: ['./resultado-simulado.component.css'],\n})\nexport class ResultadoSimuladoComponent implements OnInit {\n baseUrl: string = 'https://api-simulados.aprovarapido.com/';\n questions: Array = [];\n isLoading: boolean = false;\n currentExercise: any;\n currentAnswers: Array = [];\n currentIndex: number = 0;\n videoId: string = null;\n\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) {}\n\n private getHeaders() {\n const token = localStorage.getItem('token');\n return new HttpHeaders({ Authorization: `${token}` });\n }\n\n getFullResult(sessaoId, simuladoId) {\n this.isLoading = true;\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl +\n `pegar-resultado-completo?sessaoId=${sessaoId}&simuladoId=${simuladoId}`,\n {},\n this.getHeaders()\n )\n .toPromise()\n .catch((error) => {\n reject();\n });\n\n this.questions = data;\n this.currentExercise = this.questions[this.currentIndex];\n this.currentAnswers = this.questions[this.currentIndex].alternatives;\n\n typeof this.currentExercise.video_url === 'string'\n ? (this.videoId = this.currentExercise.video_url.replace(\n 'https://vimeo.com/',\n ''\n ))\n : (this.videoId = null);\n\n this.isLoading = false;\n resolve(data);\n });\n }\n\n async ngOnInit() {\n new ModalVideo('.box-simulado .btn', { channel: 'vimeo' });\n\n this.activatedRoute.queryParams.subscribe(\n async ({ sessaoId, simuladoId }) => {\n await this.getFullResult(sessaoId, simuladoId).catch((err) => {\n this.router.navigate(['/simulados']);\n });\n }\n );\n }\n\n getLetter(index: number): string {\n return String.fromCharCode(65 + index);\n }\n\n changePage(event, value) {\n event.preventDefault();\n\n if (this.currentIndex + value > this.questions.length - 1) {\n return;\n }\n\n if (this.currentIndex + value < 0) {\n return;\n }\n\n this.currentIndex += value;\n this.currentExercise = this.questions[this.currentIndex];\n this.currentAnswers = this.questions[this.currentIndex].alternatives;\n\n const boxSimulado = document.getElementById('boxSimulado');\n boxSimulado.scrollTop = 0;\n\n typeof this.currentExercise.video_url === 'string'\n ? (this.videoId = this.currentExercise.video_url.replace(\n 'https://vimeo.com/',\n ''\n ))\n : (this.videoId = null);\n }\n\n getEmoji(resposta_correta: number): string {\n if (resposta_correta === 1) {\n return \"🟢\";\n } else if (resposta_correta === 0) {\n return \"🔴\";\n } else {\n return \"🟡\";\n }\n }\n}\n","
\n
\n \n

Resultado do seu simulado

\n
\n
\n\n
\n
\n
\n
\n

Resultado

\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n

\n {{ getEmoji(currentAnswers[0].resposta_correta) }} \n Questão {{ currentIndex + 1 }}:\n

\n\n
\n \"\"\n
\n

\n\n\n
\n
Legenda:
\n 🟢 Correto 🔴 Incorreto 🟡 Não respondido\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n

Alternativas:

\n
\n
\n
\n
\n {{ getLetter(i) }}\n

{{ item.alternative_text }}

\n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n \n
\n Anterior\n
\n

\n Questões disponíveis\n {{ currentIndex + 1 }} de {{ questions.length }}\n

\n \n Próximo\n
\n
\n
\n
","import { HttpHeaders } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-simulados',\n templateUrl: './simulados.component.html',\n styleUrls: ['./simulados.component.css'],\n})\nexport class SimuladosComponent implements OnInit {\n baseUrl: string = 'https://api-simulados.aprovarapido.com/';\n simuladosRealizados: Array = [];\n simuladosDisponiveis: Array = [];\n isModalOpen: boolean = false;\n selectedSimulado: any;\n isSimulationOpen: boolean;\n\n constructor(private aprovaApiHelper: AprovaApiHelper, private router: Router) { }\n\n private getHeaders() {\n const token = localStorage.getItem('token');\n return new HttpHeaders({ Authorization: `${token}` });\n }\n\n getSessionStatus(simuladoId) {\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + `status-sessao/${simuladoId}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n data[0]?.status === 1 ? this.isSimulationOpen = true : this.isSimulationOpen = false;\n resolve(data)\n });\n }\n\n getSimuladosRealizados() {\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + 'simulados-realizados',\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.simuladosRealizados = data;\n resolve(data)\n });\n }\n\n getSimuladosDisponiveis() {\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + 'simulados',\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.simuladosDisponiveis = data;\n resolve(data)\n });\n }\n\n formatDate(dateStr: string) {\n const date = new Date(dateStr.split('.')[0]);\n const day = date.getDate().toString().padStart(2, '0');\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const hours = date.getHours().toString().padStart(2, '0');\n const minutes = date.getMinutes().toString().padStart(2, '0');\n return `${day}/${month} às ${hours}h ${minutes}m`;\n }\n\n private async getUserStats(): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'users/stats'\n );\n\n if (data.exerciseAnswerCount < 5 && data.qrCodeReadCount < 5) { \n alert(\"Para acessar os simulados, é necessário responder 5 questões na nossa plataforma ou escanear, no mínimo, 5 QR codes\")\n this.router.navigate(['/questoes']); \n }\n\n resolve();\n });\n }\n\n async ngOnInit() {\n //await this.getUserStats()\n await this.getSimuladosRealizados();\n await this.getSimuladosDisponiveis();\n }\n\n closeModal() {\n this.isModalOpen = false;\n }\n\n async openModal(item) {\n await this.getSessionStatus(item.id);\n this.selectedSimulado = item;\n this.isModalOpen = true;\n }\n\n async startSimulation() {\n try {\n\n if (this.isSimulationOpen) { \n this.router.navigate(['/simulado-questoes', this.selectedSimulado.id]);\n return;\n }\n\n await this.aprovaApiHelper\n .getData(\n 'POST',\n this.baseUrl + `criar-sessao/${this.selectedSimulado.id}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.router.navigate(['/simulado-questoes', this.selectedSimulado.id]);\n } catch (e) {\n \n if (e.error === \"Usuario já esta com um simulado aberto\") {\n alert(\"Desculpe, mas você já está com um simulado aberto. Por favor, finalize o simulado atual antes de iniciar outro.\")\n return\n }\n\n alert(\"É possível realizar este simulado somente uma vez. Caso acredite que ocorreu alguma falha, por favor, contate nossa equipe de suporte para receber ajuda.\")\n }\n }\n\n\n}\n","
\n
\n \n

Simulados

\n
\n
\n\n
\n
\n
\n

Simulados disponíveis

\n
\n
\n\n \n
\n
\n \n

Sem simulados disponíveis

\n
\n

\n Desculpe, no momento não há nenhum simulado disponível para sua\n escola. 🥺\n

\n
\n
\n
\n\n
\n

{{item.nome}}

\n
\n
\n Data de expiração\n {{formatDate(item.data_final)}}\n
\n
\n
Clique para iniciar
\n
\n\n
\n\n
\n

Aqui está o resultado dos seus últimos simulados

\n
\n
\n \n
\n
\n \n

Sem simulados disponíveis

\n
\n

\n Infelizmente, parece que você ainda não concluiu nenhum simulado\n ou o resultado ainda não está disponível. 😅\n

\n
\n
\n
\n\n
\n

{{ item.nome }}

\n
\n
\n Acertos\n {{item.acertos}}\n
\n
\n Erros\n {{item.erros}}\n
\n
\n Não respondidas\n {{item.nao_respondidas}}\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Sobre o simulado:

\n \n
\n
\n
\n
\n
\n \n {{selectedSimulado?.nome}}\n \n
\n
\n \n {{selectedSimulado?.descricao}}\n \n
\n
\n \n \n Duração: {{selectedSimulado?.duracao_minutos }} minutos\n \n
\n
\n \n \n Data inicial: {{selectedSimulado?.data_inicial.split('.')[0] | date: 'dd/MM/yyyy HH:mm'}}\n \n
\n
\n \n \n Data final: {{selectedSimulado?.data_final.split('.')[0] | date: 'dd/MM/yyyy HH:mm'}}\n \n
\n
\n \n \n Data limite para refazer: {{selectedSimulado?.data_limite_refazer.split('.')[0] | date: 'dd/MM/yyyy HH:mm'}}\n \n
\n
\n \n \n Data para visualizar resultado: {{selectedSimulado?.data_visualizar_resultado.split('.')[0] | date: 'dd/MM/yyyy HH:mm'}}\n \n
\n
\n\n
\n \n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport { environment } from 'src/environments/environment';\n\n\n@Component({\n selector: 'app-lex-login',\n templateUrl: './lex-login.component.html',\n styleUrls: ['./lex-login.component.css']\n})\nexport class LexLoginComponent implements OnInit {\n email: string;\n password: string;\n isLoading: boolean = false;\n showPassword = false;\n\n clientId = '11ef8269-083e-43d9-a29a-978fd72982f5'; \n redirectUri = environment.lexRedirectUri; \n\n constructor( private route: ActivatedRoute, private aprovaApiHelper: AprovaApiHelper, private router: Router) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n const code = params['code']; \n\n if (code) {\n this.isLoading = true;\n const codeVerifier = localStorage.getItem('codeVerifier');\n this.exchangeCodeForToken(code, codeVerifier);\n } else {\n\n const codeVerifier = this.generateRandomCodeVerifier();\n const codeChallenge = this.generateCodeChallenge(codeVerifier);\n \n localStorage.setItem('codeVerifier', codeVerifier);\n \n const authUrl = this.buildAuthUrl(codeChallenge);\n window.location.href = authUrl;\n }\n });\n }\n\n async exchangeCodeForToken(code: string, codeVerifier: string) {\n try {\n var userInfo: any = await this.aprovaApiHelper\n .getData('POST', environment.lexIntegrationAPI + '/api/authenticate', {\n code: code,\n code_verifier: codeVerifier,\n })\n .toPromise();\n } catch (error) {\n this.isLoading = false;\n alert(\"Erro ao obter informações do usuário, tente novamente mais tarde\")\n return;\n }\n\n if (userInfo.redirect) {\n window.location.href = \"https://lupa.aprovarapido.com/login?token=\" + userInfo.token;\n return;\n }\n\n //localStorage.clear();\n localStorage.setItem('refreshToken', userInfo.refreshToken);\n localStorage.setItem('token', userInfo.token);\n localStorage.setItem('user_email', userInfo.user.email);\n localStorage.setItem('user_phoneNumber', userInfo.user.phone_number);\n localStorage.setItem('user_photoURL', userInfo.user.photo_url);\n localStorage.setItem('user_fullname', userInfo.user.display_name);\n localStorage.setItem('user_firstname', userInfo.user.display_name.split(' ')[0]);\n this.aprovaApiHelper.resetAuthFailed();\n await new Promise(r => setTimeout(r, 2000));\n this.router.navigateByUrl('/index');\n }\n\n\n async login(event) {\n event.preventDefault();\n\n const codeVerifier = this.generateRandomCodeVerifier();\n const codeChallenge = this.generateCodeChallenge(codeVerifier);\n\n localStorage.setItem('codeVerifier', codeVerifier);\n\n const authUrl = this.buildAuthUrl(codeChallenge);\n window.location.href = authUrl; \n }\n\n generateRandomCodeVerifier() {\n const randomBytes = new Uint8Array(32);\n window.crypto.getRandomValues(randomBytes);\n return this.convertInvalidWebCharacters(btoa(String.fromCharCode(...randomBytes)));\n }\n \n generateCodeChallenge(codeVerifier) {\n const wordArray = CryptoJS.enc.Utf8.parse(codeVerifier);\n const hash = CryptoJS.SHA256(wordArray);\n return this.convertInvalidWebCharacters(CryptoJS.enc.Base64.stringify(hash));\n }\n\n convertInvalidWebCharacters(input) {\n return input.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n }\n\n buildAuthUrl(codeChallenge) {\n const baseUrl = 'https://api.lex.education/sso/connect/authorize';\n const responseType = 'code';\n const scope = 'openid profile offline_access';\n const codeChallengeMethod = 'S256';\n\n return `${baseUrl}?response_type=${responseType}&client_id=${this.clientId}&redirect_uri=${encodeURIComponent(this.redirectUri)}&code_challenge_method=${codeChallengeMethod}&code_challenge=${codeChallenge}&scope=${encodeURIComponent(scope)}`;\n }\n \n}\n","
\n
\n \n \"\"\n \n
\n\n
\n
\n
\n

Acesse sua conta

\n \n
\n\n
\n \"login\"\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n
\n
","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\ndeclare var Vimeo: any;\n\n@Component({\n selector: 'app-resolucao',\n templateUrl: './resolucao.component.html',\n styleUrls: ['./resolucao.component.css'],\n})\nexport class ResolucaoComponent implements OnInit {\n id: string;\n safeVideoSource: any;\n videoPlayer: any;\n @ViewChild('myVideo', { static: true }) myVideo: ElementRef;\n title: string;\n\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private activatedRoute: ActivatedRoute,\n private sanitizer: DomSanitizer,\n private router: Router\n ) {}\n\n private async getVideoByQuestionId(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + `exercises/resolutions/${id}`\n ).catch((error) => {\n alert(\"Não foi encontrado nenhuma questão com esse ID\");\n this.router.navigate(['/index']);\n })\n resolve(data);\n });\n }\n\n async ngOnInit() {\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\n let data: any = await this.getVideoByQuestionId(this.id);\n this.title = data.examName;\n \n console.log(data);\n\n this.safeVideoSource = this.sanitizer.bypassSecurityTrustResourceUrl(\n `https://player.vimeo.com/video/${data.videoUrl.replace(\"https://vimeo.com/\", \"\")}`\n );\n\n this.startVideo(data.videoUrl.replace(\"https://vimeo.com/\", \"\"));\n }\n\n startVideo(video) {\n const url = `https://player.vimeo.com/video/${video}`;\n \n const containerWidth = this.myVideo.nativeElement.parentElement.offsetWidth;\n\n // Calcule a largura e a altura do vídeo com base na largura da div externa.\n const width = containerWidth * 0.9; // 90% da largura da div\n const height = (width * 9) / 16; // Manter uma proporção 16:9\n\n const options = {\n url,\n width,\n height,\n speed: true,\n responsive: true,\n };\n\n this.videoPlayer = new Vimeo.Player(this.myVideo.nativeElement, options);\n this.videoPlayer.play();\n }\n}\n","
\n
\n \n

Resolução

\n
\n
\n\n
\n

Resolução da questão: {{title}} - {{id}}

\n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css']\n})\nexport class DashboardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n
\n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n@Component({\n selector: 'app-detalhes-curso',\n templateUrl: './detalhes-curso.component.html',\n styleUrls: ['./detalhes-curso.component.css'],\n})\n\nexport class DetalhesCursoComponent implements OnInit {\n id: string;\n title: string = '';\n description: string = '';\n videos: any;\n totalVideos: number = 0;\n totalExercises: number = 0;\n totalSeconds: number = 0;\n courseTime:string = '0h 0min';\n teacher: any;\n user_lastwatched_video_id: boolean = false;\n first_video_id: string;\n\n constructor(\n private route: ActivatedRoute,\n private aprovaApiHelper: AprovaApiHelper,\n private router: Router\n ) {}\n\n\n segundosParaHorasMinutos(segundos) {\n const minutos = Math.floor(segundos / 60);\n const horas = Math.floor(minutos / 60);\n const minutosRestantes = minutos % 60;\n \n let resultado = \"\";\n if (horas > 0) {\n resultado += horas + \"h \";\n }\n if (minutosRestantes > 0 || horas === 0) {\n resultado += minutosRestantes + \"min\";\n }\n \n return resultado;\n }\n\n private async getCategoryById(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'categories/' + id\n );\n this.title = data.name;\n this.description = data.description;\n this.teacher = data.teacher;\n \n resolve();\n });\n }\n\n secondsToHms(d) {\n d = Number(d);\n\n var h = Math.floor(d / 3600);\n var m = Math.floor((d % 3600) / 60);\n var s = Math.floor((d % 3600) % 60);\n\n return (\n ('0' + h).slice(-2) +\n ':' +\n ('0' + m).slice(-2) +\n ':' +\n ('0' + s).slice(-2)\n );\n }\n\n private async getVideosByCategoryId(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'videos?categoryId=' + id\n ).catch((e) => {\n alert(\"Este conteúdo não está disponível para sua escola\")\n this.router.navigate(['/video-aulas']);\n })\n\n this.videos = data;\n this.totalVideos = data.length;\n\n let lastwatched_video_id = localStorage.getItem('user_lastwatched_video_id');\n this.first_video_id = data[0].id;\n \n data.forEach((element) => { \n\n if (lastwatched_video_id == element.id) { \n this.user_lastwatched_video_id = true;\n }\n this.totalSeconds += Number(element.duration);\n });\n\n this.courseTime = this.segundosParaHorasMinutos(this.totalSeconds);\n resolve();\n });\n }\n\n private async getExercisesByCategoryId(id): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'exercises?categoryId=' + id\n );\n this.totalExercises = data.pagination.totalPages;\n resolve();\n });\n }\n\n async ngOnInit() {\n this.id = this.route.snapshot.paramMap.get('id');\n await this.getCategoryById(this.id);\n await this.getVideosByCategoryId(this.id);\n await this.getExercisesByCategoryId(this.id);\n }\n\n continue(event) {\n event.preventDefault();\n this.router.navigate(['/player', localStorage.getItem('user_lastwatched_video_id')]);\n }\n\n start(event) {\n event.preventDefault();\n this.router.navigate(['/player', this.first_video_id]);\n }\n}\n","
\n
\n \n

Videoaulas

\n
\n
\n
\n \n
\n Bem-vindo ao curso de\n

{{ title }}

\n
\n \n Começar Curso\n \"\"\n \n\n \n Continuar curso\n \"\"\n \n\n
\n
\n
\n
\n

Descrição:

\n
\n
\n {{ description }}\n
\n \n
\n
\n
\n

Inclui:

\n
\n
    \n
  • \n \"\"\n {{ totalVideos }} aulas \n
  • \n\n
  • \n \n {{ totalExercises }} questões disponíveis\n
  • \n\n
  • \n \"\"\n {{ courseTime }} de curso\n
  • \n
\n
\n
\n
\n
\n
\n

Conteúdo:

\n
\n \n
\n\n
\n
\n

Com quem irá aprender:

\n
\n\n
\n \n
\n \n
\n

{{ teacher?.name }}

\n
\n
\n {{ teacher?.about }}\n
\n
\n
\n
\n\n","import { Component } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { RouteChangeService } from './services/route-change.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'plataforma-aprova';\n\n constructor(private router: Router, private routeChangeService: RouteChangeService) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.routeChangeService.triggerRouteChange(event.url);\n }\n });\n }\n \n}\n","","import { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n@Component({\n selector: 'app-video-aulas',\n templateUrl: './video-aulas.component.html',\n styleUrls: ['./video-aulas.component.css'],\n})\nexport class VideoAulasComponent implements OnInit {\n mathVideos: Array = [];\n physicsVideos: Array = [];\n chemistryVideos: Array = [];\n\n constructor(private aprovaApiHelper: AprovaApiHelper) {}\n\n private async getVideos(subjectId: number, serie?: string): Promise {\n try {\n const url =\n `${this.aprovaApiHelper.baseURL}categories?onlyWithVideos=true&subjectId=${subjectId}` +\n (serie ? `&gradeIds=${serie}` : '');\n const data: any = await this.aprovaApiHelper.getAPIData('GET', url);\n return data;\n } catch (error) {\n console.error(`Erro ao obter vídeos do subjectId ${subjectId}:`, error);\n return [];\n }\n }\n\n async onSelectChange(selectedValue: string) {\n /*await this.getMathVideos(selectedValue);\n await this.getPhysicsVideos(selectedValue);\n await this.getChemistryVideos(selectedValue); */\n }\n\n async ngOnInit() {\n const [mathVideos, physicsVideos, chemistryVideos] = await Promise.all([\n this.getVideos(1),\n this.getVideos(2),\n this.getVideos(3),\n ]);\n\n this.mathVideos = mathVideos;\n this.physicsVideos = physicsVideos;\n this.chemistryVideos = chemistryVideos;\n }\n}\n","
\n
\n \n

Videoaulas

\n
\n
\n\n
\n\n\n
\n\n
\n

Matemática

\n
\n \n\n
\n

Física

\n
\n \n\n\n
\n

Química

\n
\n \n\n
\n
","import { BrowserModule } from '@angular/platform-browser';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { NavComponent } from './nav/nav.component';\nimport { HeaderComponent } from './header/header.component';\nimport { HomeComponent } from './home/home.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AprovaApiHelper } from './services/aprova-api-helper.service';\nimport { MobileNavComponent } from './mobile-nav/mobile-nav.component';\nimport { JornadaComponent } from './jornada/jornada.component';\nimport { NotificacoesComponent } from './notificacoes/notificacoes.component';\nimport { AppInitService } from './app-init';\nimport { EditarPerfilComponent } from './editar-perfil/editar-perfil.component';\nimport { VideoAulasComponent } from './video-aulas/video-aulas.component';\nimport { DetalhesCursoComponent } from './detalhes-curso/detalhes-curso.component';\nimport { PlayerComponent } from './player/player.component';\nimport { QuestoesComponent } from './questoes/questoes.component';\nimport { MateriaisApoioComponent } from './materiais-apoio/materiais-apoio.component';\nimport { DetalhesMaterialComponent } from './detalhes-material/detalhes-material.component';\nimport { CronogramaComponent } from './cronograma/cronograma.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { LoginComponent } from './login/login.component';\nimport { PanDragDirective } from './pan-drag.directive';\nimport { SimuladosComponent } from './simulados/simulados.component';\nimport { ResultadoSimuladoComponent } from './resultado-simulado/resultado-simulado.component';\nimport { SimuladoQuestoesComponent } from './simulado-questoes/simulado-questoes.component';\nimport { TruncatePipe } from './pipes/truncate.pipe';\nimport { ResolucaoComponent } from './resolucao/resolucao.component';\nimport { LexLoginComponent } from './lex-login/lex-login.component';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nconst appRoutes: Routes = [\n {\n path: '',\n component: DashboardComponent,\n children: [\n { path: '', redirectTo: 'index', pathMatch: 'full' },\n { path: 'index', component: HomeComponent },\n { path: 'jornada', component: JornadaComponent },\n { path: 'notificacoes', component: NotificacoesComponent },\n { path: 'editar-perfil', component: EditarPerfilComponent},\n { path: 'video-aulas', component: VideoAulasComponent},\n { path: 'detalhes-curso/:id', component: DetalhesCursoComponent},\n { path: 'player/:id', component: PlayerComponent},\n { path: 'questoes', component: QuestoesComponent},\n { path: 'materiais-apoio', component: MateriaisApoioComponent},\n { path: 'detalhes-material/:id', component: DetalhesMaterialComponent},\n { path: 'cronograma', component: CronogramaComponent},\n { path: 'simulados', component: SimuladosComponent},\n { path: 'resultado-simulado', component: ResultadoSimuladoComponent},\n { path: 'simulado-questoes/:id', component: SimuladoQuestoesComponent},\n { path: 'resolucao/:id', component: ResolucaoComponent},\n ],\n },\n {\n path: 'login',\n component: LoginComponent,\n },\n {\n path: 'lex-login',\n component: LexLoginComponent,\n }\n];\n\n@NgModule({\n declarations: [\n AppComponent,\n NavComponent,\n HeaderComponent,\n HomeComponent,\n MobileNavComponent,\n JornadaComponent,\n NotificacoesComponent,\n EditarPerfilComponent,\n VideoAulasComponent,\n DetalhesCursoComponent,\n PlayerComponent,\n QuestoesComponent,\n MateriaisApoioComponent,\n DetalhesMaterialComponent,\n CronogramaComponent,\n DashboardComponent,\n LoginComponent,\n PanDragDirective,\n SimuladosComponent,\n ResultadoSimuladoComponent,\n SimuladoQuestoesComponent,\n TruncatePipe,\n ResolucaoComponent,\n LexLoginComponent\n ],\n imports: [\n HttpClientModule,\n FormsModule,\n BrowserModule,\n AppRoutingModule,\n ReactiveFormsModule,\n RouterModule.forRoot(appRoutes),\n ],\n exports: [RouterModule],\n providers: [\n AprovaApiHelper,\n AppInitService,\n {\n provide: APP_INITIALIZER,\n useFactory: (appInitService: AppInitService) => () =>\n appInitService.initApp(),\n multi: true,\n deps: [AppInitService],\n },\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { ChangeDetectorRef, Directive, ElementRef, HostBinding, HostListener, OnDestroy } from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeWhile, takeUntil } from 'rxjs/operators';\n\n@Directive({\n\tselector: '[pan-drag]'\n})\nexport class PanDragDirective implements OnDestroy {\n\tpan: {\n\t\tactive: boolean;\n\t\toriginX: number;\n\t\toriginScrollX: number;\n\t} = {\n\t\t\tactive: false,\n\t\t\toriginX: undefined,\n\t\t\toriginScrollX: undefined,\n\t\t};\n\n\t@HostBinding('style.cursor') cursor: string = 'grab';\n\n\tprivate onDestroy$ = new Subject();\n\n\tconstructor(private host: ElementRef, private cdr: ChangeDetectorRef) { }\n\n\tngOnDestroy() {\n\t\tthis.onDestroy$.next();\n\t\tthis.onDestroy$.complete();\n\t}\n\n\t@HostListener('mousedown', ['$event'])\n\tpublic onMouseDown($event: MouseEvent) {\n\t\tthis.pan.active = true;\n\t\tthis.pan.originX = $event.x;\n\t\tthis.pan.originScrollX = this.host.nativeElement.scrollLeft;\n\t\tthis.cursor = 'grabbing';\n\t\tthis.cdr.markForCheck();\n\n\t\tfromEvent(document, 'mousemove').pipe(\n\t\t\ttakeWhile(() => this.pan.active),\n\t\t\ttakeUntil(this.onDestroy$),\n\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.onMouseMove(e as MouseEvent);\n\t\t\t});\n\n\t\tfromEvent(document, 'mouseup').pipe(\n\t\t\ttakeWhile(() => this.pan.active),\n\t\t\ttakeUntil(this.onDestroy$),\n\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tthis.cancelPan();\n\t\t\t});\n\n\t\t$event.preventDefault();\n\t}\n\n\tprivate onMouseMove($event: MouseEvent) {\n\t\tif (!this.pan.active) return;\n\n\t\tconst deltaX = $event.x - this.pan.originX;\n\t\tthis.host.nativeElement.scrollTo({ left: this.pan.originScrollX - deltaX }); // minus to inverse drag direction\n\t}\n\n\tprivate cancelPan() {\n\t\tthis.pan.active = false;\n\t\tthis.pan.originX = undefined;\n\t\tthis.pan.originScrollX = undefined;\n\t\tthis.cursor = 'grab';\n\t\tthis.cdr.markForCheck();\n\t}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n@Component({\n selector: 'app-materiais-apoio',\n templateUrl: './materiais-apoio.component.html',\n styleUrls: ['./materiais-apoio.component.css']\n})\nexport class MateriaisApoioComponent implements OnInit {\n\n materials: any;\n\n constructor(private aprovaApiHelper: AprovaApiHelper) { }\n\n\n private async getMaterials(): Promise {\n return new Promise(async (resolve, reject) => {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'materials');\n this.materials = data;\n resolve();\n });\n }\n\n async ngOnInit() {\n await this.getMaterials();\n }\n\n}\n","
\n
\n \n\n

Materiais de apoio

\n
\n
\n\n
\n
\n\n
\n

Todos Materiais

\n
\n\n \n\n
\n

01 de 01

\n
\n
\n
","import { Component, OnInit, Renderer2 } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n})\nexport class HeaderComponent implements OnInit {\n private clickListener: () => void;\n openUserBox = false;\n openJornadaBox = false;\n userPhotoUrl = './../assets/img/home/User-Pic.svg';\n points = 0;\n\n constructor(\n private renderer: Renderer2,\n private aprovaApiHelper: AprovaApiHelper,\n private router: Router\n ) { }\n\n\n private async getMyPoints(): Promise {\n return new Promise(async (resolve, reject) => {\n this.aprovaApiHelper.getAPIData('GET', this.aprovaApiHelper.baseURL + 'achievements/my/points')\n .then((data: any) => {\n this.points = data.monthPoints;\n resolve();\n });\n });\n }\n\n async ngOnInit() {\n this.clickListener = this.renderer.listen('document', 'click', (event) => {\n const user = document.getElementsByClassName(\"user\");\n const menuJornada = document.getElementsByClassName(\"menu-jornada\");\n\n if (user[0].contains(event.target)) {\n this.openUserBox = true;\n } else {\n this.openUserBox = false;\n }\n\n if (menuJornada[0].contains(event.target)) {\n this.openJornadaBox = true;\n } else {\n this.openJornadaBox = false;\n }\n\n });\n\n await this.getMyPoints();\n this.userPhotoUrl = localStorage.getItem('user_photoURL');\n }\n\n ngOnDestroy() {\n this.clickListener();\n }\n\n openMobileMenu() {\n const element = document.querySelector('.sidebar') as HTMLElement;\n element.style.display = 'block';\n }\n\n logout(event){\n event.preventDefault();\n localStorage.clear();\n this.router.navigate(['/login']);\n }\n}\n","
\n
\n \n

Bem-vindo!

\n
\n \n \n
\n
\n
\n
\n \"\"\n \n
\n \n
\n
\n
\n
\n
\n \"\"\n
\n

\n \n \n \n Editar\n \n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n@Component({\n selector: 'app-notificacoes',\n templateUrl: './notificacoes.component.html',\n styleUrls: ['./notificacoes.component.css'],\n})\nexport class NotificacoesComponent implements OnInit {\n notificacoes: any;\n openNotify = false;\n\n constructor(private aprovaApiHelper: AprovaApiHelper) { }\n\n private async getNotifications(): Promise {\n return new Promise(async (resolve, reject) => {\n this.aprovaApiHelper\n .getAPIData('GET', this.aprovaApiHelper.baseURL + 'notifications')\n .then((data) => {\n this.notificacoes = data;\n resolve();\n });\n });\n }\n\n async ngOnInit() {\n await this.getNotifications();\n }\n\n formatTimeAgo(timestamp: string) {\n const now = new Date();\n const messageDate = new Date(timestamp);\n const timeDiff = Math.abs(now.getTime() - messageDate.getTime());\n const seconds = Math.floor(timeDiff / 1000);\n const minutes = Math.floor(seconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n\n if (days > 0) {\n return `${days} dia(s) atrás`;\n } else if (hours > 0) {\n return `${hours} hora(s) atrás`;\n } else if (minutes > 0) {\n return `${minutes} minuto(s) atrás`;\n } else {\n return `${seconds} segundo(s) atrás`;\n }\n }\n\n openNofify(event) {\n const element = event.target.closest('.item-notify');\n if (element) {\n element.classList.toggle('active');\n this.openNotify = element.classList.contains('active');\n }\n }\n}\n","
\n
\n \"\"\n

Atualizações

\n
\n
\n
\n
\n\n
\n
\n

Você tem um novo aviso!

\n
\n {{formatTimeAgo(item.timestamp)}}\n \n
\n
\n
\n
\n
\n\n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (value.length > limit) {\n return value.substring(0, limit) + '...';\n } else {\n return value;\n }\n }\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-nav',\n templateUrl: './nav.component.html',\n styleUrls: ['./nav.component.css']\n})\nexport class NavComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n console.log(\"nav component initialized\")\n }\n\n}\n","","import { HttpHeaders } from '@angular/common/http';\nimport { Component, OnInit, ElementRef, OnDestroy } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-simulado-questoes',\n templateUrl: './simulado-questoes.component.html',\n styleUrls: ['./simulado-questoes.component.css'],\n})\nexport class SimuladoQuestoesComponent implements OnInit, OnDestroy {\n baseUrl: string = 'https://api-simulados.aprovarapido.com/';\n simuladoId: string;\n currentExercise: any;\n currentAnswers: any;\n currentPage: number = 1;\n totalPages: number;\n answer: number;\n selectedOption: boolean = false;\n exerciseImageWidth = 100;\n simulationDuration: string;\n\n isLoading: boolean = false;\n questions: Array = [];\n startTime: any;\n intervalId: any;\n showSimulatedTime: boolean = true;\n maxTime: string;\n\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private activatedRoute: ActivatedRoute,\n private el: ElementRef,\n private router: Router\n ) {}\n\n private getHeaders() {\n const token = localStorage.getItem('token');\n return new HttpHeaders({ Authorization: `${token}` });\n }\n\n startTimer(dataInicio) {\n this.startTime = Date.parse(dataInicio.split('.')[0]);\n this.intervalId = setTimeout(() => {\n const elapsedTime = Date.now() - this.startTime;\n const seconds = Math.floor(elapsedTime / 1000);\n const minutes = Math.floor(seconds / 60);\n const hours = Math.floor(minutes / 60);\n const formattedHours = hours.toString().padStart(2, '0');\n const formattedMinutes = (minutes % 60).toString().padStart(2, '0');\n const formattedSeconds = (seconds % 60).toString().padStart(2, '0');\n const time = `${formattedHours}:${formattedMinutes}:${formattedSeconds}`;\n this.simulationDuration = time;\n this.startTimer(dataInicio);\n }, 1000);\n }\n\n formatTime(minutes: number): string {\n const seconds = minutes * 60;\n const hours = Math.floor(seconds / 3600);\n const formattedHours = hours.toString().padStart(2, '0');\n const formattedMinutes = ((seconds % 3600) / 60)\n .toString()\n .padStart(2, '0');\n const formattedSeconds = (seconds % 60).toString().padStart(2, '0');\n return `${formattedHours}:${formattedMinutes}:${formattedSeconds}`;\n }\n\n private async getSimuladoById(): Promise {\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + `simulados/${this.simuladoId}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.maxTime = this.formatTime(data[0].duracao_minutos);\n resolve();\n });\n }\n\n private async getSimuladoStatus(): Promise {\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + `status-sessao/${this.simuladoId}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.startTimer(data[0].data_inicio);\n resolve();\n });\n }\n\n private async questoesRespondidas(): Promise {\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + `questoes-respondidas/${this.simuladoId}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.questions = data;\n resolve();\n });\n }\n\n private getQuestion(simuladoId, pageNumber) {\n this.isLoading = true;\n return new Promise(async (resolve, reject) => {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'GET',\n this.baseUrl + `simulado-questoes/${simuladoId}/${pageNumber}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n this.currentExercise = data.details;\n this.currentAnswers = data.alternatives;\n this.totalPages = data.pagination.total;\n this.answer = Number(data.respondida[0]);\n this.selectedOption = false;\n this.exerciseImageWidth = 100;\n\n this.isLoading = false;\n resolve(data);\n });\n }\n\n async ngOnInit() {\n this.simuladoId = this.activatedRoute.snapshot.paramMap.get('id');\n await this.getSimuladoStatus();\n await this.getSimuladoById();\n await this.questoesRespondidas();\n await this.getQuestion(this.simuladoId, this.currentPage);\n }\n\n ngOnDestroy() {\n clearTimeout(this.intervalId);\n }\n\n getLetter(index: number): string {\n return String.fromCharCode(65 + index);\n }\n\n async changePage(event, value: number) {\n event.preventDefault();\n this.currentPage += value;\n await this.getQuestion(this.simuladoId, this.currentPage);\n await this.questoesRespondidas();\n }\n\n selectOption(itemId) {\n this.answer = itemId;\n this.selectedOption = true;\n }\n\n updateImageSize() {\n this.el.nativeElement.querySelector(\n '#exerciseImageSource'\n ).style.width = `${this.exerciseImageWidth}%`;\n }\n\n async answerQuestion() {\n try {\n let data: any = await this.aprovaApiHelper\n .getData(\n 'POST',\n this.baseUrl + `responder-simulado/${this.simuladoId}`,\n {\n exercicio_id: this.currentExercise.id,\n resposta_id: this.answer,\n },\n this.getHeaders()\n )\n .toPromise();\n\n this.selectedOption = false;\n } catch (e) {\n if (e.error === 'Seu tempo para responder esse simulado acabou.') {\n alert(\n 'Infelizmente, o seu tempo para responder a esse simulado se esgotou.\\nAguarde o resultado na página de simulados.'\n );\n this.router.navigate(['/simulados']);\n } else {\n alert(\n 'Desculpe, houve um erro inesperado e sua resposta para o simulado não pôde ser processada.\\nAguarde alguns segundos e tente novamente.'\n );\n location.reload();\n }\n }\n }\n\n async changeQuestion(event) {\n this.currentPage = Number(event.target.value);\n await this.getQuestion(this.simuladoId, this.currentPage);\n await this.questoesRespondidas();\n }\n\n toggleSimulatedTime() {\n this.showSimulatedTime = !this.showSimulatedTime;\n }\n\n async endSimulation() {\n try {\n if (\n confirm('Você tem certeza que deseja finalizar o simulado?') == true\n ) {\n await this.aprovaApiHelper\n .getData(\n 'POST',\n this.baseUrl + `finalizar-simulado/${this.simuladoId}`,\n {},\n this.getHeaders()\n )\n .toPromise();\n\n alert(\"Parabéns! Você finalizou o simulado com sucesso. Por favor, aguarde o resultado na página de simulados. Obrigado por participar!\");\n this.router.navigate(['/simulados']);\n } else {\n return false;\n }\n } catch (e) {}\n }\n}\n","
\n
\n \n

Simulado

\n
\n
\n\n
\n
\n
\n
\n Selecionar questão\n \n
\n\n
\n {{ simulationDuration }} ({{maxTime}})\n \n \n
\n\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n

Questão {{ currentPage }}:

\n\n
\n \n
\n\n
\n \"\"\n
\n\n

\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n

Resposta

\n
\n

{{ currentExercise?.questionText }}

\n
\n
\n
\n {{ getLetter(i) }}\n

{{ item.alternative_text }}

\n \n
\n
\n
\n \n
\n
\n\n \n
\n
\n\n
\n \n
\n Anterior\n
\n

\n Questões disponíveis\n {{ currentPage }} de {{ totalPages }}\n

\n \n Próximo\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\n\n\ninterface Subcategory {\n subcategoryId: number;\n subcategoryName: string;\n count: number;\n difficulties: Difficulty[];\n questions: Question[];\n}\n\ninterface Difficulty {\n value: number;\n name: string;\n count: number;\n}\n\ninterface Question {\n questionId: number;\n questionText: string | null;\n exam: string;\n}\n\ninterface CorrectAnswers {\n count: number;\n subcategories: Subcategory[];\n}\n\ninterface IncorrectAnswers {\n count: number;\n subcategories: Subcategory[];\n}\n\ninterface AnswersSummary {\n correct: number;\n incorrect: number;\n}\n\ninterface SubcategoryAnswersSummary extends AnswersSummary {\n subcategoryId: number;\n subcategoryName: string;\n correctPercentage: number;\n}\n\ninterface Summary {\n subcategories: SubcategoryAnswersSummary[];\n correct: number;\n incorrect: number;\n}\n\n@Component({\n selector: 'app-jornada',\n templateUrl: './jornada.component.html',\n styleUrls: ['./jornada.component.css'],\n})\nexport class JornadaComponent implements OnInit {\n userPhotoUrl = './../assets/img/home/User-Pic.svg';\n userName = '';\n points = 0;\n achievements: any;\n ranking: any;\n categoryMetrics: Array = [];\n subcategoryMetrics: any;\n currentTab: string = 'category';\n\n currentDate: string;\n thirtyDaysAgo: string;\n chosenSubject: string = '1';\n\n correctAnswers: number = 0;\n totalAnswers: number = 0;\n\n constructor(private aprovaApiHelper: AprovaApiHelper) {}\n\n private async getRanking(): Promise {\n try {\n const data = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'ranking/monthly'\n );\n this.ranking = data;\n const MIN_ITEMS = 10;\n const defaultItem = {\n name: '',\n photo: '../../assets/img/home/User-Pic.svg',\n username: '',\n points: 0,\n };\n while (this.ranking.length < MIN_ITEMS) {\n this.ranking.push(defaultItem);\n }\n } catch (error) {\n console.error('Erro ao obter ranking:', error);\n }\n }\n\n private async getAchievements(): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'achievements/list'\n );\n this.achievements = data;\n\n this.achievements.forEach((element) => {\n let wid = (element.currentValue / element.goalValue) * 100;\n if (wid > 100) {\n wid = 100;\n }\n element.width = wid;\n });\n } catch (error) {\n console.error('Erro ao obter conquistas:', error);\n }\n }\n\n private async getMyPoints(): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'achievements/my/points'\n );\n this.points = data.totalPoints;\n } catch (error) {\n console.error('Erro ao obter pontos:', error);\n }\n }\n\n private async getExerciseMetrics(startDate, endDate, subjectId): Promise {\n try {\n const data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n `${this.aprovaApiHelper.baseURL}arsm/exercise_metrics/answer_count?startDate=${startDate}&endDate=${endDate}&subjectId=${subjectId}`\n );\n this.categoryMetrics = data.categoryMetrics;\n this.subcategoryMetrics = this.summarizeAnswers(data);\n this.correctAnswers = data.correctAnswers.count;\n this.totalAnswers = data.totalCount;\n } catch (error) {\n console.error('Erro ao obter métricas de exercício:', error);\n }\n }\n\n async ngOnInit() {\n this.userPhotoUrl = localStorage.getItem('user_photoURL');\n this.userName = localStorage.getItem('user_fullname');\n\n const now = new Date();\n this.currentDate = now.toISOString().substr(0, 10); // obtém a string no formato \"yyyy-MM-dd\"\n \n const thirtyDaysAgoDate = new Date();\n thirtyDaysAgoDate.setDate(thirtyDaysAgoDate.getDate() - 60);\n this.thirtyDaysAgo = thirtyDaysAgoDate.toISOString().substr(0, 10); // obtém a string no formato \"yyyy-MM-dd\"\n\n await Promise.all([\n this.getExerciseMetrics(this.thirtyDaysAgo, this.currentDate, this.chosenSubject),\n this.getMyPoints(),\n this.getAchievements(),\n this.getRanking(),\n ]);\n }\n\n summarizeAnswers(data: any) {\n const correctAnswers = data.correctAnswers.subcategories;\n const incorrectAnswers = data.incorrectAnswers.subcategories;\n const summary: SubcategoryAnswersSummary[] = [];\n \n // Loop through all subcategories in correctAnswers\n for (const subcategory of correctAnswers) {\n const incorrectSubcategory = incorrectAnswers.find(incorrect => incorrect.subcategoryId === subcategory.subcategoryId);\n const incorrectCount = incorrectSubcategory ? incorrectSubcategory.count : 0;\n summary.push({\n subcategoryId: subcategory.subcategoryId,\n subcategoryName: subcategory.subcategoryName,\n correct: subcategory.count,\n incorrect: incorrectCount,\n correctPercentage: 0,\n });\n }\n \n // Loop through all subcategories in incorrectAnswers that were not already included in summary\n for (const subcategory of incorrectAnswers) {\n const included = summary.find(summary => summary.subcategoryId === subcategory.subcategoryId);\n if (!included) {\n summary.push({\n subcategoryId: subcategory.subcategoryId,\n subcategoryName: subcategory.subcategoryName,\n correct: 0,\n incorrect: subcategory.count,\n correctPercentage: 0,\n });\n }\n }\n \n this.addCorrectPercentage(summary);\n \n return summary;\n }\n\n addCorrectPercentage(summary: SubcategoryAnswersSummary[]) {\n summary.forEach((subcategory: any) => {\n const totalQuestions = subcategory.correct + subcategory.incorrect;\n const correctPercentage = totalQuestions === 0 ? 0 : (subcategory.correct / totalQuestions) * 100;\n subcategory.correctPercentage = Number(correctPercentage.toFixed(2));\n });\n }\n\n calculatePercentage(correctAnswers, totalAnswers) {\n if (totalAnswers === 0) {\n return 0;\n }\n const percentage = (correctAnswers / totalAnswers) * 100;\n return percentage.toFixed(2);\n }\n\n changeTab(tabName: string) {\n this.currentTab = tabName;\n }\n\n async applyFilter(){\n await this.getExerciseMetrics(this.thirtyDaysAgo, this.currentDate, this.chosenSubject);\n }\n}\n","
\n
\n \n

Seja bem-vindo(a) à plataforma!

\n
\n
\n\n
\n
\n

Perfil

\n
\n
\n
\n \"\"\n
\n
\n {{ userName }}\n

\n \"\"\n {{ points }} pontos\n

\n
\n
\n
\n
    \n
    \n
    \n\n
    \n\n
    \n \n \n\n \n\n \n\n
    \n\n\n
    \n
    \n Desempenho por Categoria\n
    \n
    \n Desempenho por Subcategoria\n
    \n
    \n\n
    \n
    \n
    \n {{ currentTab === \"category\" ? \"Categoria\" : \"Subcategoria\" }}\n
    \n
    \n Respostas corretas / Respondidas\n
    \n
    % de acertos
    \n
    \n\n
      \n
    • \n
      \n
      {{ category.categoryName }}
      \n
      \n {{ category.correctCount }}/{{ category.totalCount }}\n
      \n
      \n {{ category.correctPercentage }}%\n
      \n
      \n
    • \n\n
    • \n
      \n
      Total
      \n
      \n {{correctAnswers}}/{{totalAnswers}}\n
      \n
      \n {{calculatePercentage(correctAnswers, totalAnswers)}}%\n
      \n
      \n
    • \n\n
    \n\n
      \n
    • \n
      \n
      {{ subcategory.subcategoryName }}
      \n
      \n {{ subcategory.correct }}/{{\n subcategory.correct + subcategory.incorrect\n }}\n
      \n
      \n {{ subcategory.correctPercentage }}%\n
      \n
      \n
    • \n
    \n
    \n
    \n\n
    \n

    Conquistas disponíveis

    \n\n
    \n
    \n
    \n \n
    \n
    \n

    {{ item.title }}

    \n

    {{ item.description }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n {{ item.currentValue }} / {{ item.goalValue }} \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
      \n
    • \n
      \n {{ i + 1 }}\n
      \n \"\"\n
      \n {{ item.username }}\n
      \n

      {{ item.points }} pts

      \n
    • \n
    \n
    \n\n \n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-mobile-nav',\n templateUrl: './mobile-nav.component.html',\n styleUrls: ['./mobile-nav.component.css']\n})\nexport class MobileNavComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n closeMenu(){\n const element = document.querySelector('.sidebar') as HTMLElement;\n element.style.display = 'none';\n }\n\n}\n","
    \n\t
    \n\t\t\n\t\t\"\"\n\t
    \n\t\n\n\t\n\n\t\tPrecisa de ajuda?\n\t\n
    \n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AprovaApiHelper } from './services/aprova-api-helper.service';\nimport { Router } from '@angular/router';\nimport { Location } from '@angular/common';\n\n@Injectable()\nexport class AppInitService {\n userData = new EventEmitter();\n constructor(private aprovaApiHelper: AprovaApiHelper, private router: Router, private location: Location) { }\n\n initApp(): Promise {\n const usersEndpoint = this.aprovaApiHelper.baseURL + 'users';\n\n return new Promise((resolve, reject) => {\n\n if (this.location.path().startsWith('/conexiameeting')) {\n resolve(true);\n return;\n }\n\n if (this.location.path().startsWith('/lex-login')) {\n resolve(true);\n return;\n }\n\n this.aprovaApiHelper\n .getAPIData('GET', usersEndpoint)\n .then((data: any) => {\n this.userData.emit(data);\n this.aprovaApiHelper.saveUserDataToLocalStorage(data);\n resolve(true);\n })\n .catch(() => {\n this.aprovaApiHelper\n .updateToken()\n .then(() => {\n this.aprovaApiHelper\n .getAPIData('GET', usersEndpoint)\n .then((data: any) => {\n this.userData.emit(data);\n this.aprovaApiHelper.saveUserDataToLocalStorage(data);\n resolve(true);\n });\n resolve(true);\n })\n .catch(() => {\n if (!this.location.path().startsWith('/login') && this.location.path() !== '') { \n sessionStorage.setItem('returnUrl', this.location.path()); \n }\n this.router.navigate(['/login']);\n resolve(true);\n });\n });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { AprovaApiHelper } from '../services/aprova-api-helper.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css'],\n})\nexport class LoginComponent implements OnInit {\n email: string;\n password: string;\n isLoading: boolean = false;\n showPassword = false;\n constructor(\n private aprovaApiHelper: AprovaApiHelper,\n private router: Router\n ) { }\n\n ngOnInit(): void { }\n\n async login(event) {\n event.preventDefault();\n this.isLoading = true;\n\n try {\n var token: any = await this.aprovaApiHelper\n .getData('POST', this.aprovaApiHelper.baseURL + 'auth/login', {\n email: this.email.trim(),\n password: this.password,\n })\n .toPromise();\n } catch (error) {\n this.isLoading = false;\n alert(\n 'Desculpe, não conseguimos encontrar sua conta com essas informações. Por favor, verifique se você digitou corretamente seu e-mail e senha e tente novamente.'\n );\n return;\n }\n\n localStorage.clear();\n localStorage.setItem('refreshToken', token.refreshToken);\n localStorage.setItem('token', token.authToken);\n\n try {\n var data: any = await this.aprovaApiHelper.getAPIData(\n 'GET',\n this.aprovaApiHelper.baseURL + 'users',\n {},\n true\n );\n } catch (error) {\n this.isLoading = false;\n alert(\n 'O período de teste para essa conta acabou! Procure o coordenador de sua unidade para mais informações'\n );\n return;\n }\n\n this.aprovaApiHelper.saveUserDataToLocalStorage(data.body);\n this.isLoading = false;\n this.aprovaApiHelper.resetAuthFailed();\n\n let returnUrl = sessionStorage.getItem('returnUrl');\n\n if (returnUrl && returnUrl.trim() !== '') {\n this.router.navigate([returnUrl]);\n } else {\n this.router.navigate(['/index']);\n }\n\n sessionStorage.clear();\n }\n}\n","
    \n
    \n \n \"\"\n \n
    \n\n
    \n
    \n
    \n

    Acesse sua conta

    \n

    Faça login na sua conta

    \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n \n \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    ","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouteChangeService {\n constructor(private router: Router) {}\n\n triggerRouteChange(url: string): void {\n/* const userPhoneNumber = localStorage.getItem('user_phoneNumber');\n const token = localStorage.getItem('token');\n \n if (\n token &&\n (userPhoneNumber === null || userPhoneNumber === '' || userPhoneNumber === '+55') &&\n url !== '/editar-perfil'\n ) {\n alert('Por favor, cadastre seu número de telefone antes de continuar usando a plataforma');\n this.router.navigate(['/editar-perfil']);\n } */\n }\n\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}