{"version":3,"file":"main.js","mappings":"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EAAE,EAAE;IAClB,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,YAAY;IAC1B,oBAAoB,EAAE,EAAE;IACxB,yBAAyB,EAAE,EAAE;IAC7B,YAAY,EAAE,EAAE;IAChB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,+BAA+B;AAC/B,sBAAsB;AAEtB,kDAAkD;AAClD,+CAA+C;AAC/C,uCAAuC;AACvC,4CAA4C;AAE5C,yBAAyB;AACzB,+BAA+B;AAC/B,sEAAsE;AACtE,2CAA2C;AAC3C,8BAA8B;AAC9B,gCAAgC;AAChC,8BAA8B;AAC9B,mCAAmC;AACnC,sBAAsB;AACtB,2BAA2B;AAC3B,oBAAoB;AACpB,KAAK;;;;;;;;;;;;;;;;;;AC3D0C;AAEF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC,CAAC;;;;;;;;;;;ACTpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACjQA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["./src/app/admin/admin-footer/admin-footer.component.ts","./src/app/admin/admin-header/admin-header.component.ts","./src/app/admin/admin-header/admin-header.component.html","./src/app/admin/admin-left-side/admin-left-side.component.ts","./src/app/admin/admin-left-side/admin-left-side.component.html","./src/app/admin/admin-manager/admin-manager-investors/admin-manager-investors.component.ts","./src/app/admin/admin-manager/admin-manager-investors/admin-manager-investors.component.html","./src/app/admin/admin-manager/admin-manager.component.ts","./src/app/admin/admin-manager/admin-manager.component.html","./src/app/admin/admin-round/round-token/round-token.component.ts","./src/app/admin/admin-round/round-token/round-token.component.html","./src/app/admin/admin-routing/admin-routing.module.ts","./src/app/admin/admin-user/admin-user-incomming/admin-user-incomming.component.ts","./src/app/admin/admin-user/admin-user-incomming/admin-user-incomming.component.html","./src/app/admin/admin-user/admin-user-portfolio/admin-user-portfolio.component.ts","./src/app/admin/admin-user/admin-user-portfolio/admin-user-portfolio.component.html","./src/app/admin/admin-user/admin-user-statement/admin-user-statement.component.ts","./src/app/admin/admin-user/admin-user-statement/admin-user-statement.component.html","./src/app/admin/admin-user/admin-user-trocar-senha/admin-user-trocar-senha.component.ts","./src/app/admin/admin-user/admin-user-trocar-senha/admin-user-trocar-senha.component.html","./src/app/admin/admin-user/admin-user-valuation/admin-user-valuation.component.ts","./src/app/admin/admin-user/admin-user-valuation/admin-user-valuation.component.html","./src/app/admin/admin-user/admin-user.component.ts","./src/app/admin/admin-user/admin-user.component.html","./src/app/admin/admin.component.ts","./src/app/admin/admin.component.html","./src/app/admin/admin.module.ts","./src/app/app-routing/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth/auth-routing/auth-routing.module.ts","./src/app/auth/auth.component.ts","./src/app/auth/auth.component.html","./src/app/auth/auth.module.ts","./src/app/auth/forgot/forgot.component.ts","./src/app/auth/forgot/forgot.component.html","./src/app/auth/login/login.component.ts","./src/app/auth/login/login.component.html","./src/app/auth/mfa/mfa.component.ts","./src/app/auth/mfa/mfa.html","./src/app/auth/register/register.component.ts","./src/app/auth/register/register.component.html","./src/app/core/core.module.ts","./src/app/core/enums/modalidades.enum.ts","./src/app/core/interface/scopes.ts","./src/app/core/interface/title-header.ts","./src/app/core/pipes/cep-mask.pipe.ts","./src/app/core/pipes/cnpj-mask.pipe.ts","./src/app/core/pipes/contract-status.pipe.ts","./src/app/core/pipes/cpf-mask.pipe.ts","./src/app/core/pipes/date-mask.pipe.ts","./src/app/core/pipes/money-mask.pipe.ts","./src/app/core/pipes/number-mask.pipe.ts","./src/app/core/pipes/phone-mask.pipe.ts","./src/app/core/pipes/pipes.module.ts","./src/app/core/service/PasswordStrengthService.service.ts","./src/app/core/service/auth.service.ts","./src/app/core/service/bank.service.ts","./src/app/core/service/cognito/aws.service.ts","./src/app/core/service/cognito/cognito.service.ts","./src/app/core/service/cognito/user-login.service.ts","./src/app/core/service/cognito/user-registration.service.ts","./src/app/core/service/company-captable.service.ts","./src/app/core/service/company-financial.service.ts","./src/app/core/service/company-partners.service.ts","./src/app/core/service/company.service.ts","./src/app/core/service/crud.service.ts","./src/app/core/service/event-emitter-service.service.ts","./src/app/core/service/excel.service.ts","./src/app/core/service/forum.service.ts","./src/app/core/service/investment-installment.service.ts","./src/app/core/service/investment.service.ts","./src/app/core/service/investor.service.ts","./src/app/core/service/loader.service.ts","./src/app/core/service/real-state.service.ts","./src/app/core/service/round.service.ts","./src/app/core/service/send-automatic.service.ts","./src/app/core/service/title.service.ts","./src/app/core/service/user.service.ts","./src/app/guards/route.guard.ts","./src/app/interceptors/token.interceptor.ts","./src/app/share/bar/bar.component.ts","./src/app/share/bar/bar.component.html","./src/app/share/chartjs/chartjs.component.ts","./src/app/share/chartjs/chartjs.component.html","./src/app/share/count/count.component.ts","./src/app/share/count/count.component.html","./src/app/share/doughnut/doughnut.component.ts","./src/app/share/doughnut/doughnut.component.html","./src/app/share/file-drop/file-drop.component.ts","./src/app/share/file-drop/file-drop.component.html","./src/app/share/form/form.component.ts","./src/app/share/form/form.component.html","./src/app/share/general-terms/general-terms.component.ts","./src/app/share/general-terms/general-terms.component.html","./src/app/share/loader/loader.component.ts","./src/app/share/loader/loader.component.html","./src/app/share/modal/modal.component.ts","./src/app/share/modal/modal.component.html","./src/app/share/radar/radar.component.ts","./src/app/share/radar/radar.component.html","./src/app/share/radio/radio.component.ts","./src/app/share/radio/radio.component.html","./src/app/share/share.module.ts","./src/app/share/t-chartjs/t-chartjs.component.ts","./src/app/share/t-chartjs/t-chartjs.component.html","./src/app/share/table/table.component.ts","./src/app/share/toastr/toastr.component.ts","./src/environments/environment.ts","./src/main.ts","/codebuild/output/src2088074876/src/Investplus-Frontend-V1/node_modules/moment/locale|sync|/^\\.\\/.*$/","ignored|/codebuild/output/src2088074876/src/Investplus-Frontend-V1/node_modules/aws-sdk/lib|fs","ignored|/codebuild/output/src2088074876/src/Investplus-Frontend-V1/node_modules/xlsx|crypto","ignored|/codebuild/output/src2088074876/src/Investplus-Frontend-V1/node_modules/xlsx|fs","ignored|/codebuild/output/src2088074876/src/Investplus-Frontend-V1/node_modules/xlsx|stream"],"sourcesContent":["import { Component, OnInit } from \"@angular/core\";\nimport { UserLoginService } from \"../../core/service/cognito/user-login.service\";\nimport { Router } from \"@angular/router\";\nimport { EventEmitterService } from \"../../core/service/event-emitter-service.service\";\nimport { Investor } from \"../../core/interface/investor\";\nimport { Scopes } from \"../../core/interface/scopes\";\nimport { CognitoUtil } from \"../../core/service/cognito/cognito.service\";\n\n@Component({\n selector: \"app-admin-footer\",\n templateUrl: \"./admin-footer.component.html\",\n styleUrls: [\"./admin-footer.component.css\"],\n})\nexport class AdminFooterComponent implements OnInit {\n investor: Investor;\n getFirtLetter: any;\n scopes = new Scopes();\n scopesUser = [];\n\n constructor(\n private userService: UserLoginService,\n private router: Router,\n private cognitoUtil: CognitoUtil,\n private eventEmitter: EventEmitterService\n ) {}\n\n base64textString = \"\";\n\n ngOnInit() {\n const $this = this;\n const cognitoUser = this.cognitoUtil.getCurrentUser();\n if (cognitoUser != null) {\n cognitoUser.getSession(function (err, session) {\n if (session.isValid()) {\n const tokenId = session.getIdToken();\n const cognitoGroups = tokenId[\"payload\"][\"cognito:groups\"];\n cognitoGroups.forEach((element) => {\n $this.scopesUser[element] = true;\n });\n }\n });\n }\n Object.assign(this.scopes, this.scopesUser);\n\n this.getUser();\n }\n\n // logout() {\n // this.userService.logout();\n // window.location.href = \"https://investplus.vc\";\n // }\n\n getUser() {\n this.eventEmitter.emitter.subscribe((response) => {\n if (response.name === \"get.user\") {\n this.investor = response.data;\n this.base64textString =\n response.data.avatar === undefined\n ? \"./../../../assets/img/default-profile_01.png\"\n : \"data:image/png;base64,\" + response.data.avatar;\n this.getFirtLetter = response.data.nickname.charAt(0);\n }\n });\n }\n}\n","import { Component, OnInit, Renderer2, ElementRef, ViewChild } from \"@angular/core\";\nimport { UserLoginService } from \"../../core/service/cognito/user-login.service\";\nimport { Router } from \"@angular/router\";\nimport { Scopes } from '../../core/interface/scopes';\nimport { CognitoUtil } from '../../core/service/cognito/cognito.service';\nimport { EventEmitterService } from \"../../core/service/event-emitter-service.service\";\nimport { Investor } from \"../../core/interface/investor\";\nimport { TitleService } from \"../../core/service/title.service\";\nimport { TitleHeader } from \"../../core/interface/title-header\";\n\ndeclare var toastr: any;\n\n@Component({\n selector: \"app-admin-header\",\n templateUrl: \"./admin-header.component.html\",\n styleUrls: [\"./admin-header.component.css\"],\n})\nexport class AdminHeaderComponent implements OnInit {\n\n investor: Investor;\n getFirtLetter: any;\n sidebarExpanded = true;\n titleHeader: TitleHeader;\n scopes = new Scopes;\n scopesUser = [];\n\n isMenuOppened = false;\n\n isCollapsed = false;\n\n isSvgRotated = false;\n isSvgRotatedImportated = false;\n\n enterpriseSubItens = [\n {\n name: 'Investidores',\n link: '/admin/investors',\n subCategory: null,\n isExpanded: false\n },\n {\n name: 'Publicação',\n link: null,\n subCategory: [\n {\n name: 'Atualizar Dados',\n link: '/admin/rounds/approval',\n },\n {\n name: 'Criar Rodada',\n link: '/admin/rounds/approval/company/final',\n },\n {\n name: 'Atualizar Rodada',\n link: '/admin/rounds/approval/company/publish',\n },\n ],\n isExpanded: false\n },\n {\n name: 'Atualizações',\n link: null,\n subCategory: [\n {\n name: 'Dados gerais',\n link: '/admin/rounds/approval',\n },\n {\n name: 'Valutation',\n link: '/admin/rounds/company/valuation',\n },\n {\n name: 'Captable',\n link: '/admin/rounds/company/captable',\n },\n {\n name: 'Receita e despesa',\n link: '/admin/rounds/company/financial',\n },\n {\n name: 'Administradores',\n link: '/admin/rounds/company/admin',\n },\n {\n name: 'Equipe Executiva',\n link: '/admin/rounds/company/team',\n },\n {\n name: 'Quadro societário',\n link: '/admin/rounds/company/partners',\n },\n ],\n isExpanded: false\n },\n {\n name: 'Investimentos',\n link: null,\n subCategory: [\n {\n name: 'Investimentos Realizados',\n link: '/admin/rounds/company/investments',\n },\n ],\n isExpanded: false\n },\n ];\n\n importatedSubItens = [\n {\n name: 'Criar Rodada',\n link: '/admin/rounds/approval/company/publish',\n }\n ];\n\n toggleMenu(): void {\n this.isMenuOppened = !this.isMenuOppened;\n }\n\n toggleSvgRotation(): void {\n this.isSvgRotated = !this.isSvgRotated;\n }\n\n toggleSvgRotationImportated(): void {\n this.isSvgRotatedImportated = !this.isSvgRotatedImportated;\n }\n\n toggleSubItems(item): void {\n item.isExpanded = !item.isExpanded;\n }\n\n constructor(\n private userService: UserLoginService,\n private router: Router,\n private cognitoUtil: CognitoUtil,\n private eventEmitter: EventEmitterService,\n private data: TitleService,\n private renderer: Renderer2,\n private el: ElementRef\n ) { }\n\n base64textString = \"\";\n\n ngOnInit() {\n this.data.currentMessage.subscribe((titles) => (this.titleHeader = titles));\n this.getUser();\n const $this = this;\n const cognitoUser = this.cognitoUtil.getCurrentUser();\n if (cognitoUser != null) {\n cognitoUser.getSession(function (err, session) {\n if (session.isValid()) {\n const tokenId = session.getIdToken();\n const cognitoGroups = tokenId['payload']['cognito:groups'];\n cognitoGroups.forEach(element => {\n $this.scopesUser[element] = true;\n });\n }\n });\n }\n Object.assign(this.scopes, this.scopesUser);\n this.getUser();\n }\n\n // logout() {\n // this.userService.logout();\n // window.location.href = \"https://investplus.vc/\";\n // }\n\n getUser() {\n this.eventEmitter.emitter.subscribe((response) => {\n if (response.name === \"get.user\") {\n this.investor = response.data;\n this.base64textString =\n response.data.avatar === undefined\n ? \"./../../../assets/img/default-profile_01.png\"\n : \"data:image/png;base64,\" + response.data.avatar;\n this.getFirtLetter = response.data.nickname.charAt(0);\n \n const {\n areasInterestLearning,\n favoriteChannel,\n interestSectors,\n motivationInvestment,\n objectiveInvestment,\n otherMotivation,\n otherSector,\n skillsDevelop,\n email,\n fullName,\n phone,\n nickname,\n rg\n } = response.data;\n \n const arraysEmpty =\n !areasInterestLearning.length &&\n !favoriteChannel.length &&\n !interestSectors.length &&\n !motivationInvestment.length &&\n !objectiveInvestment.length &&\n !otherMotivation.length &&\n !otherSector.length &&\n !skillsDevelop.length;\n \n const requiredFieldsFilled =\n email &&\n fullName &&\n phone &&\n nickname &&\n rg;\n \n if (arraysEmpty && requiredFieldsFilled && !document.querySelector('.toast-warning')) {\n toastr.options = {\n closeButton: true,\n timeOut: 10000, \n extendedTimeOut: 5000, \n progressBar: true, \n positionClass: \"toast-top-right\",\n };\n \n toastr.warning(\n \"Na Aba de preenchimento de seu perfil foram adicionadas perguntas de qualificação de investidor e a seção de aprendizado. Por favor, preencha essas perguntas o mais breve possível.\",\n \"Atenção\"\n );\n }\n }\n });\n }\n \n \n\n adjustHeaderWidth(sidebarExpanded: boolean) {\n console.log(\"header componente\", sidebarExpanded)\n this.sidebarExpanded = sidebarExpanded;\n this.updateHeaderStyle();\n }\n\n updateHeaderStyle() {\n const headerElement = this.el.nativeElement.querySelector('.main-header nav');\n if (headerElement) {\n const marginLeft = this.sidebarExpanded ? '17.35%' : '6%';\n const width = this.sidebarExpanded ? 'calc(100% - 17.4%)' : 'calc(100% - 6%)';\n\n this.renderer.setStyle(headerElement, 'margin-left', marginLeft);\n this.renderer.setStyle(headerElement, 'width', width);\n }\n }\n\n logout() {\n this.userService.logout();\n window.location.href = \"/auth/login\";\n }\n\n\n}\n","
\n\t
\n\t\t
\n\t\t\t\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t\t

Menu

\n\t\t\n\n\t\t
\n\t\t

Outros

\n\t\t\n\t
\n\n\n\t\n\t\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Scopes } from '../../core/interface/scopes';\nimport { CognitoUtil } from '../../core/service/cognito/cognito.service';\nimport { EventEmitterService } from '../../core/service/event-emitter-service.service';\nimport { Investor } from '../../core/interface/investor';\nimport { InvestorService } from '../../core/service/investor.service';\nimport { UserLoginService } from \"../../core/service/cognito/user-login.service\";\nimport { Router } from '@angular/router';\n\ndeclare var toastr: any;\n\n@Component({\n selector: 'app-admin-left-side',\n templateUrl: './admin-left-side.component.html',\n styleUrls: ['./admin-left-side.component.css']\n})\nexport class AdminLeftSideComponent implements OnInit {\n @Output() sidebarToggle = new EventEmitter();\n showDiv1: boolean = true;\n scopes = new Scopes;\n scopesUser = [];\n investor: Investor;\n base64textString = '';\n activeButton: string = 'start';\n isCollapsed = false;\n\n isSvgRotated = false;\n isSvgRotatedImportated = false;\n\n enterpriseSubItens = [\n {\n name: 'Cadastrar empresas',\n link: '/admin/rounds/approval',\n isExpanded: false\n },\n ];\n\n importatedSubItens = [\n {\n name: 'Criar Rodada',\n link: '/admin/rounds/approval/company/publish',\n }\n ];\n\n toggleSvgRotation(): void {\n this.isSvgRotated = !this.isSvgRotated;\n }\n\n companyTabs(): void {\n this.redirectTo('/admin/rounds/approval/');\n }\n\n public redirectTo(uri: string): void {\n this.router.navigateByUrl('/', {\n skipLocationChange: true\n }).then(() =>\n this.router.navigate([uri]));\n }\n\n toggleSvgRotationImportated(): void {\n this.isSvgRotatedImportated = !this.isSvgRotatedImportated;\n }\n\n toggleSubItems(item): void {\n item.isExpanded = !item.isExpanded;\n }\n\n constructor(\n private cognitoUtil: CognitoUtil,\n private eventEmitter: EventEmitterService,\n private investorService: InvestorService,\n private userService: UserLoginService,\n private router: Router,\n ) { }\n\n ngOnInit() {\n const $this = this;\n const cognitoUser = this.cognitoUtil.getCurrentUser();\n if (cognitoUser != null) {\n cognitoUser.getSession(function (err, session) {\n if (session.isValid()) {\n const tokenId = session.getIdToken();\n const cognitoGroups = tokenId['payload']['cognito:groups'];\n cognitoGroups.forEach(element => {\n $this.scopesUser[element] = true;\n });\n }\n });\n }\n Object.assign(this.scopes, this.scopesUser);\n this.getUser();\n }\n\n getUser() {\n this.eventEmitter.emitter.subscribe((response) => {\n if (response.name === 'get.user') {\n this.investor = response.data;\n }\n });\n\n // this.investorService.getUser().subscribe((response) => {\n // this.base64textString = response.avatar === undefined ? './../../../assets/img/default-profile_01.png' : 'data:image/png;base64,' + response.avatar;\n // });\n }\n\n onDevelopmentToast() {\n toastr.options = {\n closeButton: true,\n debug: false,\n newestOnTop: false,\n progressBar: true,\n positionClass: \"toast-top-right\",\n preventDuplicates: true,\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"10000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\",\n };\n\n toastr.success('Em desenvolvimento');\n }\n\n\n setActiveButton(buttonType: string) {\n this.activeButton = buttonType;\n }\n\n toggleSidebar() {\n this.isCollapsed = !this.isCollapsed;\n }\n\n toggleDivs() {\n this.showDiv1 = !this.showDiv1;\n this.sidebarToggle.emit(this.showDiv1);\n }\n\n\n logout() {\n this.userService.logout();\n window.location.href = \"/auth/login\";\n }\n}\n","
\n
\n
\n \n \n \n
\n\n
\n \n
\n
\n Reduzir\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

Menu

\n \n\n
\n

Outros

\n \n
\n\n\n
\n
\n
\n \n \n \n
\n\n
\n \n
\n
\n Expandir\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n

Menu

\n \n
\n

Outros

\n \n
\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { InvestorService } from '../../../core/service/investor.service';\nimport { ExcelService } from '../../../core/service/excel.service';\nimport { TitleHeader } from '../../../core/interface/title-header';\nimport { TitleService } from '../../../core/service/title.service';\n\n@Component({\n selector: 'app-admin-manager-investors',\n templateUrl: './admin-manager-investors.component.html',\n styleUrls: ['./admin-manager-investors.component.css']\n})\nexport class AdminManagerInvestorsComponent implements OnInit {\n\n titleHeader: TitleHeader;\n investors: any[] = [];\n totalInvestors: number;\n actualTotalInvestors: number = 0;\n status = 'PENDING_EVALUATION';\n loader: boolean = true;\n totalPages: number;\n textRegister = 'Nenhum registro encontrado.';\n currentPage = 1;\n itemsPerPage = 10;\n responsive = true;\n labels: any = {\n previousLabel: 'Anterior',\n nextLabel: 'Próximo'\n };\n\n constructor(\n private investorService: InvestorService, \n private excelService: ExcelService, \n private data: TitleService,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.getAllInvestors();\n }\n\n changePage(page: number) {\n if (page < 1 || page > this.totalPages) return;\n\n this.loader = true;\n this.investorService.getAllUsers(page - 1, this.itemsPerPage).subscribe(\n (response) => {\n this.investors = response.content;\n this.currentPage = page;\n this.totalPages = response.totalPages;\n this.loader = false;\n this.cdr.detectChanges(); // Força a detecção de mudanças\n console.log('Investidores carregados:', this.investors); // Verifique os dados no console\n },\n (error) => {\n console.error('Erro ao mudar de página:', error);\n this.loader = false;\n }\n );\n }\n\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.getAllInvestors();\n }\n\n getPaginationRange(totalPages: number): (number | string)[] {\n const pages: (number | string)[] = [];\n const maxVisiblePages = 3;\n\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n if (this.currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push(i);\n }\n pages.push('...');\n pages.push(totalPages);\n } else if (this.currentPage > totalPages - 3) {\n pages.push(1);\n pages.push('...');\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('...');\n for (let i = this.currentPage - 1; i <= this.currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('...');\n pages.push(totalPages);\n }\n }\n\n return pages;\n }\n\n getAllInvestors() {\n this.loader = true;\n this.data.currentMessage.subscribe(titles => this.titleHeader = titles);\n this.titleHeader.title = 'Administração / Base de Investidores';\n this.data.changeTitle(this.titleHeader);\n\n this.investorService.getAllUsers(0, this.itemsPerPage).subscribe(\n (response) => {\n this.totalPages = response.totalPages;\n this.totalInvestors = response.totalElements;\n this.investors = response.content;\n this.actualTotalInvestors = response.totalElements;\n this.loader = false;\n this.cdr.detectChanges(); // Força a detecção de mudanças\n console.log('Investidores carregados:', this.investors); // Verifique os dados no console\n },\n (error) => {\n if (error.status === 500) {\n window.location.reload();\n } else {\n this.loader = false;\n console.error('Erro ao buscar investidores:', error);\n }\n }\n );\n }\n\n exportAsXLSX(): void {\n this.loader = true;\n const allInvestors = [];\n \n this.investorService.getAllUsers(0, 100).subscribe(\n (response) => {\n allInvestors.push(...response.content);\n \n const requests = [];\n for (let page = 1; page < this.totalPages; page++) {\n requests.push(this.investorService.getAllUsers(page, 100).toPromise());\n }\n \n Promise.all(requests)\n .then((responses) => {\n responses.forEach((res) => {\n allInvestors.push(...res.content);\n });\n\n const formattedInvestors = [\n {\n Nome: `Total de investidores: ${this.actualTotalInvestors}`, \n email: '',\n phone: '',\n cpf: '',\n cnpj: '',\n rg: '',\n investor_profile_statement: '',\n uf: '',\n city: '',\n totalInvestedOthers: '',\n created: ''\n },\n ...allInvestors.map(investor => ({\n Nome: investor.fullName,\n email: investor.email,\n phone: investor.phone,\n cpf: investor.cpf,\n cnpj: investor.cnpj,\n rg: investor.rg,\n investor_profile_statement: investor.investorProfileStatement,\n uf: investor.address?.uf || '',\n city: investor.address?.city || '',\n totalInvestedOthers: investor.totalInvestedOthers > 0 ? 'S' : 'N',\n created: new Date(investor.created).toLocaleDateString('pt-BR'),\n }))\n ];\n\n this.excelService.exportAsExcelFile(formattedInvestors, 'investors');\n this.loader = false;\n })\n .catch((error) => {\n console.error(\"Erro ao buscar todos os investidores:\", error);\n this.loader = false;\n });\n },\n (error) => {\n console.error(\"Erro ao buscar a primeira página de investidores:\", error);\n this.loader = false;\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
NomeEmailTelefoneCPF/CNPJRGPossui InvestimentoCadastro
{{ investor.fullName }}{{ investor.email }}{{ investor.phone | phone }}{{ investor.cpf | cpf }} {{ investor.cnpj | cnpj }}{{ investor.rg }}{{ investor.totalInvestedOthers > 0 ? 'S' : 'N' }}{{ investor.created | date:'dd/MM/yyyy' }}
\n 0)\" [textContador]=\"textRegister\">\n\n
\n

\n Anterior\n

\n
\n 1\">\n
\n

\n {{ page }}\n

\n
\n
\n
\n

\n Próximo\n

\n \n
\n\n
\n

Total de investidores: {{ actualTotalInvestors }}

\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin-manager',\n templateUrl: './admin-manager.component.html',\n styleUrls: ['./admin-manager.component.css']\n})\nexport class AdminManagerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","","import { LoaderService } from './../../../core/service/loader.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { RoundService } from '../../../core/service/round.service';\nimport { Router } from '@angular/router';\nimport { TitleHeader } from '../../../core/interface/title-header';\nimport { TitleService } from '../../../core/service/title.service';\n\ndeclare var toastr: any;\ndeclare var bootbox: any;\n\n@Component({\n selector: 'app-round-token',\n templateUrl: './round-token.component.html',\n styleUrls: ['./round-token.component.css']\n})\n\nexport class RoundTokenComponent implements OnInit {\n\n form: FormGroup;\n titleHeader: TitleHeader;\n\n loading: boolean = false;\n\n constructor(\n private formBuilder: FormBuilder,\n private tokenService: RoundService,\n private router: Router,\n private data: TitleService,\n private loaderService: LoaderService\n ) { }\n\n ngOnInit() {\n console.log(\"teste\")\n this.data.currentMessage.subscribe(titles => this.titleHeader = titles);\n this.titleHeader.title = 'Investimentos / Rodadas Exclusivas';\n this.data.changeTitle(this.titleHeader);\n this.initForm();\n }\n\n initForm() {\n this.form = this.formBuilder.group({\n token: [null, [Validators.required]]\n });\n }\n\n validateAllFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched({\n onlySelf: true\n });\n } else if (control instanceof FormGroup) {\n this.validateAllFields(control);\n }\n });\n }\n\n onSubmit() {\n if (this.form.valid) {\n const dataSend = this.form.value;\n\n const token = {\n token: dataSend.token\n };\n\n const $this = this;\n\n this.loading = true;\n this.loaderService.load(this.loading);\n this.tokenService.createToken(token).subscribe((response) => {\n // toastr.success('Seu token foi enviado!');\n bootbox.dialog({\n title: '',\n message: 'Seu token foi enviado com sucesso! A partir de agora você terá acesso a respectiva rodada exclusiva.',\n buttons: {\n 'success': {\n label: 'Entendi',\n className: 'bg-upangel',\n callback: function () {\n $this.router.navigate(['/admin/rounds/company/list']);\n }\n }\n }\n });\n }, (error) => {\n if (error.status === 404) {\n toastr.error('O token informado não existe.');\n } else {\n toastr.error('Ocorreu um erro, contate o administrador.');\n }\n }, () => {\n this.loading = false;\n this.loaderService.load(this.loading);\n });\n } else {\n this.validateAllFields(this.form);\n toastr.error('Formulário preenchido incorretamente. Por favor revise seus dados.');\n }\n }\n\n}\n","
\n
\n
\n
\n
\n
\n

Insira abaixo o seu token para ter acesso a rodada exclusiva.

\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n","import { AdminUserTrocarSenhaComponent } from './../admin-user/admin-user-trocar-senha/admin-user-trocar-senha.component';\nimport { AdminUserComponent } from \"./../admin-user/admin-user.component\";\nimport { AdminComponent } from \"./../admin.component\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\nimport { AdminUserPortfolioComponent } from \"../admin-user/admin-user-portfolio/admin-user-portfolio.component\";\nimport { AdminUserValuationComponent } from \"../admin-user/admin-user-valuation/admin-user-valuation.component\";\nimport { AdminManagerInvestorsComponent } from \"../admin-manager/admin-manager-investors/admin-manager-investors.component\";\nimport { RouteGuard } from \"../../guards/route.guard\";\nimport { AdminUserIncommingComponent } from \"../admin-user/admin-user-incomming/admin-user-incomming.component\";\nimport { AdminUserStatementComponent } from \"../admin-user/admin-user-statement/admin-user-statement.component\";\nimport { RoundTokenComponent } from '../admin-round/round-token/round-token.component';\n@NgModule({\n imports: [\n RouterModule.forChild([\n {\n path: \"\",\n component: AdminComponent,\n canLoad: [RouteGuard],\n canActivate: [RouteGuard],\n canActivateChild: [RouteGuard],\n children: [\n { path: \"\", redirectTo: \"rounds\", pathMatch: \"full\" },\n {\n path: \"rounds/token\",\n component: RoundTokenComponent\n },\n {\n path: \"portfolio\",\n component: AdminUserPortfolioComponent,\n data: { scopes: [\"ROLE_INVESTOR\"] },\n },\n {\n path: \"incomming\",\n component: AdminUserIncommingComponent,\n data: { scopes: [\"ROLE_INVESTOR\"] },\n },\n {\n path: \"statement\",\n component: AdminUserStatementComponent,\n data: { scopes: [\"ROLE_INVESTOR\"] },\n },\n {\n path: \"investors\",\n component: AdminManagerInvestorsComponent,\n data: { scopes: [\"ROLE_ADMIN\"] },\n },\n {\n path: \"valuation/company/:id/round/:id2/incomming/:id3\",\n component: AdminUserValuationComponent,\n data: { scopes: [\"ROLE_INVESTOR\"] },\n },\n {\n path: \"user\",\n data: { scopes: [\"ROLE_INVESTOR\"] },\n children: [\n { path: \"\", redirectTo: \"perfil\", pathMatch: \"full\" },\n {\n path: \"perfil\",\n component: AdminUserComponent,\n data: { scopes: [\"ROLE_INVESTOR\"] },\n },\n {\n path: \"trocar-senha\",\n component: AdminUserTrocarSenhaComponent\n },\n ],\n },\n {\n path: 'rounds',\n loadChildren: () => import('../admin-round/admin-round.module').then((m) => m.AdminRoundModule),\n },\n {\n path: \"company\",\n loadChildren: () => import('../company/company.module').then(m => m.CompanyModule),\n data: { scopes: [\"ROLE_COMPANY\"] },\n },\n ],\n },\n ]),\n ],\n exports: [RouterModule],\n})\nexport class AdminRoutingModule { }\n","import { DateMaskPipe } from './../../../core/pipes/date-mask.pipe';\nimport { TiposModalidades } from './../../../core/enums/modalidades.enum';\nimport { Component, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { InvestorService } from \"../../../core/service/investor.service\";\nimport { TitleHeader } from \"../../../core/interface/title-header\";\nimport { TitleService } from \"../../../core/service/title.service\";\n\ndeclare var moment: any;\n\n@Component({\n selector: \"app-admin-user-incomming\",\n templateUrl: \"./admin-user-incomming.component.html\",\n styleUrls: [\"./admin-user-incomming.component.css\"],\n})\nexport class AdminUserIncommingComponent implements OnInit {\n form: FormGroup;\n titleHeader: TitleHeader;\n loader: boolean;\n textRegister = \"Nenhum registro encontrado.\";\n p = 1;\n q = 1;\n responsive = true;\n labels: any = {\n previousLabel: \"Anterior\",\n nextLabel: \"Próximo\",\n };\n incommings = [];\n dataInvestment: any;\n dataInvestmentFilter: any;\n firstDay: any;\n lastDay: any;\n\n sumInvestment = 0;\n\n constructor(\n private investorService: InvestorService,\n private formBuilder: FormBuilder,\n private data: TitleService,\n private dateMask: DateMaskPipe\n ) {}\n\n ngOnInit() {\n this.data.currentMessage.subscribe((titles) => (this.titleHeader = titles));\n this.titleHeader.title = \"Meu Perfil / Meus Investimentos\";\n this.data.changeTitle(this.titleHeader);\n this.firstDay = moment().subtract(24, \"months\").format(\"01/MM/YYYY\");\n this.lastDay = moment().endOf(\"month\").format(\"DD/MM/YYYY\");\n this.getUserInvestments();\n this.initForm();\n }\n\n initForm() {\n this.form = this.formBuilder.group({\n initialDate: [this.firstDay],\n finalDate: [this.lastDay],\n });\n }\n\n private getUserInvestments(): void {\n this.loader = true;\n this.investorService.getUser().subscribe((response) => {\n this.dataInvestment = response.realStateInvestments;\n\n if (this.dataInvestment != null) {\n this.dataInvestment\n .sort(function (a, b) {\n // Turn your strings into dates, and then subtract them\n // to get a value that is either negative, positive, or zero.\n return new Date(a.date).getTime() - new Date(b.date).getTime();\n })\n .reverse();\n\n this.dataInvestmentFilter = this.dataInvestment;\n\n for (let i = 0; i < this.dataInvestmentFilter.length; i++) {\n this.sumInvestment += this.dataInvestmentFilter[i].value;\n }\n }\n\n this.filterInvestment();\n const $this = this;\n setTimeout(function () {\n $this.initMask();\n }, 2000);\n this.loader = false;\n });\n }\n\n initMask() {\n const SPMaskBehavior = function (val) {\n return val.replace(/\\D/g, \"\").length === 11\n ? \"(00) 00000-0000\"\n : \"(00) 0000-00009\";\n },\n spOptions = {\n onKeyPress: function (val, e, field, options) {\n field.mask(SPMaskBehavior.apply({}, arguments), options);\n },\n };\n $(\".phone\").mask(SPMaskBehavior, spOptions);\n $(\".zipCode\").mask(\"00000-000\");\n $(\".cpf\").mask(\"000.000.000-00\");\n $(\".dateOfInvestment\").mask(\"00/00/0000\");\n $(\".money\").mask(\"#.##0,00\", {\n reverse: true,\n });\n }\n\n public maskStatus(status: string): string {\n let formatedStatus = \"\";\n switch (status) {\n case \"PENDING\":\n formatedStatus = \"PENDENTE\";\n break;\n case \"CONTRACT_SEND\":\n formatedStatus = \"ENVIADO\";\n break;\n case \"CONTRACT_SIGNED\":\n formatedStatus = \"ASSINADO\";\n break;\n case \"CONFIRMED\":\n formatedStatus = \"CONFIRMADO\";\n break;\n }\n return formatedStatus;\n }\n\n public maskContract(contract: string): string {\n return contract == null ? \" \" : contract;\n }\n\n public maskSigned(date: any): string {\n return date == null ? \"------\" : this.dateMask.transform(date);\n }\n\n public maskStatusRound(status: string): string {\n let formatedStatus = \"\";\n switch (status) {\n case \"IN_PROGRESS\":\n formatedStatus = \"ANDAMENTO\";\n break;\n case \"FINISHED\":\n formatedStatus = \"CONCLUÍDA\";\n break;\n }\n return formatedStatus;\n }\n\n public maskModel(model: string): string {\n const aux = TiposModalidades[model];\n if (!aux) {\n return \"\"\n }\n\n return aux;\n }\n\n public filterInvestment() {\n if (this.dataInvestment != null) {\n let initialDate = this.form.controls[\"initialDate\"].value;\n let finalDate = this.form.controls[\"finalDate\"].value;\n\n if (this.validateDate(initialDate) && this.validateDate(finalDate)) {\n initialDate = new Date(\n this.dateMask.transform(this.form.controls[\"initialDate\"].value, 'AMERICAN')\n );\n finalDate = new Date(\n this.dateMask.transform(this.form.controls[\"finalDate\"].value, 'AMERICAN')\n );\n\n this.dataInvestmentFilter = this.dataInvestment.filter(function (a) {\n const aDate = new Date(a.date);\n return aDate >= initialDate && aDate <= finalDate;\n });\n\n this.sumInvestment = 0;\n\n for (let i = 0; i < this.dataInvestmentFilter.length; i++) {\n this.sumInvestment += this.dataInvestmentFilter[i].value;\n }\n }\n }\n }\n\n public clearInitial(): void {\n this.form.controls[\"initialDate\"].setValue(\"\");\n }\n\n public clearFinal(): void {\n this.form.controls[\"finalDate\"].setValue(\"\");\n }\n\n private validateDate(input: string): boolean {\n const date = input;\n let ardt = new Array();\n const ExpReg = new RegExp(\n \"(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}\"\n );\n ardt = date.split(\"/\");\n let erro = false;\n if (date.search(ExpReg) === -1) {\n erro = true;\n } else if (\n (ardt[1] === 4 || ardt[1] === 6 || ardt[1] === 9 || ardt[1] === 11) &&\n ardt[0] > 30\n ) {\n erro = true;\n } else if (ardt[1] === 2) {\n if (ardt[0] > 28 && ardt[2] % 4 !== 0) {\n erro = true;\n }\n if (ardt[0] > 29 && ardt[2] % 4 === 0) {\n erro = true;\n }\n }\n if (erro) {\n return false;\n }\n return true;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n \n
\n \n
\n
\n

VALOR PATRIMONIAL

\n

R$ {{ sumInvestment | moneyMask }}

\n
\n
\n \n
\n \n \n
\n \n
\n \n
\n
\n
\n
    \n \n \n
    \n \n \n \n \n {{ maskStatus(incomming.status) }}\n

    \n \n {{ incomming.date | date }}\n CONTRATO: {{ maskContract(incomming.contractExternalId) }}\n

    \n
    \n
    \n
    \n

    EMPREENDIMENTO

    \n

    \n {{ incomming.company }}\n {{ incomming.property }}\n

    \n
    \n
    \n

    COTAS

    \n

    {{ incomming.quotas }}

    \n
    \n
    \n

    VALOR

    \n

    \n R$ {{ incomming.value | moneyMask }}\n

    \n
    \n
    \n

    DT. ASSINATURA

    \n

    \n {{ maskSigned(incomming.contractSignedAt) }}\n

    \n
    \n
    \n

    PARCELAMENTO

    \n

    \n {{ incomming.installments }}\n

    \n
    \n
    \n

    documentos

    \n \n \n Evolução da oferta\n \n

    \n
    \n
    \n
    \n
    \n \n
  • \n \n
  • \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, HostListener } from \"@angular/core\";\nimport { InvestorService } from \"../../../core/service/investor.service\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { TitleHeader } from \"../../../core/interface/title-header\";\nimport { TitleService } from \"../../../core/service/title.service\";\nimport { RoundService } from \"../../../core/service/round.service\";\n\ndeclare var moment: any;\n\n@Component({\n selector: \"app-admin-user-portfolio\",\n templateUrl: \"./admin-user-portfolio.component.html\",\n styleUrls: [\"./admin-user-portfolio.component.css\"],\n})\nexport class AdminUserPortfolioComponent implements OnInit {\n form: FormGroup;\n titleHeader: TitleHeader;\n loader: boolean;\n portfolio: boolean;\n yieldLabel = \"PRÉ FIXADO\";\n currentDate: string; \n investedInPlatform: number; \n investedInOthers: number; \n companyInvestments: any;\n rounds: any;\n upangel: any;\n upimob: any;\n installments: any;\n dataCompany = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n sumCompany = 0;\n percentCompany = 0;\n dataStartup = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n sumStartup = 0;\n percentStartup = 0;\n dataReal = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n sumReal = 0;\n percentReal = 0;\n dataPie = [];\n optionsPie: any;\n optionsResume: any;\n optionsBar: any;\n dataBar: any;\n datas = [];\n companies: any;\n companiesQuota: any;\n companiesValue: any;\n\n sumQuarterlyPaid = 0;\n sumAnnualyPaid = 0;\n sumTotalPaid = 0;\n\n sumQuarterlyOpen = 0;\n sumAnnualyOpen = 0;\n sumTotalOpen = 0;\n\n sumQuarterlyProjected = 0;\n sumAnnualyProjected = 0;\n sumTotalProjected = 0;\n\n now: any;\n yearNow: any;\n monthNow: any;\n quarterNow: any;\n\n isSheetOpen = false;\n isDesktop: boolean = true;\n\n cards = [\n {\n title: 'Patrimônio total',\n value: 'R$ 000',\n backgroundColor: 'white',\n showSvg: true\n },\n {\n title: 'Total investido - Outras Plataformas',\n value: 'R$ 000',\n backgroundColor: 'white',\n showSvg: true\n },\n {\n title: 'Total Investido - Investplus',\n value: 'R$ 000',\n backgroundColor: 'white',\n showSvg: true\n }\n ];\n\n investsData = [\n {\n title: 'Startup 1',\n date: '31/10/2000',\n participation: '40',\n valuation: 'R$ 10.000,00',\n },\n {\n title: 'Startup 2',\n date: '31/10/2000',\n participation: '40',\n valuation: 'R$ 10.000,00',\n },\n {\n title: 'Startup 3',\n date: '31/10/2000',\n participation: '40',\n valuation: 'R$ 10.000,00',\n },\n ];\n\n transactionsData = [\n {\n type: 'Investimento',\n value: 'R$ 10.000,00',\n date: '31/10/2000',\n },\n {\n type: 'Investimento',\n value: 'R$ 10.000,00',\n date: '31/10/2000',\n },\n {\n type: 'Investimento',\n value: 'R$ 10.000,00',\n date: '31/10/2000',\n },\n {\n type: 'Investimento',\n value: 'R$ 10.000,00',\n date: '31/10/2000',\n },\n {\n type: 'Investimento',\n value: 'R$ 10.000,00',\n date: '31/10/2000',\n },\n ];\n\n sheetData = [\n {\n title: 'Custo de aquisição de cliente',\n subTittle: 'CAC',\n value: 'R$ 10.000,00',\n },\n {\n title: 'Valor do ciclo de vida do cliente',\n subTittle: 'LTV',\n value: 'R$ 5,000.00',\n },\n {\n title: 'Receita recorrente mensal',\n subTittle: 'MRR',\n value: 'R$ 2,000.00',\n },\n {\n title: 'Taxa de Churn',\n subTittle: '-',\n value: 'R$ 1,000.00',\n },\n {\n title: 'Taxa de retenção de cliente',\n subTittle: '-',\n value: 'R$ 1,000.00',\n },\n {\n title: 'Taxa de crescimento de receita',\n subTittle: '-',\n value: 'R$2,000.00',\n },\n {\n title: 'Margem bruta',\n subTittle: '-',\n value: 'R$ 1,000.00',\n },\n {\n title: 'Pista de caixa',\n subTittle: 'Cash runway',\n value: 'R$ 10,000.00',\n },\n ];\n\n valuationProjected = {\n company: \"FCJ Invest\",\n logo: \"./../../../assets/img/logo_upangel.png\",\n value: 0,\n deadline: 0,\n total: 0,\n percentValue: 0,\n percentCdi: 0,\n percentAnnual: 0,\n };\n valuationGuaranteed = {\n total: 0,\n percentValue: 0,\n percentCdi: 0,\n percentAnnual: 0,\n };\n\n // Variáveis para controle de paginação\n currentPage = 1;\n itemsPerPage = 5;\n paginatedInvestments = [];\n\n constructor(\n private investorService: InvestorService,\n private roundService: RoundService,\n private formBuilder: FormBuilder,\n private data: TitleService\n ) {}\n\n ngOnInit() {\n this.checkScreenSize();\n this.data.currentMessage.subscribe((titles) => (this.titleHeader = titles));\n this.titleHeader.title = \"Meu Perfil / Análise da Carteira\";\n this.data.changeTitle(this.titleHeader);\n this.getUserInvestments();\n this.currentDate = this.formatCurrentDate();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: any) {\n this.checkScreenSize();\n }\n\n checkScreenSize() {\n this.isDesktop = window.innerWidth > 768; \n }\n\n private formatCurrentDate(): string {\n const date = new Date();\n const options: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long' };\n return date.toLocaleDateString('pt-BR', options);\n }\n\n openSheet(): void {\n this.isSheetOpen = true;\n }\n\n closeSheet(): void {\n const sheet = document.querySelector('.sideSheet');\n if (sheet) {\n sheet.classList.add('hidden');\n setTimeout(() => {\n this.isSheetOpen = false;\n sheet.classList.remove('hidden');\n }, 300);\n }\n }\n\n private getUserInvestments(): void {\n this.loader = true;\n this.portfolio = false;\n \n this.investorService.getUser().subscribe((response) => {\n this.upangel = response.companyInvestments || [];\n this.upimob = response.realStateInvestments || [];\n this.installments = response.investmentsInstallments || [];\n \n const paidInvestments = this.upangel.filter(investment => investment.status === 'PAID');\n \n this.companyInvestments = response.companyInvestments ? response.companyInvestments.map(investment => {\n return {\n company: investment.company,\n logo: investment.logo,\n value: investment.value,\n quotas: investment.quotas,\n date: investment.date,\n roundStatus: investment.roundStatus,\n status: investment.status,\n model: investment.model,\n docLogo: investment.docLogo,\n contractLink: investment.contractLink\n };\n }) : [];\n \n const totalInvestedInvestplus = paidInvestments\n .map(investment => investment.value)\n .reduce((acc, value) => acc + value, 0);\n \n const totalInvestedOthers = response.totalInvestedOthers || 0;\n \n this.cards[1].value = `R$ ${totalInvestedOthers.toLocaleString('pt-BR', { minimumFractionDigits: 2 })}`;\n this.cards[2].value = `R$ ${totalInvestedInvestplus.toLocaleString('pt-BR', { minimumFractionDigits: 2 })}`;\n \n const patrimonioTotal = totalInvestedOthers + totalInvestedInvestplus;\n this.cards[0].value = `R$ ${patrimonioTotal.toLocaleString('pt-BR', { minimumFractionDigits: 2 })}`;\n \n this.investedInPlatform = totalInvestedInvestplus;\n this.investedInOthers = totalInvestedOthers;\n \n this.updateGraph();\n \n this.datas = this.dateResume(new Date());\n this.setResumeInvestments();\n this.setGraphPie();\n this.setGraphBar();\n this.setResumeInstallments(0);\n this.getRounds();\n this.paginateInvestments();\n });\n }\n\n paginateInvestments(): void {\n const startIndex = (this.currentPage - 1) * this.itemsPerPage;\n const endIndex = startIndex + this.itemsPerPage;\n this.paginatedInvestments = this.companyInvestments.slice(startIndex, endIndex);\n }\n\n changePage(newPage: number): void {\n this.currentPage = newPage;\n this.paginateInvestments();\n }\n\n get totalPages(): number {\n return Math.ceil(this.companyInvestments.length / this.itemsPerPage);\n }\n\n private updateGraph(): void {\n this.dataPie = [this.investedInPlatform, this.investedInOthers];\n\n this.optionsPie = {\n legend: {\n display: false,\n },\n animation: {\n duration: 2000,\n },\n cutoutPercentage: 93,\n };\n }\n\n private getRounds(): void {\n this.roundService.getAllShortUser().subscribe((responseRound) => {\n this.rounds = responseRound.companiesRounds;\n this.loader = false;\n });\n }\n\n private setResumeInstallments(company: number): void {\n if (this.installments != null) {\n let installmentsCompany = this.installments;\n\n this.sumQuarterlyPaid = 0;\n this.sumAnnualyPaid = 0;\n this.sumTotalPaid = 0;\n\n this.sumQuarterlyOpen = 0;\n this.sumAnnualyOpen = 0;\n this.sumTotalOpen = 0;\n\n this.sumQuarterlyProjected = 0;\n this.sumAnnualyProjected = 0;\n this.sumTotalProjected = 0;\n\n if (company > 0) {\n installmentsCompany = this.installments;\n }\n\n this.now = moment();\n this.yearNow = this.now.year();\n this.monthNow = this.now.month();\n this.quarterNow = Math.trunc(this.monthNow / 3 + 1);\n\n for (const value of installmentsCompany) {\n const dateInstallment = moment(value.dueDate);\n const yearInstallment = dateInstallment.year();\n const monthInstallment = dateInstallment.month();\n const quarterInstallment = Math.trunc(monthInstallment / 3 + 1);\n\n if (value.status === \"PAID\") {\n if (this.quarterNow === quarterInstallment) {\n this.sumQuarterlyPaid +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n if (\n this.yearNow === yearInstallment &&\n this.yearNow === yearInstallment\n ) {\n this.sumAnnualyPaid +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n this.sumTotalPaid +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n\n if (value.status === \"PENDING\" && dateInstallment < this.now) {\n if (\n this.quarterNow === quarterInstallment &&\n this.yearNow === yearInstallment\n ) {\n this.sumQuarterlyOpen +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n if (this.yearNow === yearInstallment) {\n this.sumAnnualyOpen +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n this.sumTotalOpen +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n\n if (value.status === \"PENDING\" && dateInstallment >= this.now) {\n if (\n this.quarterNow === quarterInstallment &&\n this.yearNow === yearInstallment\n ) {\n this.sumQuarterlyProjected +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n if (this.yearNow === yearInstallment) {\n this.sumAnnualyProjected +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n this.sumTotalProjected +=\n value.profitValue * (1 - value.percentageCost) -\n value.profitValue *\n (1 - value.percentageCost) *\n (value.percentageIr / 100);\n }\n }\n }\n }\n\n private setResumeInvestments(): void {\n if (this.upangel != null) {\n const months = [\n \"Jan\",\n \"Fev\",\n \"Mar\",\n \"Abr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Ago\",\n \"Set\",\n \"Out\",\n \"Nov\",\n \"Dez\",\n ];\n\n for (const value of this.upangel) {\n const dateFinal = new Date(value.date);\n dateFinal.setDate(dateFinal.getDate() + 1);\n\n const dataInvestment =\n months[dateFinal.getMonth()] +\n \"/\" +\n dateFinal.getFullYear().toString().substring(2, 4);\n const pos = this.datas.lastIndexOf(dataInvestment);\n\n if (value.model === \"TRADITIONAL\") {\n\n this.sumCompany += value.value;\n\n if (pos >= 0) {\n this.dataCompany[pos] = this.dataCompany[pos] + value.value;\n }\n } else {\n\n this.sumStartup += value.value;\n\n if (pos >= 0) {\n this.dataStartup[pos] = this.dataStartup[pos] + value.value;\n }\n }\n }\n\n for (const value of this.upimob) {\n this.sumReal += value.value;\n\n const dateFinal = new Date(value.date);\n dateFinal.setDate(dateFinal.getDate() + 1);\n\n const dataInvestment =\n months[dateFinal.getMonth()] +\n \"/\" +\n dateFinal.getFullYear().toString().substring(2, 4);\n const pos = this.datas.lastIndexOf(dataInvestment);\n\n if (pos >= 0) {\n this.dataReal[pos] = this.dataReal[pos] + value.value;\n }\n }\n\n this.companies = this.upangel.reduce((acc, val) => {\n if (!acc.find((el) => el.companyId === val.companyId)) {\n acc.push(val);\n }\n return acc;\n }, []);\n\n this.companiesValue = this.reducer(this.upangel, \"companyId\", \"value\");\n this.companiesQuota = this.reducer(this.upangel, \"companyId\", \"quotas\");\n\n for (let i = 0; i < this.companies.length; i++) {\n this.companiesValue.map((x) => {\n if (x.companyId === this.companies[i].companyId) {\n this.companies[i].value = x.value;\n }\n });\n\n this.companiesQuota.map((x) => {\n if (x.companyId === this.companies[i].companyId) {\n this.companies[i].quotas = x.quotas;\n }\n });\n }\n }\n }\n\n private setGraphPie(): void {\n this.optionsPie = {\n legend: {\n display: false,\n },\n animation: {\n duration: 2000,\n },\n cutoutPercentage: 93,\n };\n\n if (this.upangel != null) {\n this.percentCompany =\n (this.sumCompany / (this.sumStartup + this.sumReal + this.sumCompany)) *\n 100;\n this.percentStartup =\n (this.sumStartup / (this.sumStartup + this.sumReal + this.sumCompany)) *\n 100;\n this.percentReal =\n (this.sumReal / (this.sumStartup + this.sumReal + this.sumCompany)) *\n 100;\n this.dataPie = [\n this.percentStartup.toFixed(2),\n this.percentReal.toFixed(2),\n this.percentCompany.toFixed(2),\n ];\n\n this.optionsPie = {\n legend: {\n display: false,\n },\n animation: {\n duration: 2000,\n },\n cutoutPercentage: 93,\n };\n }\n }\n\n private setGraphBar(): void {\n if (this.upangel != null) {\n this.dataBar = {\n labels: this.datas,\n datasets: [\n {\n label: \"Startup\",\n backgroundColor: \"#0cb8b6\",\n data: this.dataStartup,\n },\n {\n label: \"Imobiliário\",\n backgroundColor: \"#8c2e5b\",\n data: this.dataReal,\n },\n {\n label: \"Empresa\",\n backgroundColor: \"#2e7e89\",\n data: this.dataCompany,\n },\n ],\n };\n\n this.optionsBar = {\n title: {\n display: false,\n text: \"\",\n },\n animation: {\n duration: 4000,\n },\n legend: {\n display: false,\n },\n tooltips: {\n mode: \"index\",\n intersect: false,\n callbacks: {\n label: function (t, d) {\n const xLabel = d.datasets[t.datasetIndex].label;\n const yLabel = t.yLabel;\n return (\n \"\" +\n yLabel\n .toFixed(2)\n .replace(\".\", \",\")\n .replace(/(\\d)(?=(\\d{3})+\\,)/g, \"$1.\")\n );\n },\n },\n },\n responsive: true,\n scales: {\n xAxes: [\n {\n stacked: true,\n ticks: {\n fontSize: 12,\n },\n },\n ],\n yAxes: [\n {\n stacked: true,\n ticks: {\n fontSize: 12,\n beginAtZero: true,\n callback: (value, index, values) => {\n return (\n \"\" +\n value\n .toFixed(2)\n .replace(\".\", \",\")\n .replace(/(\\d)(?=(\\d{3})+\\,)/g, \"$1.\")\n );\n },\n },\n },\n ],\n },\n };\n }\n }\n\n public lastMonth(date, diff): any {\n const d = new Date(date);\n d.setMonth(d.getMonth() + diff);\n return d;\n }\n\n public dateResume(data): any {\n const datas = [];\n const months = [\n \"Jan\",\n \"Fev\",\n \"Mar\",\n \"Abr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Ago\",\n \"Set\",\n \"Out\",\n \"Nov\",\n \"Dez\",\n ];\n for (let i = 0; i < 12; i++) {\n const formatted_date =\n months[this.lastMonth(data, i * -1).getMonth()] +\n \"/\" +\n this.lastMonth(data, i * -1)\n .getFullYear()\n .toString()\n .substring(2, 4);\n datas.push(formatted_date);\n }\n return datas.reverse();\n }\n\n private reducer(data: any, groupBy: string, reduceValue: string): any {\n return [].concat\n .apply(\n data.reduce(function (hash, current) {\n hash[current[groupBy]] =\n (hash[current[groupBy]] || 0) + current[reduceValue];\n return hash;\n }, {})\n )\n .map(function (elm) {\n return Object.keys(elm).map(function (key) {\n const obj = {};\n obj[groupBy] = +key;\n obj[reduceValue] = elm[key];\n return obj;\n });\n })[0];\n }\n\n public activePortfolio(company: number) {\n this.setResumeInstallments(company);\n\n if (company === 0) {\n this.portfolio = false;\n } else {\n this.portfolio = true;\n\n this.companies.map((x) => {\n if (x.companyId === company) {\n this.valuationProjected.company = x.company;\n this.valuationProjected.logo = x.logo;\n this.valuationProjected.value = x.value;\n }\n });\n\n this.rounds.map((x) => {\n if (x.id === company) {\n this.valuationProjected.deadline = this.nvl(x.round.deadline, 0);\n this.valuationProjected.total =\n this.valuationProjected.value *\n (1 + this.nvl(x.round.valuation, 0) / 100);\n this.valuationProjected.percentValue =\n (this.valuationProjected.total / this.valuationProjected.value -\n 1) *\n 100;\n this.valuationProjected.percentCdi =\n (this.valuationProjected.percentValue /\n this.nvl(x.round.cdiValue, 1)) *\n 100;\n this.valuationProjected.percentAnnual =\n this.valuationProjected.percentValue /\n this.nvl(x.round.deadline, 1);\n this.valuationGuaranteed.total =\n (((this.nvl(x.round.percentageOfIncome, 0) / 100) *\n this.nvl(x.round.cdiValue, 0)) /\n 100) *\n this.nvl(x.round.deadline, 0) *\n this.valuationProjected.value +\n this.valuationProjected.value;\n this.valuationGuaranteed.percentValue =\n (this.valuationGuaranteed.total / this.valuationProjected.value -\n 1) *\n 100;\n this.valuationGuaranteed.percentCdi =\n (this.valuationGuaranteed.percentValue /\n this.nvl(x.round.cdiValue, 1)) *\n 100;\n this.valuationGuaranteed.percentAnnual =\n this.valuationGuaranteed.percentValue /\n this.nvl(x.round.deadline, 1);\n }\n });\n }\n }\n\n public nvl(input: any, replace: any): any {\n return input == null ? replace : input;\n }\n\n getCompanyLogo(logo: string): string {\n console.log(logo)\n if (logo.startsWith('http')) {\n return logo;\n }\n return `https://fcjimob-uploads-new.s3.us-east-2.amazonaws.com/fcjinvest/${logo}`;\n }\n \n}\n","
\n \n
\n\n
\n
\n
\n

Análise de\n carteira\n

\n

Verifique aqui todos os dados da\n sua carteira.

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

Startup 1

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

Detalhes do investimento

\n
\n\n
\n

{{ item.title }}

\n

({{ item.subTittle }})

\n \n {{ item.value }}

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

{{ card.title }}

\n
\n

{{ card.value }}

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

Meus ativos

\n\n
\n \n \n\n
\n
\n
\n \n ºAtivos na Plataforma\n

\n \n {{ investedInPlatform | currency:'BRL':'symbol':'1.2-2' }}\n

\n
\n\n
\n \n Investimentos Externos\n

\n \n {{ investedInOthers | currency:'BRL':'symbol':'1.2-2' }}\n

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

Meu histórico

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

Últimos investimentos

\n

Ultima leitura {{ currentDate }}

\n
\n

Resultados {{\n companyInvestments.length }}

\n
\n\n \n \n \n \n \n \n\n \n
\n\n
0\" style=\"max-height: 300px; overflow-y: auto;\">\n
\n\n \n \"{{\n
\n \n
\n

{{ invest.company }}

\n

\n {{ invest.value | currency:'BRL' }}

\n
\n\n
\n

Cotas

\n

{{ invest.quotas }}

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

Você não possui investimentos

\n
\n\n \n\n \n\n
0\" style=\"width: 100%; background-color: white; border-radius: 4px; margin-top: 16px;\">\n

Tabela de Investimentos Detalhada

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NomeDataParticipaçãoValor investidoRodadaStatus contratualTipo de investimento
\n {{ invest.company }}\n \n {{ invest.date ? (invest.date | date: 'dd/MM/yyyy') : 'N/A' }}\n \n {{ invest.quotas }}\n \n {{ invest.value | currency: 'BRL' }}\n \n {{ invest.roundStatus === 'IN_PROGRESS' ? 'Rodada em andamento' : 'Rodada concluída' }}\n \n {{ invest.status === 'PENDING' ? 'Status Pendente' : 'Status Assinado' }}\n \n {{ invest.model === 'TRADITIONAL' ? 'Empresa' : 'Startup' }}\n
\n\n
\n \n Página {{ currentPage }} de {{ totalPages }}\n \n
\n
\n\n
\n

Você não possui investimentos cadastrados no momento.

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

{{ titleHeader.title }}

\n
\n\n
\n

Analise de\n carteira

\n

Verifique aqui\n todos os dados da sua carteira.

\n
\n\n
\n
\n

{{ card.title }}

\n
\n

{{ card.value }}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n \n Meus ativos

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

\n ºAtivos na Plataforma\n

\n

\n {{ investedInPlatform | currency:'BRL':'symbol':'1.2-2' }}\n

\n
\n\n
\n

•Investimentos Externos

\n \n R$274.350,00\n

\n
\n
\n
\n
\n
\n\n \n Meu histórico

\n\n
\n \n \n
\n\n \n Investimentos

\n\n
\n
\n

Startup

\n\n

Detalhes +

\n
\n\n
\n

Data

\n\n

31/10/2000

\n
\n\n
\n

Participação

\n\n

40

\n
\n\n
\n

Valor investido

\n\n

R$ 10.000,00

\n
\n
\n\n \n\n","import { Component, OnDestroy, OnInit, TemplateRef } from \"@angular/core\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { InvestorService } from \"../../../core/service/investor.service\";\nimport { TitleHeader } from \"../../../core/interface/title-header\";\nimport { TitleService } from \"../../../core/service/title.service\";\nimport { forkJoin, Subject, Subscription } from \"rxjs\";\nimport { finalize, takeUntil } from \"rxjs/operators\";\nimport { Investment } from \"../../../core/interface/investment\";\nimport { BsModalRef, BsModalService } from \"ngx-bootstrap/modal\";\nimport { InvestmentInstallmentService } from \"../../../core/service/investment-installment.service\";\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\n\ndeclare var moment: any;\n\n@Component({\n selector: \"app-admin-user-statement\",\n templateUrl: \"./admin-user-statement.component.html\",\n styleUrls: [\"./admin-user-statement.component.css\"],\n})\nexport class AdminUserStatementComponent implements OnInit, OnDestroy {\n\n titleHeader: TitleHeader;\n destroy$ = new Subject();\n investments: Investment[] = []\n contracts!: any[];\n modalRef?: BsModalRef;\n contratosLoading: boolean ;\n loader: boolean;\n\n investmentInstallments: any[];\n investmentInstallmentsLoading: boolean;\n\n p = 1;\n responsive = true;\n labels: any = {\n previousLabel: 'Anterior',\n nextLabel: 'Próximo'\n };\n textRegister = 'Nenhum registro encontrado.';\n\n form: FormGroup;\n subscription$: Subscription;\n\n constructor(\n private formBuilder: FormBuilder,\n private investorService: InvestorService,\n private modalService: BsModalService,\n private data: TitleService,\n private investmentInstallmentService: InvestmentInstallmentService,\n private bsLocaleService: BsLocaleService,\n private activatedRoute: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.bsLocaleService.use('pt-br')\n this.createForm();\n this.setTitle();\n this.onActivatedRoute();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n this.subscription$?.unsubscribe();\n }\n\n onActivatedRoute() {\n this.subscription$ = this.activatedRoute.queryParams.subscribe({\n next: (response) => {\n this.form.patchValue(this.castParamsToForm(response));\n this.getInvestments(this.getParams());\n }\n })\n }\n\n onFilter(){\n this.router.navigate([], {\n queryParams: this.getParams(),\n relativeTo: this.activatedRoute\n })\n }\n\n setTitle() {\n this.data.currentMessage.subscribe(titles => this.titleHeader = titles);\n this.titleHeader.title = 'Administração / Extrato Financeiro';\n this.data.changeTitle(this.titleHeader);\n }\n\n createForm() {\n this.form = this.formBuilder.group({\n companyName: [],\n dataInicial: [new Date],\n dataFinal: [new Date],\n })\n }\n\n getParams() {\n const _obj = this.form.value;\n const _params = {};\n for (const key in _obj) {\n if(_obj[key]){\n if(_obj[key] instanceof Date){\n const d: Date = _obj[key];\n _params[key] = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`\n }else{\n _params[key] = _obj[key];\n }\n }\n }\n return _params;\n }\n\n castParamsToForm(object = {}){\n const _params = {};\n for (const key in object) {\n _params[key] = /\\d{4}-\\d{2}-\\d{2}/.test(object[key]) ? new Date(object[key].split(\"-\")) : object[key];\n }\n return _params;\n }\n\n getInvestments(params?: any) {\n this.loader = true;\n this.investorService\n .getInvestments(params)\n .pipe(\n takeUntil(this.destroy$),\n finalize(() => {\n this.loader = false;\n })\n )\n .subscribe({\n next: (investments) => {\n this.investments = investments;\n }\n })\n }\n\n async getContracts(contracts: any[]){\n\n this.contratosLoading = true;\n\n const requests = contracts.map(contract => {\n return this.investorService .getContract(contract?.externalId)\n })\n\n forkJoin(requests)\n .pipe( takeUntil(this.destroy$), finalize(() => this.contratosLoading = false))\n .subscribe({\n next: (_contracts) => {\n this.contracts = [];\n _contracts.forEach((contract, index) => {\n this.contracts.push({\n name: contract?.document?.filename,\n download: contract?.document?.downloads?.signed_file_url ?? contract?.document?.downloads?.original_file_url,\n sign: contracts[index]['url'],\n status: contracts[index]['status'],\n })\n });\n },\n error: (error) => {\n console.log(error);\n }\n })\n }\n\n getInstallments(investment: number) {\n this.investmentInstallmentsLoading = true;\n this.investmentInstallmentService\n .getInstallments(investment)\n .pipe(\n finalize(() => {\n this.investmentInstallmentsLoading = false;\n })\n )\n .subscribe({\n next: (response) => {\n this.investmentInstallments = response;\n },\n error: (error) => {\n this.investmentInstallments = [];\n console.log(error);\n }\n })\n }\n\n openModal(template: TemplateRef) {\n this.modalRef = this.modalService.show(template);\n }\n\n /* form: FormGroup;\n titleHeader: TitleHeader;\n loader: boolean;\n textRegister = 'Nenhum registro encontrado.';\n p = 1;\n q = 1;\n responsive = true;\n labels: any = {\n previousLabel: 'Anterior',\n nextLabel: 'Próximo'\n };\n incommings = [];\n dataInstallments: any;\n dataInstallmentsFilter: any;\n firstDay: any;\n lastDay: any;\n\n sumInstallments = 0;\n sumInstallmentsIr = 0;\n sumInstallmentsCost = 0;\n sumInstallmentsLiquid = 0;\n\n dataInstallment = [];\n optionsInstallment: any;\n\n constructor(private investorService: InvestorService,\n private formBuilder: FormBuilder,\n private data: TitleService,\n private dateMask: DateMaskPipe\n ) {}\n\n ngOnInit() {\n\n this.data.currentMessage.subscribe(titles => this.titleHeader = titles);\n this.titleHeader.title = 'Meu Perfil / Extrato Financeiro';\n this.data.changeTitle(this.titleHeader);\n this.firstDay = moment().subtract(1, 'months').format('01/MM/YYYY');\n this.lastDay = moment().add(72, 'months').format('DD/MM/YYYY');\n this.getUserInstallments();\n this.initForm();\n }\n\n initForm() {\n this.form = this.formBuilder.group({\n initialDate: [this.firstDay],\n finalDate: [this.lastDay]\n });\n }\n\n private getUserInstallments(): void {\n this.loader = true;\n this.investorService.getUser().subscribe(\n (response) => {\n this.dataInstallments = response.investmentsInstallments;\n\n if (this.dataInstallments != null) {\n\n this.dataInstallments.sort(function (a, b) {\n // Turn your strings into dates, and then subtract them\n // to get a value that is either negative, positive, or zero.\n return new Date(a.dueDate).getTime() - new Date(b.dueDate).getTime();\n });\n\n this.dataInstallmentsFilter = this.dataInstallments;\n\n for (let i = 0; i < this.dataInstallmentsFilter.length; i++) {\n\n if (this.dataInstallmentsFilter[i].status === 'PENDING') {\n this.sumInstallments += this.dataInstallmentsFilter[i].profitValue;\n this.sumInstallmentsIr += (this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)) * this.dataInstallmentsFilter[i].percentageIr / 100;\n this.sumInstallmentsCost += (this.dataInstallmentsFilter[i].profitValue - (this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)));\n this.sumInstallmentsLiquid += (this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)) - ((this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)) * this.dataInstallmentsFilter[i].percentageIr / 100);\n }\n }\n\n this.dataInstallment = [100, 0];\n this.optionsInstallment = {\n legend: {\n display: false\n },\n animation: {\n duration: 4000,\n },\n cutoutPercentage: 95\n };\n\n }\n\n this.filterInvestment();\n const $this = this;\n setTimeout(function () {\n $this.initMask();\n }, 2000);\n this.loader = false;\n });\n }\n\n initMask() {\n const SPMaskBehavior = function (val) {\n return val.replace(/\\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';\n },\n spOptions = {\n onKeyPress: function (val, e, field, options) {\n field.mask(SPMaskBehavior.apply({}, arguments), options);\n }\n };\n $('.phone').mask(SPMaskBehavior, spOptions);\n $('.zipCode').mask('00000-000');\n $('.cpf').mask('000.000.000-00');\n $('.dateOfInvestment').mask('00/00/0000');\n $('.money').mask('#.##0,00', {\n reverse: true\n });\n }\n\n public maskStatus(status: string): string {\n let formatedStatus = '';\n switch (status) {\n case 'PENDING':\n formatedStatus = 'PENDENTE';\n break;\n case 'CONFIRMED':\n formatedStatus = 'CONFIRMADO';\n break;\n }\n return formatedStatus;\n }\n\n public maskSigned(date: any): string {\n return date == null ? '------' : this.dateMask.transform(date);\n }\n\n public maskModel(model: string): string {\n const aux = TiposModalidades[model];\n if (!aux) {\n return \"\"\n }\n\n return aux;\n }\n\n public filterInvestment() {\n\n if (this.dataInstallments != null) {\n let initialDate = this.form.controls['initialDate'].value;\n let finalDate = this.form.controls['finalDate'].value;\n\n if (this.validateDate(initialDate) && this.validateDate(finalDate)) {\n\n initialDate = new Date(this.dateMask.transform(this.form.controls['initialDate'].value, 'AMERICAN'));\n finalDate = new Date(this.dateMask.transform(this.form.controls['finalDate'].value, 'AMERICAN'));\n\n this.dataInstallmentsFilter = this.dataInstallments.filter(function (a) {\n const aDate = new Date(a.dueDate);\n return aDate >= initialDate && aDate <= finalDate;\n });\n\n this.sumInstallments = 0;\n this.sumInstallmentsIr = 0;\n this.sumInstallmentsCost = 0;\n this.sumInstallmentsLiquid = 0;\n\n for (let i = 0; i < this.dataInstallmentsFilter.length; i++) {\n\n if (this.dataInstallmentsFilter[i].status === 'PENDING') {\n this.sumInstallments += this.dataInstallmentsFilter[i].profitValue;\n this.sumInstallmentsIr += (this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)) * this.dataInstallmentsFilter[i].percentageIr / 100;\n this.sumInstallmentsCost += (this.dataInstallmentsFilter[i].profitValue - (this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)));\n this.sumInstallmentsLiquid += (this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)) - ((this.dataInstallmentsFilter[i].profitValue * (1 - this.dataInstallmentsFilter[i].percentageCost)) * this.dataInstallmentsFilter[i].percentageIr / 100);\n }\n }\n }\n }\n }\n\n public clearInitial(): void {\n this.form.controls['initialDate'].setValue('');\n }\n\n public clearFinal(): void {\n this.form.controls['finalDate'].setValue('');\n }\n\n private validateDate(input: string): boolean {\n const date = input;\n let ardt = new Array;\n const ExpReg = new RegExp('(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}');\n ardt = date.split('/');\n let erro = false;\n if (date.search(ExpReg) === -1) {\n erro = true;\n } else if (((ardt[1] === 4) || (ardt[1] === 6) || (ardt[1] === 9) || (ardt[1] === 11)) && (ardt[0] > 30)) {\n erro = true;\n } else if (ardt[1] === 2) {\n if ((ardt[0] > 28) && ((ardt[2] % 4) !== 0)) {\n erro = true;\n }\n if ((ardt[0] > 29) && ((ardt[2] % 4) === 0)) {\n erro = true;\n }\n }\n if (erro) {\n return false;\n }\n return true;\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
IdNomeValor investidoData do investimento
{{ item.id }}{{ item.company }}{{ item.value | currency:'BRL' }}{{ item.created | date: 'dd/MM/yyyy HH:mm'}}\n
\n \n \n \n
\n
\n 0) && !loader\" [textContador]=\"textRegister\">\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Contratos

\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DownloadStatusAssinatura
{{ item.name }}{{ item.status | contractStatusPipe }}Contrato 
\n
\n
\n \n Nenhum contrato encontrado.\n
\n
\n loading...\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Boletos

\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#ValorStatus
{{ item.id }}{{ item.paymentValue | currency: 'BRL'}}{{ item.status | contractStatusPipe }}Boleto 
\n
\n
\n \n Nenhum boleto encontrado.\n
\n
\n loading...\n
\n
\n
\n
\n
\n\n","import { LoaderService } from './../../../core/service/loader.service';\nimport { CognitoUtil, Callback } from './../../../core/service/cognito/cognito.service';\nimport { AuthService } from './../../../core/service/auth.service';\nimport { Component, OnInit } from \"@angular/core\";\nimport {\n FormGroup,\n FormBuilder,\n Validators,\n FormControl,\n} from \"@angular/forms\";\nimport { PasswordStrengthService } from './../../../core/service/PasswordStrengthService.service';\nimport { finalize } from 'rxjs/operators';\n\ndeclare var toastr: any;\n\n@Component({\n selector: \"app-admin-user-trocar-senha\",\n templateUrl: \"./admin-user-trocar-senha.component.html\",\n styleUrls: [\"./admin-user-trocar-senha.component.css\"],\n})\nexport class AdminUserTrocarSenhaComponent implements OnInit {\n form: FormGroup;\n senhaStrength: string = ''; \n senhaScore: number = 0; \n senhaSuggestions: string[] = [];\n loading: boolean = false;\n\n constructor(\n private formBuilder: FormBuilder,\n private authService: AuthService,\n private cognitoUtil: CognitoUtil,\n private loaderService: LoaderService,\n private passwordStrengthService: PasswordStrengthService \n ) { }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n senhaAtual: ['', [Validators.required]],\n novaSenha: ['', [Validators.required]],\n repetirSenha: ['', [Validators.required]],\n });\n\n this.form.get('novaSenha').valueChanges.subscribe(value => {\n const result = this.passwordStrengthService.calculateStrength(value);\n this.senhaStrength = result.level;\n this.senhaScore = result.score;\n this.senhaSuggestions = result.suggestions;\n });\n }\n\n onSubmit() {\n if (this.form.valid) {\n if (this.form.get('novaSenha').value !== this.form.get('repetirSenha').value) {\n toastr.error('As senhas digitadas não coincidem', 'Senhas não coincidem');\n return\n }\n\n const callbacks: Callback = {\n callback: () => { },\n callbackWithParam: (jwt) => {\n if (jwt) {\n this.loading = true;\n this.loaderService.load(true);\n this.authService.changePassword(\n this.form.get('senhaAtual').value,\n this.form.get('novaSenha').value,\n jwt\n )\n .pipe(\n finalize(() => {\n this.loading = false;\n this.loaderService.load(false);\n })\n )\n .subscribe({\n next: response => {\n toastr.success('Senha alterada com sucesso!');\n },\n error: (error: any) => {\n const mensagem: string = error.error?.message ? error.error?.message : '';\n if (mensagem.includes('NotAuthorizedException')) {\n toastr.error('Senha atual incorreta!');\n } else if (mensagem.includes('LimitExceededException')) {\n toastr.error('Limite de tentativas atingido. Tente novamente mais tarde!');\n } else if (mensagem.includes('Long')) {\n toastr.error('A nova senha precisa ser mais longa');\n } else {\n toastr.error('Erro ao alterar senha!');\n }\n }\n })\n }\n }\n }\n\n this.cognitoUtil.getAccessToken(callbacks);\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
    0\">\n
  • {{ suggestion }}
  • \n
\n
\n\n \n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { InvestorService } from '../../../core/service/investor.service';\nimport { RoundService } from '../../../core/service/round.service';\nimport { CompanyService } from '../../../core/service/company.service';\nimport { InvestmentService } from '../../../core/service/investment.service';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-admin-user-valuation',\n templateUrl: './admin-user-valuation.component.html',\n styleUrls: ['./admin-user-valuation.component.css']\n})\nexport class AdminUserValuationComponent implements OnInit {\n\n companyId: number;\n roundId: number;\n investmentId: number;\n list = [];\n round: any;\n valuation: any;\n labels = [];\n investment: any;\n loader: boolean;\n\n constructor(\n private activedRouter: ActivatedRoute,\n private roundService: RoundService,\n private valuationService: CompanyService,\n private investorService: InvestorService,\n private investmentService: InvestmentService\n ) { }\n\n ngOnInit() {\n this.loader = true;\n this.activedRouter.params.subscribe(params => {\n this.companyId = params['id'];\n this.roundId = params['id2'];\n this.investmentId = params['id3'];\n });\n this.labels = [ 'Valuation atual', 'Valuation curto prazo', 'Valuation longo prazo' ];\n this.getRound();\n }\n\n private getRound(): void {\n this.roundService.getRound(this.companyId, this.roundId).subscribe((responseGetRound) => {\n this.round = responseGetRound;\n this.getInvestment(this.investmentId);\n this.getValuation();\n this.loader = false;\n });\n }\n\n private getValuation(): void {\n this.valuationService.getValuation(this.companyId).subscribe((responseGetValuation) => {\n this.list = [\n responseGetValuation.current,\n responseGetValuation.shortTerm,\n responseGetValuation.longTerm\n ];\n\n this.valuation = responseGetValuation;\n });\n }\n\n private getInvestment(id: number): void {\n this.investmentService.getInvestment(id).subscribe(\n (response) => {\n this.investment = response;\n });\n }\n\n public maskContract(contract: string): string {\n if (contract === null || contract === '') {\n return ' pendente';\n }\n return contract;\n }\n\n}\n","\n
\n
\n
\n \n \n

{{round.name}}

\n

Contrato {{maskContract(investment?.contractExternalId)}}

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

Valuation da rodada

\n
\n
\n
\n
\n

Valor:

\n
\n
\n

R$ {{ ((round.round.maximumValuation * 100) / (round.round.partnerParticipation)) | moneyMask }}\n 100%\n

\n
\n
\n
\n
\n

Investido:

\n
\n
\n

R$ {{ (investment?.value) | moneyMask }}\n {{ investment?.roundPercent }} %\n

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

Valuation atual

\n
\n
\n
\n
\n

Valor:

\n
\n
\n

{{ (valuation.current) | moneyMask : true}}\n 100%\n

\n
\n
\n
\n
\n

Valor da cota:

\n
\n
\n

{{ (((100 * investment?.value / ((round.round.maximumValuation * 100) / (round.round.partnerParticipation))) * valuation.current) / 100) | moneyMask : true}}\n {{ investment?.roundPercent }} %\n

\n
\n
\n
\n
\n

Retorno:

\n
\n
\n

\n {{ (valuation.current / ((round.round.maximumValuation * 100) / (round.round.partnerParticipation))) | number }}\n

\n
\n
\n
\n
\n

Valor valorizado:

\n
\n
\n

{{ ((((100 * investment?.value / ((round.round.maximumValuation * 100) / (round.round.partnerParticipation))) * valuation.current) / 100) - investment?.value) | moneyMask : true}}\n

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

Valorização da Empresa

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { LoaderService } from './../../core/service/loader.service';\nimport { DateMaskPipe } from './../../core/pipes/date-mask.pipe';\nimport { CepMaskPipe } from './../../core/pipes/cep-mask.pipe';\nimport { PhoneMaskPipe } from './../../core/pipes/phone-mask.pipe';\nimport { CpfMaskPipe } from './../../core/pipes/cpf-mask.pipe';\nimport { MoneyMaskPipe } from './../../core/pipes/money-mask.pipe';\nimport { Component, OnInit, AfterViewInit } from \"@angular/core\";\nimport { InvestorService } from \"../../core/service/investor.service\";\nimport { Investor } from \"../../core/interface/investor\";\nimport { UserService } from \"../../core/service/user.service\";\nimport { HttpClient } from '@angular/common/http';\nimport {\n FormGroup,\n FormBuilder,\n Validators,\n FormControl,\n FormArray,\n FormGroupDirective,\n} from \"@angular/forms\";\nimport { RadioOption } from \"../../share/radio/radio-option.model\";\nimport { Router } from \"@angular/router\";\nimport * as moment from \"moment\";\nimport { TitleService } from \"../../core/service/title.service\";\nimport { TitleHeader } from \"../../core/interface/title-header\";\nimport { finalize } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { HttpResponse } from '@angular/common/http';\nimport { Bank } from '../../core/interface/bank';\nimport { BankService } from '../../core/service/bank.service';\n\ndeclare var $: any;\ndeclare var bootbox: any;\ndeclare var toastr: any;\n\n@Component({\n selector: \"app-admin-user\",\n templateUrl: \"./admin-user.component.html\",\n styleUrls: [\"./admin-user.component.css\"],\n})\nexport class AdminUserComponent implements OnInit, AfterViewInit {\n form: FormGroup;\n isPJ: boolean;\n titleHeader: TitleHeader;\n totalInvestedUpangel: any;\n totalInvested: any;\n fileNameRG: string;\n fileSizeRG: string;\n fileNameRGVerse: string;\n fileSizeRGVerse: string;\n investor: Investor;\n investmentValue = \"\";\n loader: boolean;\n objectiveInvestment: string[] = [];\n loading: boolean = false;\n base64textString = \"./../../../assets/img/default-profile_01.png\";\n base64RG: string | null = null;\n msg = \"\";\n facebook: string;\n linkedin: string;\n twitter: string;\n descriptionCity: string;\n descriptionDate: string;\n descriptionSite: string;\n\n validationMessages = {\n nameResponsible: \"Nome do responsável é obrigatório.\",\n nickname: \"Apelido é obrigatório.\",\n fullName: \"Nome completo é obrigatório.\",\n cpfResponsible: \"CPF do responsável é obrigatório.\",\n profession: \"Profissão é obrigatória.\",\n nationality: \"Nacionalidade é obrigatória.\",\n gender: \"Gênero é obrigatório.\",\n maritalStatus: \"Estado civil é obrigatório.\",\n rgEmitter: \"Órgão emissor do RG é obrigatório.\",\n rg: \"RG é obrigatório e deve ter no máximo 13 caracteres.\",\n phone: \"Número de telefone é obrigatório.\",\n dateOfBirth: \"Data de nascimento é obrigatória.\",\n zipCode: \"CEP é obrigatório.\",\n street: \"Rua é obrigatória.\",\n number: \"Número do endereço é obrigatório.\",\n neighborhood: \"Bairro é obrigatória.\",\n city: \"Cidade é obrigatória.\",\n uf: \"UF é obrigatória.\",\n investorProfileStatement: \"Escolha uma declaração de perfil de investidor.\",\n totalInvestedOthers: \"Valor total investido é obrigatório e deve ser válido.\",\n publicFigure: \"Informe se você é uma figura pública.\",\n publicProfile: \"Informe se o perfil é público.\",\n aboutUpangel: \"Escolha uma opção de como conheceu a UpAngel.\",\n adminFullName: \"Nome do administrador é obrigatório.\",\n adminCpf: \"CPF do administrador é obrigatório.\",\n adminRg: \"RG do administrador é obrigatório.\",\n adminDateOfBirth: \"Data de nascimento do administrador é obrigatória.\",\n adminPhone: \"Telefone do administrador é obrigatório.\",\n email: \"Email do administrador é obrigatório e deve ser válido.\",\n streetpj: \"Rua da empresa é obrigatória.\",\n numberpj: \"Número da empresa é obrigatório.\",\n neighborhoodpj: \"Bairro da empresa é obrigatório.\",\n citypj: \"Cidade da empresa é obrigatória.\",\n ufpj: \"UF da empresa é obrigatória.\",\n zipcodepj: \"CEP da empresa é obrigatório.\",\n investorLevel: \"Nível do Investidor é obrigatório.\",\n horizonInvestment: \"Horizonte de investimento é obrigatório.\",\n riskTolerance:\"Tolerância ao Risco é obrigatório.\",\n interestParticipation:\"Interesse em Participação é obrigatório.\",\n objectiveInvestment:\"No campo objetivos de investimento pelo menos uma opção deve ser escolhida.\",\n interestSectors:\"No campo setores de interesse pelo menos uma opção deve ser escolhida.\",\n motivationInvestment:\"No campo motivação para investir pelo menos uma opção deve ser escolhida.\",\n favoriteChannel:\"No campo canais favoritos de comunicação pelo menos uma opção deve ser escolhida.\",\n areasInterestLearning:\"No campo Áreas de Interesse para Aprendizado pelo menos uma opção deve ser escolhida.\",\n skillsDevelop:\"No campo Habilidades que Desejam Desenvolver pelo menos uma opção deve ser escolhida.\",\n preferredContentFormat:\"No campo Formato Preferido de Conteúdo pelo menos uma opção deve ser escolhida.\"\n };\n\n publicFigures: RadioOption[] = [\n {\n label: \"Sim\",\n value: true,\n span: \"\",\n },\n {\n label: \"Não\",\n value: false,\n span: \"\",\n },\n ];\n\n investorProfileStatements: RadioOption[] = [\n {\n label: \"Possuo investimentos financeiros em valor superior a R$ 1 milhão\",\n value: \"ABOVE_MILLION\",\n span:\n \"Sou investidor qualificado, conforme definido na ICVM n.º 539 e posteriores alterações.\",\n },\n {\n label:\n \"Possuo investimentos financeiros ou renda bruta anual em valor superior a R$ 200 mil\",\n value: \"UP_TO_100_THOUSAND\",\n span:\n \"Não investirei, no ano-calendário por meio de plataformas eletrônicas de investimento participativo, mais do que 10% (dez por cento) do maior entre: (i) minha renda bruta anual; ou (ii) o montante total de meus investimentos financeiros.\",\n },\n {\n label:\n \"Não possuo investimentos financeiros ou renda bruta anual em valor superior a R$ 20 mil\",\n value: \"UP_TO_10_THOUSAND\",\n span:\n \"Não investirei, no ano-calendário por meio de plataformas eletrônicas de investimento participativo, mais de R$ 20.000,00 (vinte mil reais).\",\n },\n ];\n\n investorLevelOption: RadioOption[] = [\n {\n label:\n \"Investidor Iniciante\",\n value: \"INICIANTE\",\n span:\n \"Está começando no mercado, aprendendo conceitos básicos como renda fixa e variável. Geralmente busca segurança e baixos riscos.\",\n },\n {\n label:\n \"Investidor Intermediário\",\n value: \"INTERMEDIARIO\",\n span:\n \"Já entende estratégias, diversifica investimentos e equilibra riscos, explorando mais renda variável e fundos.\",\n },\n {\n label:\n \"Investidor Avançado\",\n value: \"AVANCADO\",\n span:\n \"Domina o mercado, utiliza análises complexas, investe em ativos de alto risco e retorno, como startups e mercados internacionais.\",\n },\n ];\n\n horizonInvestmentOption: RadioOption[] = [\n {\n label:\n \"Curto Prazo\",\n value: \"CURTO_PRAZO\",\n span:\n \"Tempo planejado de resgate (1-2 anos).\",\n },\n {\n label:\n \"Médio Prazo\",\n value: \"MEDIO_PRAZO\",\n span:\n \"Tempo planejado de resgate (3-5 anos).\",\n },\n {\n label:\n \"longo Prazo\",\n value: \"LONGO_PRAZO\",\n span:\n \"Tempo planejado de resgate (5+ anos).\",\n },\n ];\n\n riskToleranceOption: RadioOption[] = [\n {\n label:\n \"Conservador\",\n value: \"CONSERVADOR\",\n span:\n \"(baixa exposição ao risco)\",\n },\n {\n label:\n \"Moderado\",\n value: \"MODERADO\",\n span:\n \"(aceita riscos calculados)\",\n },\n {\n label:\n \"Agressivo\",\n value: \"AGRESSIVO\",\n span:\n \"(disposto a arriscar mais por maiores retornos)\",\n },\n ];\n\n interestParticipationOption: RadioOption[] = [\n {\n label:\n \"Apenas como investidor\",\n value: \"INVESTIDOR\",\n span:\n \"Participa apenas com aporte financeiro.\",\n },\n {\n label:\n \"Acompanhamento ativo das startups investidas\",\n value: \"INVESTIDOR_ORDINÁRIO\",\n span:\n \"Atua acompanhando o desempenho e decisões estratégicas das startups.\",\n },\n {\n label:\n \"Co-investidor ou mentor\",\n value: \"MENTOR\",\n span:\n \"Investe e oferece mentoria ou parceria estratégica.\",\n }\n ];\n\n objectiveInvestmentOption = [\n { label: \"Crescimento patrimonial\", value: \"CRESCIMENTO_PATRIMONIAL\", span: \"Foco em aumentar o valor investido ao longo do tempo.\" },\n { label: \"Renda passiva\", value: \"RENDA_PASSIVA\", span: \"Busca retornos regulares com acompanhamento estratégico.\" },\n { label: \"Diversificação do portfólio\", value: \"DIVERSIFICACAO_DE_PORTFOLIO\", span: \"Objetivo de minimizar riscos diversificando os investimentos.\" },\n { label: \"Apoio a startups e inovação\", value: \"APOIO_INOVACAO_STARTUPS\", span: \"Apoio direto ao desenvolvimento de ideias inovadoras.\" },\n { label: \"Planejamento de longo prazo\", value: \"LONGO_PRAZO\", span: \"Foco em retornos sustentáveis e consistentes no futuro.\" }\n ];\n\n interestSectorsOption = [\n { label: \"Tecnologia\", value: \"TECNOLOGIA\", span: \"Investimento em inovação e desenvolvimento tecnológico.\" },\n { label: \"Saúde\", value: \"SAUDE\", span: \"Foco em áreas relacionadas à saúde e bem-estar.\" },\n { label: \"Educação\", value: \"EDUCACAO\", span: \"Apoio a projetos e startups no setor educacional.\" },\n { label: \"Sustentabilidade\", value: \"SUSTENTABILIDADE\", span: \"Investimentos voltados à preservação ambiental e práticas sustentáveis.\" },\n { label: \"Outros\", value: \"OUTROS\", span: \"Selecione esta opção para especificar outro setor.\" }\n ]; \n\n motivationInvestmentOption = [\n { label: \"Impacto social\", value: \"IMPACTO_SOCIAL\", span: \"Investimentos focados em gerar benefícios para a sociedade.\" },\n { label: \"Retorno financeiro\", value: \"RETORNO_FINANCEIRO\", span: \"Busca maximizar ganhos financeiros através dos investimentos.\" },\n { label: \"Interesse no setor específico\", value: \"INTERESSE_SETOR_ESPECIFICO\", span: \"Investimento direcionado a áreas de interesse pessoal ou estratégico.\" },\n { label: \"Outros\", value: \"OUTROS\", span: \"Selecione esta opção para especificar outra motivação.\" }\n ]; \n\n favoriteChannelOption = [\n { label: \"WhatsApp\", value: \"WHATSAPP\", span: \"Comunicação rápida e direta via WhatsApp.\" },\n { label: \"E-mail\", value: \"EMAIL\", span: \"Envio de informações e notificações via e-mail.\" },\n { label: \"Plataforma da InvestPlus\", value: \"PLATAFORMA_INVESTPLUS\", span: \"Acompanhar tudo diretamente na plataforma InvestPlus.\" }\n ]; \n\n areasInterestLearningOption = [\n { label: \"Avaliação de startups (valuation, cap table)\", value: \"AVALIACAO_STARTUPS\", span: \"Aprenda a avaliar startups, incluindo valuation e estrutura de cap table.\" },\n { label: \"Modelos de negócios inovadores (SaaS, marketplaces, etc.)\", value: \"MODELOS_NEGOCIOS\", span: \"Explore modelos de negócios como SaaS, marketplaces e outras inovações.\" },\n { label: \"Finanças pessoais e gestão de portfólio\", value: \"FINANCAS_PESSOAIS\", span: \"Entenda como gerenciar finanças pessoais e diversificar seu portfólio.\" },\n { label: \"ESG e impacto social\", value: \"ESG_IMPACTO\", span: \"Descubra como integrar práticas de ESG e gerar impacto social positivo.\" },\n { label: \"Venture Capital e Private Equity\", value: \"VENTURE_PRIVATE\", span: \"Aprofunde-se no mundo do Venture Capital e do Private Equity.\" }\n ]; \n\n skillsDevelopOption = [\n { label: \"Análise de risco\", value: \"ANALISE_RISCO\", span: \"Desenvolver habilidades para identificar e avaliar riscos nos investimentos.\" },\n { label: \"Diversificação inteligente\", value: \"DIVERSIFICACAO_INTELIGENTE\", span: \"Aprender estratégias para diversificar portfólios de forma eficiente.\" },\n { label: \"Networking e co-investimentos\", value: \"NETWORKING_CO_INVESTIMENTOS\", span: \"Expandir a rede de contatos e explorar oportunidades de co-investimentos.\" },\n { label: \"Mentoria para startups investidas\", value: \"MENTORIA_STARTUPS\", span: \"Aprimorar habilidades para orientar e apoiar startups investidas.\" }\n ]; \n\n preferredContentFormatOption = [\n { label: \"Vídeos curtos e dinâmicos\", value: \"VIDEOS_CURTOS\", span: \"Conteúdo visual e direto para aprendizado rápido e engajante.\" },\n { label: \"Webinars ao vivo com especialistas\", value: \"WEBINARS_AO_VIVO\", span: \"Participe de discussões ao vivo com especialistas do setor.\" },\n { label: \"Artigos e e-books\", value: \"ARTIGOS_EBOOKS\", span: \"Materiais detalhados para estudo aprofundado e consulta futura.\" },\n { label: \"Comunidades de discussão online\", value: \"COMUNIDADES_ONLINE\", span: \"Troque ideias e experiências em grupos dedicados ao aprendizado.\" }\n ]; \n\n banks: Bank[] = [];\n $banks!: Subscription;\n\n constructor(\n private router: Router,\n private investorService: InvestorService,\n private formBuilder: FormBuilder,\n private userService: UserService,\n private data: TitleService,\n private maskMoney: MoneyMaskPipe,\n private cpfMask: CpfMaskPipe,\n private phoneMask: PhoneMaskPipe,\n private cepMask: CepMaskPipe,\n private dateMask: DateMaskPipe,\n private loaderService: LoaderService,\n private bankService: BankService,\n private http: HttpClient\n ) { }\n\n ngOnInit() {\n this.initForm();\n this.clearFiles();\n this.data.currentMessage.subscribe((titles) => (this.titleHeader = titles));\n this.titleHeader.title = \"Meu Perfil / Meus Dados\";\n this.data.changeTitle(this.titleHeader);\n this.getUser();\n this.getBanks();\n this.toggleValidatorsForInvestorType();\n }\n \n // addEmptyAdminIfNeeded() {\n // if (this.admins.length === 0) {\n // this.addAdmin();\n // }\n // }\n\n ngAfterViewInit() {\n this.initMask();\n }\n\n getFormValue(controlName: string) {\n return this.form.get(controlName)?.value || '';\n } \n\n initForm() {\n this.form = this.formBuilder.group({\n nameResponsible: [null],\n nickname: [null],\n fullName: [null],\n cpfResponsible: [null],\n complement: [null],\n accountBank: [null],\n accountAgency: [null],\n accountNumber: [null],\n profession: [null],\n nationality: [null],\n gender: [null],\n maritalStatus: [null, [Validators.required]],\n rgEmitter: [null, [Validators.required]],\n rg: [null, [Validators.required, Validators.maxLength(13)]],\n phone: [null, [Validators.required]],\n dateOfBirth: [null, [Validators.required]],\n zipCode: [null, [Validators.required]],\n street: [null, [Validators.required]],\n number: [null, [Validators.required]],\n neighborhood: [null, [Validators.required]],\n city: [null, [Validators.required]],\n uf: [null, [Validators.required]],\n investorProfileStatement: [\"UP_TO_10_THOUSAND\", [Validators.required]],\n totalInvestedOthers: [\"0,00\", [Validators.required, Validators.minLength(3)]],\n publicFigure: [false, [Validators.required]],\n publicProfile: [false, [Validators.required]],\n personalWebsite: [null],\n facebook: [null],\n twitter: [null],\n linkedin: [null],\n agent: [null],\n aboutUpangel: [\"OUTRO\", [Validators.required]],\n investedUpangel: [\"0,00\"],\n totalInvested: [\"0,00\"],\n addressId: [null], \n streetpj: [null, Validators.required],\n numberpj: [null, Validators.required],\n neighborhoodpj: [null, Validators.required],\n citypj: [null, Validators.required],\n ufpj: [null, Validators.required],\n zipcodepj: [null, Validators.required],\n admins: this.formBuilder.array([]),\n otherSector: [null],\n objectiveInvestment: [[], [this.defaultOptionValidator, Validators.required]],\n investorLevel: [null, [this.defaultOptionValidator, Validators.required]],\n interestSectors: [[], [this.defaultOptionValidator, Validators.required]],\n horizonInvestment: [null, [this.defaultOptionValidator, Validators.required]],\n riskTolerance: [null, [this.defaultOptionValidator, Validators.required]],\n interestParticipation: [null, [this.defaultOptionValidator, Validators.required]],\n motivationInvestment: [[], [this.defaultOptionValidator, Validators.required]],\n otherMotivation: [null],\n favoriteChannel: [[], [this.defaultOptionValidator, Validators.required]],\n areasInterestLearning: [[], [this.defaultOptionValidator, Validators.required]],\n skillsDevelop: [[], [this.defaultOptionValidator, Validators.required]],\n preferredContentFormat: [[], [this.defaultOptionValidator, Validators.required]]\n });\n }\n\n defaultOptionValidator(control: FormControl) {\n const invalidOptions = ['SELECIONE', []];\n if (invalidOptions.includes(control.value)) {\n return { defaultSelected: true };\n }\n return null;\n }\n \n\n get admins(): FormArray {\n return this.form.get('admins') as FormArray;\n } \n\n addAdmin() {\n this.admins.push(this.formBuilder.group({\n fullName: [null],\n cpfCnpj: [null],\n rg: [null],\n dateOfBirth: [null],\n gender: [null],\n maritalStatus: [null],\n phone: [null],\n email: [null],\n streetAdmin: [null],\n cityAdmin: [null],\n ufAdmin: [null],\n zipCodeAdmin: [null],\n numberAdmin: [null],\n neighborhoodAdmin: [null]\n }));\n } \n \n removeAdmin(index: number) {\n this.admins.removeAt(index);\n } \n\n onSkillsDevelopChange(event: Event, value: string): void {\n const checkbox = event.target as HTMLInputElement;\n const currentValues = this.form.get('skillsDevelop')?.value || [];\n \n if (checkbox.checked) {\n this.form.get('skillsDevelop')?.setValue([...currentValues, value]);\n } else {\n this.form.get('skillsDevelop')?.setValue(currentValues.filter((v: string) => v !== value));\n }\n } \n\n onAreasInterestLearningChange(event: Event, value: string): void {\n const checkbox = event.target as HTMLInputElement;\n const currentValues = this.form.get('areasInterestLearning')?.value || [];\n \n if (checkbox.checked) {\n this.form.get('areasInterestLearning')?.setValue([...currentValues, value]);\n } else {\n this.form.get('areasInterestLearning')?.setValue(currentValues.filter((v: string) => v !== value));\n }\n } \n\n onPreferredContentFormatChange(event: Event, value: string): void {\n const checkbox = event.target as HTMLInputElement;\n const currentValues = this.form.get('preferredContentFormat')?.value || [];\n \n if (checkbox.checked) {\n this.form.get('preferredContentFormat')?.setValue([...currentValues, value]);\n } else {\n this.form.get('preferredContentFormat')?.setValue(currentValues.filter((v: string) => v !== value));\n }\n } \n\n onFavoriteChannelCheckboxChange(event: Event, value: string): void {\n const checkbox = event.target as HTMLInputElement;\n const currentValues = this.form.get('favoriteChannel')?.value || [];\n \n if (checkbox.checked) {\n this.form.get('favoriteChannel')?.setValue([...currentValues, value]);\n } else {\n this.form.get('favoriteChannel')?.setValue(currentValues.filter((v: string) => v !== value));\n }\n } \n\n onInterestCheckboxChange(event: Event, value: string): void {\n const checkbox = event.target as HTMLInputElement;\n const currentValues = this.form.get('interestSectors')?.value || [];\n \n if (checkbox.checked) {\n this.form.get('interestSectors')?.setValue([...currentValues, value]);\n } else {\n this.form.get('interestSectors')?.setValue(currentValues.filter((v: string) => v !== value));\n }\n \n if (value === 'OUTROS' && !checkbox.checked) {\n this.form.get('otherSector')?.setValue(null);\n }\n }\n \n onMotivationCheckboxChange(event: Event, value: string): void {\n const checkbox = event.target as HTMLInputElement;\n const currentValues = this.form.get('motivationInvestment')?.value || [];\n \n if (checkbox.checked) {\n this.form.get('motivationInvestment')?.setValue([...currentValues, value]);\n } else {\n this.form.get('motivationInvestment')?.setValue(currentValues.filter((v: string) => v !== value));\n }\n \n if (value === 'OUTROS' && !checkbox.checked) {\n this.form.get('otherMotivation')?.setValue(null);\n }\n }\n \n\n formatDate() {\n let date = this.form.get('dateOfBirth')?.value;\n if (date) {\n date = date.replace(/\\D/g, '');\n if (date.length > 2) {\n date = date.substring(0, 2) + '/' + date.substring(2);\n }\n if (date.length > 5) {\n date = date.substring(0, 5) + '/' + date.substring(5, 9);\n }\n this.form.get('dateOfBirth')?.setValue(date, { emitEvent: false });\n }\n }\n\n onCheckboxChange(event: Event): void {\n const checkbox = event.target as HTMLInputElement;\n const value = checkbox.value;\n\n if (checkbox.checked) {\n this.objectiveInvestment.push(value); \n } else {\n const index = this.objectiveInvestment.indexOf(value);\n if (index > -1) {\n this.objectiveInvestment.splice(index, 1);\n }\n }\n\n this.form.get('objectiveInvestment')?.setValue(this.objectiveInvestment); \n console.log(\"Selected Objectives:\", this.objectiveInvestment);\n }\n\n applyCepMaskForAdmin(event: Event, adminIndex: number): void {\n const input = event.target as HTMLInputElement;\n let cepValue = input.value.replace(/\\D/g, '').slice(0, 8);\n \n if (cepValue.length >= 5) {\n cepValue = cepValue.replace(/(\\d{5})(\\d{1,3})/, '$1-$2');\n }\n input.value = cepValue;\n \n if (cepValue.replace('-', '').length === 8) {\n this.getAdminAddressByCep(cepValue, adminIndex);\n }\n }\n\n getAdminAddressByCep(cep: string, adminIndex: number) {\n const cleanCep = cep.replace(/\\D/g, '');\n \n this.http.get(`https://viacep.com.br/ws/${cleanCep}/json/`).subscribe((data: any) => {\n if (!data.erro) {\n const adminFormGroup = this.admins.at(adminIndex) as FormGroup;\n adminFormGroup.patchValue({\n streetAdmin: data.logradouro,\n cityAdmin: data.localidade,\n ufAdmin: data.uf, \n neighborhoodAdmin: data.bairro\n });\n } else {\n toastr.error(\"CEP não encontrado.\");\n }\n }, error => {\n toastr.error(\"Erro ao buscar o CEP.\");\n });\n }\n\n formatPhone() {\n let phone = this.form.get('phone')?.value;\n if (phone) {\n phone = phone.replace(/\\D/g, '');\n if (phone.length > 0) {\n phone = '(' + phone.substring(0, 2) + ') ' + phone.substring(2);\n }\n if (phone.length > 9) {\n phone = phone.substring(0, 9) + '-' + phone.substring(9, 14);\n }\n this.form.get('phone')?.setValue(phone, { emitEvent: false });\n }\n }\n\n getCepAddress() {\n const cep = this.form.get('zipCode')?.value.replace(/\\D/g, '');\n if (cep && cep.length === 8) {\n this.http.get(`https://viacep.com.br/ws/${cep}/json/`).subscribe((data: any) => {\n if (data) {\n this.form.patchValue({\n street: data.logradouro,\n neighborhood: data.bairro,\n city: data.localidade,\n uf: data.uf,\n number: null,\n complement: null\n });\n }\n }, error => {\n console.error('Erro ao buscar CEP:', error);\n });\n }\n }\n\n getCepAddressPJ() {\n const cep = this.form.get('zipcodepj')?.value.replace(/\\D/g, '');\n if (cep && cep.length === 8) {\n this.http.get(`https://viacep.com.br/ws/${cep}/json/`).subscribe((data: any) => {\n if (data) {\n this.form.patchValue({\n streetpj: data.logradouro,\n neighborhoodpj: data.bairro,\n citypj: data.localidade,\n ufpj: data.uf,\n numberpj: null,\n });\n }\n }, error => {\n console.error('Erro ao buscar CEP:', error);\n });\n }\n }\n\n formatCep() {\n let cep = this.form.get('zipCode')?.value;\n if (cep) {\n cep = cep.replace(/\\D/g, '');\n if (cep.length === 8) {\n cep = cep.substring(0, 5) + '-' + cep.substring(5, 8);\n this.form.get('zipCode')?.setValue(cep, { emitEvent: false });\n }\n }\n }\n\n formatCepPJ() {\n let cep = this.form.get('zipcodepj')?.value;\n if (cep) {\n cep = cep.replace(/\\D/g, '');\n if (cep.length === 8) {\n cep = cep.substring(0, 5) + '-' + cep.substring(5, 8);\n this.form.get('zipcodepj')?.setValue(cep, { emitEvent: false });\n }\n }\n }\n\n onCepInput() {\n let cep = this.form.get('zipCode')?.value;\n if (cep) {\n cep = cep.replace(/\\D/g, '');\n if (cep.length === 8) {\n this.formatCep();\n this.getCepAddress();\n }\n }\n }\n\n onCepInputPJ() {\n let cep = this.form.get('zipcodepj')?.value;\n if (cep) {\n cep = cep.replace(/\\D/g, '');\n if (cep.length === 8) {\n this.formatCepPJ();\n this.getCepAddressPJ();\n }\n }\n }\n\n applyInvestorTypeValidations() {\n if (this.investor?.cnpj) {\n this.toggleValidatorsForInvestorType(); \n // this.toggleAdminValidatorsForPJ(); \n }\n }\n \n toggleValidatorsForInvestorType() {\n const pjFields = ['streetpj', 'numberpj', 'neighborhoodpj', 'citypj', 'ufpj', 'zipcodepj'];\n \n pjFields.forEach((field) => {\n const control = this.form.get(field);\n if (this.isPJ) {\n control?.setValidators([Validators.required]);\n } else {\n control?.clearValidators();\n control?.setValue(null);\n }\n control?.updateValueAndValidity();\n });\n \n this.admins.controls.forEach((adminGroup) => {\n const fullName = adminGroup.get('fullName');\n const cpfCnpj = adminGroup.get('cpfCnpj');\n if (this.isPJ) {\n fullName?.setValidators([Validators.required]);\n cpfCnpj?.setValidators([Validators.required]);\n } else {\n fullName?.clearValidators();\n cpfCnpj?.clearValidators();\n fullName?.setValue(null);\n cpfCnpj?.setValue(null);\n }\n fullName?.updateValueAndValidity();\n cpfCnpj?.updateValueAndValidity();\n });\n }\n \n\n // toggleAdminValidatorsForPJ() {\n // if (this.investor?.cnpj) {\n // this.admins.controls.forEach(adminGroup => {\n // // adminGroup.get('fullName')?.setValidators([Validators.required]);\n // // adminGroup.get('cpf')?.setValidators([Validators.required]);\n // // adminGroup.get('rg')?.setValidators([Validators.required]);\n // // adminGroup.get('dateOfBirth')?.setValidators([Validators.required]);\n // // adminGroup.get('phone')?.setValidators([Validators.required]);\n \n // // adminGroup.get('fullName')?.updateValueAndValidity();\n // // adminGroup.get('cpf')?.updateValueAndValidity();\n // // adminGroup.get('rg')?.updateValueAndValidity();\n // // adminGroup.get('dateOfBirth')?.updateValueAndValidity();\n // // adminGroup.get('phone')?.updateValueAndValidity();\n // });\n // }\n // }\n\n getUser(): void {\n this.loader = true;\n this.investorService.getUser().subscribe((response) => {\n this.investor = response;\n\n this.isPJ = !this.investor?.cpf; \n \n this.applyInvestorTypeValidations();\n \n this.totalTabs = this.isPJ ? 6 : 5;\n\n if (Array.isArray(response.objectiveInvestment)) {\n this.objectiveInvestment = response.objectiveInvestment;\n this.form.get('objectiveInvestment')?.setValue(this.objectiveInvestment);\n }\n\n if (Array.isArray(response.motivationInvestment)) {\n this.form.get('motivationInvestment')?.setValue(response.motivationInvestment);\n }\n\n if (response.otherMotivation) {\n this.form.get('otherMotivation')?.setValue(response.otherMotivation);\n }\n\n if (Array.isArray(response.interestSectors)) {\n this.form.get('interestSectors')?.setValue(response.interestSectors);\n }\n\n if (response.otherSector) {\n this.form.get('otherSector')?.setValue(response.otherSector);\n }\n\n if (Array.isArray(response.favoriteChannel)) {\n this.form.get('favoriteChannel')?.setValue(response.favoriteChannel);\n }\n\n if (Array.isArray(response.areasInterestLearning)) {\n this.form.get('areasInterestLearning')?.setValue(response.areasInterestLearning);\n }\n\n if (Array.isArray(response.skillsDevelop)) {\n this.form.get('skillsDevelop')?.setValue(response.skillsDevelop);\n }\n\n if (Array.isArray(response.preferredContentFormat)) {\n this.form.get('preferredContentFormat')?.setValue(response.preferredContentFormat);\n }\n\n if (this.investor.cnpj) {\n if (!this.tabs.includes(\"Administradores\")) {\n this.tabs.push(\"Administradores\");\n this.tabContents.push(\"Adicione os administradores da empresa\");\n }\n }\n \n this.isPJ = this.investor?.cnpj ? true : false;\n \n if (this.investor?.admins?.length > 0) {\n this.investor.admins.forEach((admin) => {\n this.admins.push(this.formBuilder.group({\n fullName: [admin.fullName],\n cpfCnpj: [admin.cpfCnpj], \n rg: [admin.rg],\n dateOfBirth: [moment(admin.dateOfBirth).format('DD/MM/YYYY')],\n gender: [admin.gender],\n maritalStatus: [admin.maritalStatus],\n phone: [admin.phone],\n email: [admin.email],\n streetAdmin: [admin.streetAdmin],\n cityAdmin: [admin.cityAdmin],\n ufAdmin: [admin.ufAdmin],\n zipCodeAdmin: [admin.zipCodeAdmin],\n numberAdmin: [admin.numberAdmin],\n neighborhoodAdmin: [admin.neighborhoodAdmin], \n }));\n });\n } else {\n // this.addEmptyAdminIfNeeded();\n }\n \n if (response.address !== undefined) {\n this.setFormValue(\"nickname\", response.nickname);\n this.setFormValue(\"fullName\", response.fullName);\n this.setFormValue(\"addressId\", response.address.id);\n this.setFormValue(\"profession\", response.profession);\n this.setFormValue(\"nationality\", response.nationality);\n this.setFormValue(\"streetpj\", response.streetpj);\n this.setFormValue(\"numberpj\", response.numberpj);\n this.setFormValue(\"neighborhoodpj\", response.neighborhoodpj);\n this.setFormValue(\"citypj\", response.citypj);\n this.setFormValue(\"ufpj\", response.ufpj);\n this.setFormValue(\"zipcodepj\", response.zipcodepj);\n this.setFormValue(\"gender\", response.gender);\n this.setFormValue(\"maritalStatus\", response.maritalStatus);\n this.setFormValue(\"rgEmitter\", response.rgEmitter);\n this.setFormValue(\"rg\", response.rg);\n this.setFormValue(\"phone\", this.phoneMask.transform(response.phone));\n this.setFormValue(\"street\", response.address.street);\n this.setFormValue(\"zipCode\", response.address.zipCode);\n this.setFormValue(\"number\", response.address.number);\n this.setFormValue(\"neighborhood\", response.address.neighborhood);\n this.setFormValue(\"complement\", response.address.complement);\n this.setFormValue(\"city\", response.address.city);\n this.setFormValue(\"uf\", response.address.uf);\n this.setFormValue(\"dateOfBirth\", this.dateMask.transform(response.dateOfBirth));\n this.form.get('address')?.patchValue(response.address);\n this.form.get('address')?.patchValue({\n \"zipCode\": this.cepMask.transform(response.address.zipCode),\n });\n \n this.setFormValue(\"investorProfileStatement\", response.investorProfileStatement);\n this.setFormValue(\"totalInvestedOthers\", this.maskMoney.transform(response.totalInvestedOthers));\n this.setFormValue(\"investedUpangel\", this.maskMoney.transform(response.investedUpangel));\n this.setFormValue(\"totalInvested\", this.maskMoney.transform(response.totalInvestedOthers + response.investedUpangel));\n this.setFormValue(\"publicFigure\", response.publicFigure);\n this.setFormValue(\"publicProfile\", response.publicProfile);\n this.setFormValue(\"personalWebsite\", response.personalWebsite);\n this.setFormValue(\"facebook\", response.facebook);\n this.setFormValue(\"twitter\", response.twitter);\n this.setFormValue(\"linkedin\", response.linkedin);\n this.setFormValue(\"agent\", response.agent);\n this.setFormValue(\"aboutUpangel\", response.aboutUpangel);\n this.setFormValue(\"nameResponsible\", response.nameResponsible);\n this.setFormValue(\"cpfResponsible\", this.cpfMask.transform(response.cpfResponsible));\n this.setFormValue(\"accountAgency\", response.accountAgency);\n this.setFormValue(\"accountBank\", response.accountBank);\n this.setFormValue(\"accountNumber\", response.accountNumber);\n this.setFormValue(\"investorLevel\", response.investorLevel)\n this.setFormValue(\"horizonInvestment\", response.horizonInvestment)\n this.setFormValue(\"riskTolerance\", response.riskTolerance)\n this.setFormValue(\"interestParticipation\", response.interestParticipation)\n\n \n this.descriptionCity = response.address.city;\n this.descriptionSite = response.personalWebsite;\n this.facebook = response.facebook;\n this.linkedin = response.linkedin;\n this.twitter = response.twitter;\n \n if (response.dateOfBirth != null) {\n this.descriptionDate = moment(response.dateOfBirth).format(\"DD\") + \" de \" +\n moment(response.dateOfBirth).locale(\"pt-br\").format(\"MMMM\");\n }\n }\n \n this.base64textString = response.avatar\n ? \"data:image/png;base64,\" + response.avatar\n : \"./../../../assets/img/default-profile_01.png\";\n \n if (response.rgDocument) {\n this.fileNameRG = \"RG_FRENTE.png\"; \n this.fileSizeRG = ((response.rgDocument.length * (3 / 4)) / (1024 * 1024)).toFixed(2); \n this.base64RG = \"data:image/png;base64,\" + response.rgDocument;\n }\n \n if (response.rgDocumentVerse) {\n this.fileNameRGVerse = \"RG_VERSO.png\"; \n this.fileSizeRGVerse = ((response.rgDocumentVerse.length * (3 / 4)) / (1024 * 1024)).toFixed(2); \n this.base64RG = \"data:image/png;base64,\" + response.rgDocumentVerse;\n }\n \n setTimeout(() => {\n this.initMask();\n }, 1000);\n \n this.loader = false;\n });\n }\n \n \n \n private setFormValue(controlName: string, value: any) {\n if (this.form.controls[controlName]) {\n this.form.controls[controlName].setValue(value);\n }\n }\n\n\n unmaskInput(input) {\n if (input === undefined) {\n return input;\n }\n return input.replace(/[^\\d]+/g, \"\");\n }\n\n unmaskMoney(input) {\n if (input === undefined) {\n return input;\n }\n return (Number(input.replace(/[^\\d]+/g, \"\")) / 100).toFixed(2);\n }\n\n initMask() {\n const SPMaskBehavior = function (val) {\n return val.replace(/\\D/g, \"\").length === 11\n ? \"(00) 00000-0000\"\n : \"(00) 0000-00009\";\n },\n spOptions = {\n onKeyPress: function (val, e, field, options) {\n field.mask(SPMaskBehavior.apply({}, arguments), options);\n },\n };\n $(\".phone\").mask(SPMaskBehavior, spOptions);\n $(\".zipCode\").mask(\"00000-000\");\n $(\".cpf\").mask(\"000.000.000-00\");\n $(\".dateOfBirth\").mask(\"00/00/0000\");\n $(\".money\").mask(\"#.##0,00\", {\n reverse: true,\n });\n $(\".number\").keyup(function () {\n $(this).val(this.value.replace(/\\D/g, \"\"));\n });\n }\n\n onSubmit() {\n if (!this.isPJ) {\n const pjFields = ['streetpj', 'numberpj', 'neighborhoodpj', 'citypj', 'ufpj', 'zipcodepj', 'admins'];\n pjFields.forEach((field) => this.form.removeControl(field));\n }\n \n let nonEmptyAdmins = [];\n if (this.isPJ) {\n nonEmptyAdmins = this.admins.controls.filter(admin => {\n const val = admin.value;\n return val.fullName || val.cpfCnpj || val.rg || val.dateOfBirth || val.phone;\n });\n }\n \n if (!this.form.get('nickname')?.value) {\n this.setFormValue('nickname', this.investor.nickname);\n }\n if (!this.form.get('fullName')?.value) {\n this.setFormValue('fullName', this.investor.fullName);\n }\n \n if (this.form.valid) {\n const dataSend = {\n ...this.form.value,\n streetpj: this.form.get('streetpj')?.value,\n objectiveInvestment: this.objectiveInvestment,\n numberpj: this.form.get('numberpj')?.value,\n neighborhoodpj: this.form.get('neighborhoodpj')?.value,\n citypj: this.form.get('citypj')?.value,\n ufpj: this.form.get('ufpj')?.value,\n zipcodepj: this.unmaskInput(this.form.get('zipcodepj')?.value),\n admins: this.isPJ && nonEmptyAdmins.length > 0 ? nonEmptyAdmins.map(adminControl => ({\n ...adminControl.value,\n zipCodeAdmin: this.unmaskInput(adminControl.value.zipCodeAdmin),\n dateOfBirth: adminControl.value.dateOfBirth ? moment(adminControl.value.dateOfBirth, 'DD/MM/YYYY').format('YYYY-MM-DD') : null\n })) : null\n };\n \n dataSend.phone = Number(this.unmaskInput(dataSend.phone));\n dataSend.dateOfBirth = moment(this.form.get('dateOfBirth')?.value, 'DD/MM/YYYY').format('YYYY-MM-DD');\n dataSend.investedUpangel = parseFloat(this.unmaskMoney(dataSend.investedUpangel).replace(\",\", \".\"));\n dataSend.totalInvestedOthers = parseFloat(this.unmaskMoney(dataSend.totalInvestedOthers).replace(\",\", \".\"));\n \n if (this.isPJ) {\n dataSend.cnpj = this.investor.cnpj;\n dataSend.cpfResponsible = this.unmaskInput(dataSend.cpfResponsible);\n } else {\n dataSend.cpf = this.investor.cpf;\n }\n \n dataSend.address = {\n id: dataSend.addressId,\n zipCode: this.unmaskInput(dataSend.zipCode),\n street: dataSend.street,\n number: dataSend.number,\n complement: dataSend.complement,\n neighborhood: dataSend.neighborhood,\n city: dataSend.city,\n uf: dataSend.uf\n };\n \n this.loading = true;\n this.loaderService.load(this.loading);\n \n this.investorService.updateInvestor(dataSend)\n .pipe(finalize(() => {\n this.loading = false;\n this.loaderService.load(this.loading);\n }))\n .subscribe({\n next: () => {\n toastr.success(\"Dados atualizados.\");\n this.router.navigate([\"/admin/rounds/incorporator/list\"]);\n },\n error: (error) => {\n if (error.error.code === \"DUPLICATE_RG\") {\n this.form.controls[\"rg\"].setValue(\"\");\n toastr.error(\"O RG informado já se encontra cadastrado.\");\n } else {\n toastr.error(\"Ocorreu um erro, contate o administrador.\");\n }\n }\n });\n } else {\n this.loading = false;\n this.loaderService.load(this.loading);\n \n const errorMessages = this.generateErrorMessage(this.form);\n toastr.error(`Formulário preenchido incorretamente. Por favor, revise os seguintes campos: ${errorMessages}`);\n }\n } \n \n generateErrorMessage(formGroup: FormGroup): string {\n const isPJ = this.form.get('cpfResponsible')?.value === null;\n const pjFields = ['streetpj', 'numberpj', 'neighborhoodpj', 'citypj', 'ufpj', 'zipcodepj'];\n \n let messages: string[] = [];\n \n Object.keys(formGroup.controls).forEach((key) => {\n if (!isPJ && pjFields.includes(key)) {\n return;\n }\n \n const control = formGroup.get(key);\n \n if (control instanceof FormGroup) {\n const nestedMessages = this.generateErrorMessage(control);\n if (nestedMessages) messages.push(`${key}: ${nestedMessages}`);\n } else if (control && control.invalid && control.errors) {\n const errorMessage = this.validationMessages[key] || `Campo ${key} está incorreto.`;\n messages.push(errorMessage);\n }\n });\n \n return messages.join(\"; \");\n }\n \n onDevelopmentToast() {\n toastr.options = {\n closeButton: true,\n debug: false,\n newestOnTop: false,\n progressBar: true,\n positionClass: \"toast-top-right\",\n preventDuplicates: true,\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"10000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\",\n };\n\n toastr.error('Em desenvolvimento');\n }\n\n tabs: string[] = ['Geral', 'Endereço', 'Perfil', 'Social', 'Dados bancários', 'Aprendizado'];\n totalTabs: number;\n\n\n tabContents: string[] = [\n 'Dados gerais da conta',\n 'Meu endereço',\n 'Detalhes do perfil',\n 'Links sociais',\n 'Informações bancárias',\n ];\n activeTab: number = 0;\n\n setActiveTab(index: number): void {\n this.activeTab = index;\n } \n\n redirectTo(uri: string) {\n this.router\n .navigateByUrl(\"/\", {\n skipLocationChange: true,\n })\n .then(() => this.router.navigate([uri]));\n }\n\n validateAllFields(formGroup: FormGroup) {\n const isPJ = this.investor?.cnpj ? true : false;\n const pjFields = ['streetpj', 'numberpj', 'neighborhoodpj', 'citypj', 'ufpj', 'zipcodepj', 'admins'];\n \n Object.keys(formGroup.controls).forEach((field) => {\n const control = formGroup.get(field);\n \n if (!isPJ && pjFields.includes(field)) {\n return;\n }\n \n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n \n if (control.invalid) {\n const errorMessage = this.validationMessages[field];\n if (errorMessage) {\n toastr.error(errorMessage, \"Erro no formulário\", {\n timeOut: 10000,\n extendedTimeOut: 1000,\n closeButton: true,\n progressBar: true,\n positionClass: \"toast-top-right\",\n });\n } else {\n toastr.error(`O campo ${field} está incorreto.`, \"Erro no formulário\", {\n timeOut: 10000,\n extendedTimeOut: 1000,\n closeButton: true,\n progressBar: true,\n positionClass: \"toast-top-right\",\n });\n }\n }\n } else if (control instanceof FormGroup) {\n this.validateAllFields(control); \n }\n });\n } \n\n validateDate() {\n const date = this.form.controls[\"dateOfBirth\"].value;\n let ardt = new Array();\n const ExpReg = new RegExp(\n \"(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}\"\n );\n ardt = date.split(\"/\");\n let erro = false;\n if (date.search(ExpReg) === -1) {\n erro = true;\n } else if (\n (ardt[1] === 4 || ardt[1] === 6 || ardt[1] === 9 || ardt[1] === 11) &&\n ardt[0] > 30\n ) {\n erro = true;\n } else if (ardt[1] === 2) {\n if (ardt[0] > 28 && ardt[2] % 4 !== 0) {\n erro = true;\n }\n if (ardt[0] > 29 && ardt[2] % 4 === 0) {\n erro = true;\n }\n }\n if (erro) {\n this.form.controls[\"dateOfBirth\"].setValue(\"\");\n bootbox.dialog({\n title: \"Campo incorreto\",\n message: \"Insira uma data de nascimento válida.\",\n buttons: {\n ok: {\n label: \"Fechar\",\n className: \"bg-upangel\",\n callback: function () { },\n },\n },\n });\n return false;\n }\n return true;\n }\n\n clearAddress() {\n this.form.controls[\"street\"].setValue(\"\");\n this.form.controls[\"city\"].setValue(\"\");\n this.form.controls[\"uf\"].setValue(\"\");\n this.form.controls[\"neighborhood\"].setValue(\"\");\n }\n\n getCep() {\n let cep = this.form.get(\"address\").get(\"zipCode\").value;\n cep = cep.replace(\"-\", \"\");\n if (cep !== \"\") {\n const validacep = /^[0-9]{8}$/;\n if (validacep.test(cep)) {\n this.form.get(\"address\").patchValue({\n street: null,\n city: null,\n uf: null,\n neighborhood: null\n });\n\n this.userService.getAddressByZipCode(cep).subscribe((dados) => {\n if (!(\"erro\" in dados)) {\n this.form.get(\"address\").patchValue({\n street: dados.logradouro,\n city: dados.localidade,\n uf: dados.uf,\n neighborhood: dados.bairro\n });\n } else {\n this.clearAddress();\n bootbox.dialog({\n title: \"Campo incorreto\",\n message: \"CEP não encontrado.\",\n buttons: {\n ok: {\n label: \"Fechar\",\n className: \"bg-upangel\",\n callback: function () { },\n },\n },\n });\n }\n });\n } else {\n this.clearAddress();\n bootbox.dialog({\n title: \"Campo incorreto\",\n message: \"Formato de CEP inválido\",\n buttons: {\n ok: {\n label: \"Fechar\",\n className: \"bg-upangel\",\n callback: function () { },\n },\n },\n });\n }\n } else {\n this.clearAddress();\n }\n }\n\n calculateInvestment(quota) {\n const investedUpangel = Number(\n this.unmaskMoney(this.form.controls[\"investedUpangel\"].value)\n );\n quota = Number(this.unmaskMoney(quota));\n\n if (!isNaN(quota) && quota >= 0) {\n this.investmentValue = this.maskMoney.transform(investedUpangel + quota);\n }\n }\n\n onUploadChange(evt: any) {\n const file = evt.target.files[0];\n\n if (file) {\n if (file.size > 52428800) {\n this.msg = \"O tamanho máximo permitido é 50MB.\";\n } else {\n this.msg = \"\";\n const reader = new FileReader();\n\n reader.onload = this.handleReaderLoaded.bind(this);\n reader.readAsBinaryString(file);\n }\n }\n }\n\n onUploadRG(evt: any) {\n const file = evt.target.files[0];\n\n if (file) {\n if (file.size > 52428800) {\n toastr.error(\"O tamanho máximo permitido é 50MB.\");\n } else {\n this.msg = \"\";\n const reader = new FileReader();\n\n reader.onload = (event: any) => {\n const fileContent = event.target.result;\n this.handleRGLoaded(fileContent);\n\n this.fileNameRG = file.name;\n this.fileSizeRG = (file.size / (1024 * 1024)).toFixed(2); \n };\n\n reader.readAsDataURL(file);\n }\n }\n }\n\n\n onUploadRGVerse(evt: any) {\n const file = evt.target.files[0];\n\n if (file) {\n if (file.size > 52428800) {\n toastr.error(\"O tamanho máximo permitido é 50MB.\");\n } else {\n this.msg = \"\";\n const reader = new FileReader();\n\n reader.onload = (event: any) => {\n const fileContent = event.target.result;\n this.handleRGLoadedVerse(fileContent);\n console.log(file)\n this.fileNameRGVerse = file.name;\n this.fileSizeRGVerse = (file.size / (1024 * 1024)).toFixed(2); \n };\n\n reader.readAsDataURL(file);\n }\n }\n }\n\n\n handleRGLoaded(fileContent: string) {\n this.loading = true;\n \n const base64Data = fileContent.replace(/^data:image\\/(png|jpg|jpeg);base64,/, '');\n \n const rg = {\n rg: base64Data,\n };\n \n this.investorService\n .uploadRG(rg)\n .pipe(\n finalize(() => this.loading = false)\n )\n .subscribe(\n (response) => { },\n (error) => {\n const erro = \"Não foi possível enviar/atualizar o RG\";\n toastr.error(erro, \"Erro\");\n }\n );\n } \n\n handleRGLoadedVerse(fileContent: string) {\n this.loading = true;\n \n const base64Data = fileContent.replace(/^data:image\\/(png|jpg|jpeg);base64,/, '');\n \n this.base64RG = fileContent; \n \n const rg = {\n rg: base64Data, \n };\n \n this.investorService\n .uploadRGVerse(rg)\n .pipe(\n finalize(() => this.loading = false)\n )\n .subscribe(\n (response) => { },\n (error) => {\n const erro = \"Não foi possível enviar/atualizar o RG\";\n toastr.error(erro, \"Erro\");\n }\n );\n } \n\n handleReaderLoaded(e) {\n this.loading = true;\n this.base64textString = \"data:image/png;base64,\" + btoa(e.target.result);\n\n const avatar = {\n avatar: btoa(e.target.result),\n };\n\n this.investorService\n .updateAvatar(avatar)\n .pipe(\n finalize(() => this.loading = false)\n )\n .subscribe(\n (response) => { },\n (error) => {\n const erro = \"Não foi possível atualizar a imagem.\";\n toastr.options = {\n closeButton: true,\n debug: false,\n newestOnTop: false,\n progressBar: true,\n positionClass: \"toast-top-center\",\n preventDuplicates: true,\n onclick: null,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: \"10000\",\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"fadeIn\",\n hideMethod: \"fadeOut\",\n };\n toastr.error(erro, \"Erro\");\n }\n );\n }\n\n getBanks() {\n this.$banks?.unsubscribe();\n\n this.$banks = this.bankService\n .getAll()\n .subscribe({\n next: (response: HttpResponse) => {\n if (response.status !== 200) {\n return;\n }\n this.banks = response.body\n .map(bank => {\n if (bank.code) {\n bank.name = `${String(bank.code).padStart(3, \"0\")} - ${bank.name}`;\n }\n return bank;\n })\n .sort((a: Bank, b: Bank) => a.name > b.name ? 1 : -1);\n }\n });\n }\n\n clearFiles() {\n this.fileNameRG = null;\n this.fileSizeRG = null;\n this.fileNameRGVerse = null;\n this.fileSizeRGVerse = null;\n }\n\n applyCpfMask(event: Event): void {\n const input = event.target as HTMLInputElement;\n input.value = input.value\n .replace(/\\D/g, '')\n .slice(0, 11)\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d{1,2})$/, '$1-$2'); \n }\n \n applyRgMask(event: Event): void {\n const input = event.target as HTMLInputElement;\n input.value = input.value\n .replace(/\\D/g, '')\n .slice(0, 9)\n .replace(/(\\d{2})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d{1})$/, '$1-$2'); \n }\n \n applyDateMask(event: Event): void {\n const input = event.target as HTMLInputElement;\n input.value = input.value\n .replace(/\\D/g, '')\n .slice(0, 8) \n .replace(/(\\d{2})(\\d)/, '$1/$2')\n .replace(/(\\d{2})(\\d)/, '$1/$2'); \n }\n \n applyPhoneMask(event: Event): void {\n const input = event.target as HTMLInputElement;\n input.value = input.value\n .replace(/\\D/g, '')\n .slice(0, 11) \n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\d{4,5})(\\d{4})$/, '$1-$2'); \n }\n\n triggerFileInput() {\n const fileInput = document.getElementById('fileInput') as HTMLInputElement;\n fileInput.click();\n }\n \n \n}\n","\n
\n
\n
\n \n
\n
\n \n\n \n\n \n
\n
\n

\n \n {{ investor.fullName.split(' ')[0] }}\n {{ investor.fullName.split(' ').slice(1).join(' ') }}\n \n

\n

@{{ investor?.nickname }}

\n
\n \n
\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Perfil público\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Perfil privado\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n {{\n descriptionCity == null\n ? \"Sem informação\"\n : descriptionCity\n }}\n

\n

\n \n \n \n \n \n \n \n \n \n \n {{\n descriptionDate == null\n ? \"Sem informação\"\n : \"Nasceu em \" + descriptionDate\n }}\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n {{\n descriptionSite == null\n ? \"Sem informação\"\n : descriptionSite\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
\n \n
\n

\n {{ tab }}\n

\n
\n \n
\n

{{ tabs[activeTab] }}

\n

{{ tabContents[activeTab] }}

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

Profissão

\n

Minha profissão

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

{{ investor?.cnpj ? 'Dados da Empresa' : 'Pessoal' }}

\n

{{ investor?.cnpj ? 'Informações da Empresa' : 'Informações pessoais' }}

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

Identificação

\n

{{ investor?.cnpj ? 'Detalhes de Identificação do Sócio Representante' : 'Detalhes de Identificação' }}

\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

Sócio Representante

\n

Informações do sócio Representante

\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 Endereço Fiscal da Empresa\n

\n

\n Detalhes do endereço fiscal da empresa\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 {{ isPJ ? 'Endereço do Sócio Representante' : 'Detalhes' }}\n

\n

\n {{ isPJ ? 'Endereço do sócio Representante' : 'Detalhes do endereço' }}\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

Investimentos

\n

Conforme exigido pela Instrução\n CVM 88 / 2022.

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

Declaração dos Valores Investidos no Ano-Calendário *\n

\n

\n Conforme exigido pela Resolução CVM 88 / 2022.\n Somente incluir o montante já investido no ano-\n calendário em ofertas dispensadas de registro nos\n termos da Resolução CVM 88 / 2022 por meio de\n plataformas eletrônicas de investimento participativo.\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

Declaração pessoa politicamente exposta

\n

\n Considera-se aquela que desempenha ou tenha\n desempenhado, nos últimos 5 (cinco) anos, cargos,\n empregos ou funções públicas relevantes, no Brasil ou em\n outros países, territórios e dependências estrangeiras,\n assim como seus representantes, familiares e outras\n pessoas de seu relacionamento próximo.\n

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

Experiência em Investimentos

\n

(Perícia do investidor no mundo dos investimentos)

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

Horizonte de Investimento

\n

(Tempo planejado para manter o dinheiro investido antes de resgatar.)

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

Tolerância ao Risco

\n

(Nível de aceitação de riscos no investimento, de conservador a agressivo.)

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

Interesse em Participação

\n

(Grau de envolvimento desejado no investimento, desde aporte financeiro até mentoria.)

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

Objetivo com os Investimentos

\n

\n (Definir metas e resultados esperados com o apoio financeiro ou estratégico no projeto.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n É necessário selecionar pelo menos um objetivo com os investimentos.\n
\n
\n
\n\n
\n
\n

Setores de Interesse

\n

\n (Definir áreas prioritárias que despertam interesse em apoiar ou investir.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n \n \n
\n \n
\n É necessário selecionar pelo menos um setor de interesse.\n
\n
\n
\n\n
\n
\n

Motivação para Investir

\n

\n (Definir o que impulsiona o interesse em apoiar financeiramente projetos ou setores específicos.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n \n \n
\n \n
\n É necessário selecionar pelo menos uma motivação para investir.\n
\n
\n
\n \n
\n
\n

Canal Preferido de Comunicação

\n

\n (Escolha os canais preferidos para receber informações e notificações.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n É necessário selecionar pelo menos um canal preferido de comunicação.\n
\n
\n
\n \n
\n \n
\n
\n
\n

Website

\n

Meu website

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

facebook

\n

Meu facebook

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

Twitter

\n

Meu twitter

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

Linkedin

\n

Meu linkedin

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

InvestPlus

\n

Por onde conheceu a InvestPlus?\n

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

Conta

\n

Minha conta

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

Perfil público?

\n

Tornar o perfil básico público?\n

\n
\n \n \n \n Com um perfil público, outros usuários registrados na\n Plataforma InvestPlus conseguirão ver a sua foto.\n \n
\n
\n\n
\n\n
\n
\n

Áreas de Interesse para Aprendizado

\n

\n (As áreas e nichos do mundo de investimentos que estão no seu radar.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n É necessário selecionar pelo menos uma área de interesse para aprendizado.\n
\n
\n
\n\n
\n
\n

Habilidades que Desejam Desenvolver

\n

\n (Quais habilidades técnicas que você como investidor deseja desenvolver para se tornar mais qualificado no mundo dos investimentos.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n É necessário selecionar pelo menos uma habilidade que deseja desenvolver.\n
\n
\n
\n \n
\n
\n

Formato Preferido de Conteúdo

\n

\n (Quais formatos de conteúdo mas te agradam para receber conteúdos qualificados de investimento.)\n

\n
\n \n
\n
\n \n
\n {{ option.label }}\n
\n {{ option.span }}\n
\n
\n \n
\n É necessário selecionar pelo menos um formato de conteúdo que mais te agrade.\n
\n
\n
\n\n
\n\n
\n\n
\n Nenhum administrador adicionado. Clique em \"Adicionar Administrador\" para começar.\n \n \n
\n \n
\n

\n Administrador {{ i + 1 }}{{ admin.get('fullName').value ? ' - ' + admin.get('fullName').value : '' }}\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 \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n
\n
0\" (click)=\"setActiveTab(activeTab - 1)\" [disabled]=\"loading\"\n style=\"border: 1px solid #E5E5E5; cursor: pointer; width: 120px; background-color: transparent; color: #333333; border-radius: 8px; padding: 5px 0; display: flex; align-items: center; justify-content: center;\">\n Voltar\n
\n
\n Próximo\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

{{ titleHeader.title }}

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

\n \n {{ investor.fullName }}\n \n

\n

@{{ investor?.nickname }}

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

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Perfil público\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Perfil privado\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n {{\n descriptionCity == null\n ? \"Sem informação\"\n : descriptionCity\n }}\n

\n

\n \n \n \n \n \n \n \n \n \n \n {{\n descriptionDate == null\n ? \"Sem informação\"\n : \"Nasceu em \" + descriptionDate\n }}\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n {{\n descriptionSite == null\n ? \"Sem informação\"\n : descriptionSite\n }}\n

\n
\n\n
\n
\n

{{ tab }}

\n
\n
\n\n
\n

{{ tabs[activeTab] }}

\n

{{ tabContents[activeTab] }}

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

Profissão

\n

Minha profissão

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

Pessoal

\n

Informações pessoais

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

Identificação

\n

Detalhes de Identificação

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

Frente RG

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

{{ fileNameRG }} ({{ fileSizeRG }} MB)

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

Verso RG

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

{{ fileNameRGVerse }} ({{ fileSizeRGVerse }} MB)

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

Contato

\n

Telefone do investidor

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

Sócio Representante

\n

Informações do sócio Representante\n

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

Detalhes

\n

Detalhes do endereço

\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

Investimentos

\n

Conforme exigido pela Instrução\n CVM 88 / 2022.

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

Declaração dos Valores Investidos no Ano-Calendário *\n

\n

\n Conforme exigido pela Resolução CVM 88 / 2022.\n Somente incluir o montante já investido no ano-\n calendário em ofertas dispensadas de registro nos\n termos da Resolução CVM 88 / 2022 por meio de\n plataformas eletrônicas de investimento participativo.\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

Declaração pessoa politicamente exposta

\n

\n Considera-se aquela que desempenha ou tenha\n desempenhado, nos últimos 5 (cinco) anos, cargos,\n empregos ou funções públicas relevantes, no Brasil ou em\n outros países, territórios e dependências estrangeiras,\n assim como seus representantes, familiares e outras\n pessoas de seu relacionamento próximo.\n

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

Website

\n

Meu website

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

facebook

\n

Meu facebook

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

Twitter

\n

Meu twitter

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

Linkedin

\n

Meu linkedin

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

InvestPlus

\n

Por onde conheceu a InvestPlus?\n

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

Conta

\n

Minha conta

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

Perfil público?

\n

Tornar o perfil básico público?\n

\n
\n \n \n \n Com um perfil público, outros usuários registrados na\n Plataforma InvestPlus conseguirão ver a sua foto.\n \n
\n
\n\n\n \n\n \n","import { Component, OnInit, OnDestroy, ElementRef, Renderer2, ViewChild } from '@angular/core';\nimport { InvestorService } from '../core/service/investor.service';\nimport { EventEmitterService } from '../core/service/event-emitter-service.service';\nimport { AdminHeaderComponent } from './admin-header/admin-header.component';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.css']\n})\nexport class AdminComponent implements OnInit, OnDestroy {\n\n @ViewChild('header', { static: true }) headerComponent: AdminHeaderComponent;\n\n sidebarExpanded = true;\n bodyClasses = 'skin-blue sidebar-mini';\n body: HTMLBodyElement = document.getElementsByTagName('body')[0];\n\n constructor(\n private investorService: InvestorService,\n private eventEmitter: EventEmitterService,\n private renderer: Renderer2,\n private el: ElementRef\n ) { }\n\n ngOnInit() {\n this.getUser();\n \n this.body.classList.add('skin-blue');\n this.body.classList.add('sidebar-mini');\n \n this.adjustContentWidth(this.sidebarExpanded);\n \n window.addEventListener('resize', this.updateContentStyle.bind(this));\n \n this.updateContentStyle();\n }\n\n ngOnDestroy() {\n this.body.classList.remove('skin-blue');\n this.body.classList.remove('sidebar-mini');\n \n window.removeEventListener('resize', this.updateContentStyle.bind(this));\n }\n\n getUser() {\n const $this = this;\n this.investorService.getUser().subscribe((response) => {\n $this.eventEmitter.send({\n name: 'get.user',\n data: response\n });\n });\n }\n\n handleSidebarToggle(sidebarExpanded: boolean) {\n this.headerComponent.adjustHeaderWidth(sidebarExpanded);\n \n this.adjustContentWidth(sidebarExpanded);\n }\n\n adjustContentWidth(sidebarExpanded: boolean) {\n this.sidebarExpanded = sidebarExpanded;\n this.updateContentStyle();\n }\n\n updateContentStyle() {\n const contentWrapperElement = this.el.nativeElement.querySelector('.content-wrapper');\n if (contentWrapperElement) {\n const windowWidth = window.innerWidth;\n \n if (windowWidth <= 768) {\n this.renderer.setStyle(contentWrapperElement, 'margin-left', '0');\n this.renderer.setStyle(contentWrapperElement, 'width', '100%');\n } else {\n const marginLeft = this.sidebarExpanded ? '17.35%' : '6%';\n const width = this.sidebarExpanded ? 'calc(100% - 17.4%)' : 'calc(100% - 6%)';\n \n this.renderer.setStyle(contentWrapperElement, 'margin-left', marginLeft);\n this.renderer.setStyle(contentWrapperElement, 'width', width);\n }\n }\n }\n \n \n}\n","\n
\n \n
\n \n
\n \n
\n","import { NumberMaskPipe } from './../core/pipes/number-mask.pipe';\nimport { AdminUserTrocarSenhaComponent } from './admin-user/admin-user-trocar-senha/admin-user-trocar-senha.component';\nimport { DateMaskPipe } from './../core/pipes/date-mask.pipe';\nimport { PhoneMaskPipe } from './../core/pipes/phone-mask.pipe';\nimport { CpfMaskPipe } from './../core/pipes/cpf-mask.pipe';\nimport { CnpjMaskPipe } from './../core/pipes/cnpj-mask.pipe';\nimport { CepMaskPipe } from './../core/pipes/cep-mask.pipe';\nimport { MoneyMaskPipe } from './../core/pipes/money-mask.pipe';\nimport { AdminRoutingModule } from \"./admin-routing/admin-routing.module\";\nimport { AdminFooterComponent } from \"./admin-footer/admin-footer.component\";\nimport { AdminLeftSideComponent } from \"./admin-left-side/admin-left-side.component\";\nimport { AdminHeaderComponent } from \"./admin-header/admin-header.component\";\nimport { AdminComponent } from \"./admin.component\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AdminUserComponent } from \"./admin-user/admin-user.component\";\nimport { ShareModule } from \"../share/share.module\";\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\nimport { AuthModule } from \"../auth/auth.module\";\nimport { TokenInterceptor } from \"../interceptors/token.interceptor\";\nimport { RefreshTokenInterceptor } from \"../interceptors/refresh-token.interceptor\";\nimport { AuthGuard } from \"../guards/auth.guard\";\nimport { AdminUserPortfolioComponent } from \"./admin-user/admin-user-portfolio/admin-user-portfolio.component\";\nimport { Ng5SliderModule } from \"ng5-slider\";\nimport { AdminUserValuationComponent } from \"./admin-user/admin-user-valuation/admin-user-valuation.component\";\nimport { NgxPaginationModule } from \"ngx-pagination\";\nimport { AdminManagerComponent } from \"./admin-manager/admin-manager.component\";\nimport { AdminManagerInvestorsComponent } from \"./admin-manager/admin-manager-investors/admin-manager-investors.component\";\nimport { RouteGuard } from \"../guards/route.guard\";\nimport { AdminUserIncommingComponent } from \"./admin-user/admin-user-incomming/admin-user-incomming.component\";\nimport { Ng2SearchPipeModule } from \"ng2-search-filter\";\nimport { AdminUserStatementComponent } from \"./admin-user/admin-user-statement/admin-user-statement.component\";\nimport { CoreModule } from \"../core/core.module\";\nimport { PipesModule } from \"../core/pipes/pipes.module\";\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { ptBrLocale } from 'ngx-bootstrap/locale';\ndefineLocale('pt-br', ptBrLocale);\n\n@NgModule({\n imports: [\n PipesModule,\n CommonModule,\n AdminRoutingModule,\n ShareModule,\n Ng5SliderModule,\n HttpClientModule,\n NgxPaginationModule,\n Ng2SearchPipeModule,\n PopoverModule.forRoot(),\n ModalModule.forRoot(),\n BsDatepickerModule.forRoot(),\n // Angular2ImageGalleryModule,\n ],\n declarations: [\n AdminComponent,\n AdminHeaderComponent,\n AdminLeftSideComponent,\n AdminFooterComponent,\n AdminUserComponent,\n AdminUserPortfolioComponent,\n AdminUserValuationComponent,\n AdminManagerComponent,\n AdminManagerInvestorsComponent,\n AdminUserIncommingComponent,\n AdminUserStatementComponent,\n AdminUserTrocarSenhaComponent\n ],\n providers: [\n RouteGuard,\n MoneyMaskPipe,\n CpfMaskPipe,\n CepMaskPipe,\n CnpjMaskPipe,\n PhoneMaskPipe,\n DateMaskPipe,\n NumberMaskPipe,\n { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\n // { provide: HTTP_INTERCEPTORS, useClass: RefreshTokenInterceptor, multi: true },\n // LoggedInGuard\n // { provide: HTTP_INTERCEPTORS, useClass: RefreshTokenInterceptor, multi: true },\n ],\n exports: [AdminComponent],\n})\nexport class AdminModule {}\n","import { RegisterComponent } from '../auth/register/register.component';\nimport { AdminComponent } from '../admin/admin.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { LoginComponent } from '../auth/login/login.component';\nimport { AuthComponent } from '../auth/auth.component';\nimport { AuthGuard } from '../guards/auth.guard';\n// import { LoggedInGuard } from '../guards/loggedin.guard';\n\n@NgModule({\n imports: [\n RouterModule.forRoot([\n // { path: '', component: AdminComponent },\n { path: '', redirectTo: 'auth', pathMatch: 'full' },\n { path: 'auth', loadChildren: () => import('./../auth/auth.module').then(m => m.AuthModule) },\n { path: 'admin', loadChildren: () => import('./../admin/admin.module').then(m => m.AdminModule) },\n // { path: 'admin', loadChildren: './../admin/admin.module#AdminModule', canLoad: [AuthGuard], canActivate: [AuthGuard], canActivateChild: [AuthGuard], data: { scopes: ['ROLE_INVESTOR', 'ROLE_ADMIN'] } },\n // { path: 'admin', component: AdminComponent },\n {path: '**', redirectTo: 'auth'}\n], { relativeLinkResolution: 'legacy' })\n ],\n declarations: [],\n exports: [ RouterModule ]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\n\ndeclare var toastr: any;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent implements OnInit {\n title = 'app';\n constructor() {\n }\n\n ngOnInit() {\n }\n\n}\n","","import { AdminModule } from './admin/admin.module';\nimport { AppRoutingModule } from './app-routing/app-routing.module';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { AppComponent } from './app.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from './core/core.module';\nimport { AuthModule } from './auth/auth.module';\nimport { registerLocaleData } from '@angular/common';\nimport localePt from '@angular/common/locales/pt';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { CurrencyMaskConfig, CurrencyMaskModule, CURRENCY_MASK_CONFIG } from 'ng2-currency-mask';\n// import { TokenInterceptor } from './interceptors/token.interceptor';\n// import { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nexport const CustomCurrencyMaskConfig: CurrencyMaskConfig = {\n align: \"right\",\n allowNegative: true,\n decimal: \",\",\n precision: 2,\n prefix: \"R$ \",\n suffix: \"\",\n thousands: \".\"\n};\n\nregisterLocaleData(localePt);\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n FormsModule,\n ReactiveFormsModule,\n AppRoutingModule,\n AuthModule,\n AdminModule,\n CoreModule,\n PopoverModule.forRoot(),\n ModalModule.forRoot(),\n BsDatepickerModule.forRoot(),\n BrowserAnimationsModule,\n CurrencyMaskModule\n ],\n providers: [\n { provide: LOCALE_ID, useValue: 'pt-BR' },\n { provide: CURRENCY_MASK_CONFIG, useValue: CustomCurrencyMaskConfig }\n // AuthGuard,\n // { provide: HTTP_INTERCEPTORS, useClass: RefreshTokenInterceptor, multi: true },\n // { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\n // LoggedInGuard\n // { provide: HTTP_INTERCEPTORS, useClass: RefreshTokenInterceptor, multi: true },\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { LoginComponent } from '../login/login.component';\nimport { AuthComponent } from '../auth.component';\nimport { RegisterComponent } from '../register/register.component';\nimport { ForgotComponent } from '../forgot/forgot.component';\nimport { AuthGuard } from '../../guards/auth.guard';\n\n@NgModule({\n imports: [\n RouterModule.forChild([\n {\n path: '', component: AuthComponent, children: [\n { path: '', redirectTo: 'login', pathMatch: 'full' },\n { path: 'login', component: LoginComponent },\n { path: 'register', component: RegisterComponent },\n { path: 'forgot', component: ForgotComponent }\n ]\n }\n ])\n ],\n exports: [RouterModule]\n})\nexport class AuthRoutingModule { }\n","import { Component, OnInit, OnChanges, DoCheck } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.css']\n})\nexport class AuthComponent implements OnInit, DoCheck {\n\n showBackArrow: boolean = false;\n\n constructor(\n private router: Router\n ) { }\n\n ngDoCheck() {\n this.normalizeHeigth();\n }\n\n ngOnInit() {\n this.normalizeHeigth();\n \n this.checkCurrentRoute(this.router.url);\n\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.checkCurrentRoute(event.urlAfterRedirects);\n }\n });\n }\n\n checkCurrentRoute(url: string): void {\n this.showBackArrow = url.includes('/auth/register');\n }\n\n navigateToLogin(): void {\n this.router.navigate(['/auth/login']);\n }\n\n normalizeHeigth() {\n setTimeout(function() {\n document.getElementsByTagName('body')[0].removeAttribute('style');\n document.getElementsByTagName('html')[0].removeAttribute('style');\n $('body').addClass('login-page');\n }, 50);\n }\n\n}\n","
\n \n \n \n \n \n \n
\n","import { ShareModule } from './../share/share.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegisterComponent } from './register/register.component';\nimport { AuthComponent } from './auth.component';\nimport { AuthRoutingModule } from './auth-routing/auth-routing.module';\nimport { MFAComponent } from './mfa/mfa.component';\nimport { LoginComponent } from './login/login.component';\nimport { ForgotComponent } from './forgot/forgot.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n AuthRoutingModule,\n ShareModule,\n ],\n declarations: [\n AuthComponent,\n LoginComponent,\n RegisterComponent,\n MFAComponent,\n ForgotComponent\n ],\n exports: [\n AuthComponent\n ]\n})\nexport class AuthModule { }\n","import { Component } from '@angular/core';\nimport { CognitoCallback } from '../../core/service/cognito/cognito.service';\nimport { Router } from '@angular/router';\nimport { UserLoginService } from '../../core/service/cognito/user-login.service';\nimport { EventEmitterService } from '../../core/service/event-emitter-service.service';\nimport { LoaderService } from './../../core/service/loader.service';\nimport { PasswordStrengthService } from './../../core/service/PasswordStrengthService.service';\n\ndeclare var toastr: any;\ndeclare var bootbox: any;\n\n@Component({\n selector: 'app-forgot',\n templateUrl: './forgot.component.html',\n styleUrls: ['./forgot.component.css']\n})\nexport class ForgotComponent implements CognitoCallback {\n\n email: string;\n errorMessage: string;\n verificationCode: string;\n password: string;\n confirmPassword: string;\n statusForgot: boolean;\n loader: boolean = false;\n\n senhaStrength: string = ''; \n senhaScore: number = 0;\n senhaSuggestions: string[] = [];\n\n constructor(\n public router: Router,\n public userService: UserLoginService,\n private eventEmitter: EventEmitterService,\n private loaderService: LoaderService,\n private passwordStrengthService: PasswordStrengthService \n ) {\n this.statusForgot = true;\n }\n\n onNext() {\n if (this.email == null || this.email.length < 8) {\n toastr.error('O e-mail precisa ser preenchido');\n return;\n }\n this.userService.forgotPassword(this.email, this);\n }\n\n onSubmit() {\n this.loader = true;\n this.loaderService.load(this.loader);\n if (this.confirmPassword && this.confirmPassword === this.password) {\n this.userService.confirmNewPassword(this.email, this.verificationCode.trim(), this.password, this);\n } else {\n toastr.error('Confirmação de senha não está correto');\n this.loader = false;\n this.loaderService.load(this.loader);\n return;\n }\n }\n\n onPasswordInput() {\n if (this.password) {\n const result = this.passwordStrengthService.calculateStrength(this.password);\n this.senhaStrength = result.level;\n this.senhaScore = result.score;\n this.senhaSuggestions = result.suggestions;\n } else {\n this.senhaStrength = '';\n this.senhaScore = 0;\n this.senhaSuggestions = [];\n }\n }\n\n cognitoCallback(message: string, result: any) {\n this.loader = false;\n this.loaderService.load(this.loader);\n if (message == null && result == null) {\n if (this.statusForgot === false) {\n this.router.navigate(['/auth/login']);\n toastr.success('Nova senha gerada com sucesso!');\n } else {\n this.statusForgot = false;\n bootbox.dialog({\n title: 'Aviso',\n message: 'Um codigo de alteração de senha foi enviada por e-mail.',\n buttons: {\n ok: {\n label: 'Fechar',\n className: 'bg-upangel',\n callback: function () { }\n }\n }\n });\n }\n } else {\n this.handleError(message);\n }\n }\n\n handleError(message: string) {\n if (message === 'Username/client id combination not found.') {\n toastr.error('E-mail inválido');\n } else if (message.includes('Password')) {\n toastr.error(message); \n } else {\n toastr.error('Sua solicitação não pode ser completada. Tente novamente mais tarde.');\n this.errorMessage = message;\n }\n }\n}\n","
\n
\n
\n
\n \n \n

\n Esqueceu sua senha?\n

\n \n
\n
\n

\n Iremos enviar um código de verificação no seu e-mail cadastrado na plataforma, para redefinir sua senha\n

\n
\n \n \n
\n
\n \n
\n
\n \n Retornar ao login\n \n
\n
\n
\n \n
\n
\n

Regras de segurança

\n

\n A senha deve conter no mínimo 6 caracteres, incluindo uma letra\n maiúscula e um numeral.\n

\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n
    0\">\n
  • {{ suggestion }}
  • \n
\n
\n \n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n \n

\n Esqueceu sua senha?\n

\n \n
\n
\n

\n Iremos enviar um código de verificação no seu e-mail cadastrado na plataforma, para redefinir sua senha\n

\n
\n \n \n
\n
\n \n
\n
\n \n Retornar ao login\n \n
\n
\n
\n \n
\n
\n

Regras de segurança

\n

\n A senha deve conter no mínimo 6 caracteres, incluindo uma letra\n maiúscula e um numeral.\n

\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n
    0\">\n
  • {{ suggestion }}
  • \n
\n
\n \n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UserLoginService } from '../../core/service/cognito/user-login.service';\nimport { ChallengeParameters, CognitoCallback, LoggedInCallback } from '../../core/service/cognito/cognito.service';\nimport { UserRegistrationService } from '../../core/service/cognito/user-registration.service';\nimport { InvestorService } from '../../core/service/investor.service';\nimport { LoaderService } from './../../core/service/loader.service';\nimport { PasswordStrengthService } from './../../core/service/PasswordStrengthService.service'; \n\ndeclare var toastr: any;\n\nexport class NewPasswordUser {\n username: string;\n existingPassword: string;\n password: string;\n}\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements CognitoCallback, LoggedInCallback, OnInit {\n registrationUser: NewPasswordUser;\n router: Router;\n errorMessage: any;\n senhaStrength: string = ''; \n senhaScore: number = 0;\n senhaSuggestions: string[] = [];\n passwordFieldType: string = 'password';\n email: string;\n password: string;\n messageReturn: string;\n emailPattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n mfaStep = false;\n emailValidator = false;\n emailError = 'O campo de e-mail é obrigatório';\n mfaData = {\n destination: '',\n callback: null\n };\n textLogin = 'Entre para iniciar sua sessão';\n statusError: boolean;\n loading: boolean;\n login: boolean;\n newPassword: boolean;\n alert: boolean;\n\n constructor(\n router: Router,\n public userService: UserLoginService,\n public userRegistration: UserRegistrationService,\n private investorService: InvestorService,\n private loadService: LoaderService,\n private passwordStrengthService: PasswordStrengthService,\n\n ) {\n this.router = router;\n }\n\n ngOnInit() {\n this.userService.isAuthenticated(this);\n this.login = true;\n this.newPassword = false;\n this.errorMessage = null;\n this.alert = false;\n }\n\n onLogin() {\n if (this.email == null || this.password == null) {\n toastr.error('Todos os campos são obrigatórios');\n return;\n }\n\n this.errorMessage = null;\n this.loading = true;\n this.loadService.load(this.loading);\n this.userService.authenticate(this.email.toLowerCase(), this.password.trim(), this);\n }\n\n cognitoCallback(message: string, result: any) {\n const $this = this;\n this.loading = false;\n this.loadService.load(this.loading);\n if (message != null) {\n this.errorMessage = message;\n if (this.errorMessage === 'User does not exist.') {\n toastr.error('Usuário ou senha inválido');\n return;\n }\n if (this.errorMessage === 'User is not confirmed.') {\n toastr.error('O usuário não está confirmado');\n return;\n }\n if (this.errorMessage === 'Incorrect username or password.') {\n toastr.error('Usuário ou senha inválido');\n return;\n }\n if (this.errorMessage === 'User needs to set password.') {\n this.login = false;\n this.statusError = false;\n this.registrationUser = new NewPasswordUser();\n this.errorMessage = null;\n this.registrationUser.username = result.email;\n this.registrationUser.existingPassword = this.password.trim();\n return;\n }\n if (this.errorMessage.message === 'Password does not conform to policy: Password must have uppercase characters') {\n toastr.error('A senha deve conter pelo menos um caracter maiúsculo');\n return;\n } else if (this.errorMessage.message === 'Password does not conform to policy: Password must have numeric characters') {\n toastr.error('A senha deve conter pelo menos um caracter numérico');\n return;\n } else if (this.errorMessage.message === 'Password does not conform to policy: Password not long enough') {\n toastr.error('A senha deve conter no mínimo 6 caracteres');\n return;\n } else if (message === '1 validation error detected: Value at \\'password\\' failed to satisfy constraint: Member must have length greater than or equal to 6') {\n toastr.error('A senha deve conter no mínimo 6 caracteres');\n } else if (message === '2 validation errors detected: Value at \\'password\\' failed to satisfy constraint: Member must have length greater than or equal to 6; Value at \\'password\\' failed to satisfy constraint: Member must satisfy regular expression pattern: ^[\\\\S]+.*[\\\\S]+$') {\n toastr.error('A senha deve conter ao menos uma letra maiscula e um caracter numérico.');\n } else {\n toastr.error('Sua solicitação não pode ser completada. Tente novamente mais tarde.');\n return;\n }\n } else {\n this.router.navigate(['/admin']);\n this.statusError = false;\n }\n }\n\n handleMFAStep(challengeName: string, challengeParameters: ChallengeParameters, callback: (confirmationCode: string) => any): void {\n this.mfaStep = true;\n this.mfaData.destination = challengeParameters.CODE_DELIVERY_DESTINATION;\n this.mfaData.callback = (code: string) => {\n if (code == null || code.length === 0) {\n this.errorMessage = 'Code is required';\n return;\n }\n this.errorMessage = null;\n callback(code);\n };\n }\n\n isLoggedIn(message: string, isLoggedIn: boolean) {\n if (isLoggedIn) {\n this.loading = false;\n this.loadService.load(this.loading);\n this.router.navigate(['/admin']);\n }\n }\n\n cancelMFA(): boolean {\n this.mfaStep = false;\n return false;\n }\n\n onRegister() {\n this.errorMessage = null;\n if (this.registrationUser.password == null || this.registrationUser.password === '') {\n toastr.error('A senha deve conter no mínimo 6 caracteres');\n } else {\n this.userRegistration.newPassword(this.registrationUser, this);\n }\n }\n\n registerUser() {\n this.router.navigate(['/auth/register']);\n }\n\n validateEmail() {\n if (this.email == null || this.email === '') {\n this.emailError = 'O campo de e-mail é obrigatório';\n this.emailValidator = true;\n } else if (!this.emailPattern.test(this.email)) {\n this.emailError = 'O e-mail informado é inválido';\n this.emailValidator = true;\n } else {\n this.emailValidator = false;\n }\n }\n\n togglePasswordVisibility() {\n this.passwordFieldType = this.passwordFieldType === 'password' ? 'text' : 'password';\n }\n\n onPasswordInput() {\n if (this.registrationUser.password) {\n const result = this.passwordStrengthService.calculateStrength(this.registrationUser.password);\n this.senhaStrength = result.level;\n this.senhaScore = result.score;\n this.senhaSuggestions = result.suggestions;\n } else {\n this.senhaStrength = '';\n this.senhaScore = 0;\n this.senhaSuggestions = [];\n }\n }\n}\n","
\n\t
\n\t
\n\t\t
\n\t\t \n\t\t \n\t\t

\n\t\t\tEntre para iniciar sua sessão!\n\t\t

\n \n\t\t
\n\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t \n\t\t\t\t {{ emailError }}\n\t\t\t \n\t\t\t
\n \n\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tEsqueceu sua senha? \n\t\t\t\t Clique aqui\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n \n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t Entrar\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\tAinda não tem uma conta? \n\t\t\t\tCadastre-se agora!\n\t\t\t
\n\t\t
\n\t\t
\n\n\t\t
\n\t\t
\n\t\t\t

\n\t\t\t Digite por favor sua senha definitiva para entrar na plataforma.\n\t\t\t

\n\n\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
    0\">\n\t\t\t\t
  • {{ suggestion }}
  • \n\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t \n\t\t\t\tConfirmar\n\t\t\t \n\t\t\t
\n\n\t\t\t

\n\t\t\t * A senha deve conter no mínimo 6 caracteres, incluindo uma letra maiúscula e um numeral.\n\t\t\t

\n\t\t
\n\t\t
\n\t
\n\t
\n
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-mfa',\n templateUrl: './mfa.html'\n})\nexport class MFAComponent {\n @Input() destination: string;\n @Input() onSubmit: (code: string) => void;\n\n constructor() {\n }\n}\n","
\n
\n Authentication code has been sent to: {{destination}}\n
\n
\n \n
\n \n
\n\n","import { LoaderService } from './../../core/service/loader.service';\nimport { Component, OnInit } from '@angular/core';\nimport { Validators, FormBuilder, FormGroup } from '@angular/forms';\nimport { AuthService } from '../../core/service/auth.service';\nimport { Router } from '@angular/router';\n\ndeclare var $: any;\ndeclare var toastr: any;\ndeclare var bootbox: any;\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.css']\n})\nexport class RegisterComponent implements OnInit {\n\n errorCredentials: boolean;\n form: FormGroup;\n loader: boolean;\n cpfValidator = 'O campo é obrigatório';\n emailPattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n documentClass: string;\n\n constructor(\n private formBuilder: FormBuilder,\n private authService: AuthService,\n private router: Router,\n private loaderService: LoaderService\n ) { }\n\n ngOnInit() {\n this.initForm();\n this.initializeGTM();\n const $this = this;\n setTimeout(function () {\n $this.initMask();\n }, 1000);\n $('body').addClass('hold-transition');\n $('body').addClass('login-page');\n $('html').addClass('backgroundLogin');\n }\n\n initForm() {\n this.form = this.formBuilder.group({\n nickname: [null, [Validators.required]],\n fullName: [null, [Validators.required]],\n email: [null, [Validators.required, Validators.pattern(this.emailPattern)]],\n document: [null, [Validators.required]],\n termosGerais: [null, [Validators.required]],\n typeDocument: [null, [Validators.required]]\n });\n }\n\n initMask() {\n $('.cpf').mask('000.000.000-00', { reverse: false });\n $('.cnpj').mask('00.000.000/0000-00', { reverse: true });\n }\n\n unmaskInput(input) {\n return input.replace(/[^\\d]+/g, '');\n }\n\n validate() {\n const document = this.unmaskInput(this.form.controls['document'].value);\n if (document.length === 11 && this.form.controls['typeDocument'].value === 'cpf') {\n this.validateCpf(document);\n } else if (document.length === 14 && this.form.controls['typeDocument'].value === 'cnpj') {\n this.validateCnpj(document);\n } else {\n const tipoDocumento = this.form.controls['typeDocument'].value;\n toastr.error('Por favor insira o ' + tipoDocumento + '.');\n return false;\n }\n }\n\n validateCpf(cpf) {\n if (cpf === '' || cpf == null || cpf.length !== 11 || /(\\d)\\1{10}/.test(cpf)) {\n toastr.error('CPF inválido.');\n return false;\n }\n let sum = 0;\n let remainder;\n for (let i = 1; i <= 9; i++) {\n sum += parseInt(cpf.substring(i - 1, i), 10) * (11 - i);\n }\n remainder = (sum * 10) % 11;\n if ((remainder === 10) || (remainder === 11)) remainder = 0;\n if (remainder !== parseInt(cpf.substring(9, 10), 10)) {\n toastr.error('CPF inválido.');\n return false;\n }\n sum = 0;\n for (let i = 1; i <= 10; i++) {\n sum += parseInt(cpf.substring(i - 1, i), 10) * (12 - i);\n }\n remainder = (sum * 10) % 11;\n if ((remainder === 10) || (remainder === 11)) remainder = 0;\n if (remainder !== parseInt(cpf.substring(10, 11), 10)) {\n toastr.error('CPF inválido.');\n return false;\n }\n return true;\n }\n\n validateCnpj(cnpj) {\n if (cnpj === '' || cnpj == null || cnpj.length !== 14 || /(\\d)\\1{13}/.test(cnpj)) {\n toastr.error('CNPJ inválido.');\n return false;\n }\n let length = cnpj.length - 2;\n let numbers = cnpj.substring(0, length);\n let digits = cnpj.substring(length);\n let sum = 0;\n let pos = length - 7;\n for (let i = length; i >= 1; i--) {\n sum += parseInt(numbers.charAt(length - i), 10) * pos--;\n if (pos < 2) pos = 9;\n }\n let result = sum % 11 < 2 ? 0 : 11 - sum % 11;\n if (result !== parseInt(digits.charAt(0), 10)) {\n toastr.error('CNPJ inválido.');\n return false;\n }\n length += 1;\n numbers = cnpj.substring(0, length);\n sum = 0;\n pos = length - 7;\n for (let i = length; i >= 1; i--) {\n sum += parseInt(numbers.charAt(length - i), 10) * pos--;\n if (pos < 2) pos = 9;\n }\n result = sum % 11 < 2 ? 0 : 11 - sum % 11;\n if (result !== parseInt(digits.charAt(1), 10)) {\n toastr.error('CNPJ inválido.');\n return false;\n }\n return true;\n }\n\n private validateFullName(fullName: string): boolean {\n return fullName.trim().split(' ').length >= 2;\n }\n\n private initializeGTM(): void {\n if (!window || !(window as any).dataLayer) {\n (window as any).dataLayer = [];\n (window as any).dataLayer.push({\n 'gtm.start': new Date().getTime(),\n event: 'gtm.js',\n });\n const script = document.createElement('script');\n script.async = true;\n script.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-PN5ZFSQM';\n document.head.appendChild(script);\n console.log('Google Tag Manager initialized.');\n }\n }\n\n onSubmit() {\n this.loader = true;\n this.loaderService.load(this.loader);\n \n const fullName = this.form.controls['fullName'].value;\n \n if (fullName === null || !this.validateFullName(fullName)) {\n toastr.error('O nome completo deve conter pelo menos dois nomes.');\n this.loader = false;\n this.loaderService.load(this.loader);\n return;\n }\n \n if (!this.form.value.termosGerais) {\n toastr.error('Você deve concordar com os termos de uso.');\n this.loader = false;\n this.loaderService.load(this.loader);\n return;\n }\n \n if (this.form.valid && this.form.value.typeDocument !== null) {\n const dataSend = this.form.value;\n dataSend.termosGerais = undefined;\n dataSend.typeDocument = undefined;\n dataSend.document = undefined;\n dataSend.email = this.form.controls['email'].value.toLowerCase();\n \n if (this.form.controls['typeDocument'].value === 'cpf') {\n dataSend.cpf = this.unmaskInput(this.form.controls['document'].value);\n }\n \n if (this.form.controls['typeDocument'].value === 'cnpj') {\n dataSend.cnpj = this.unmaskInput(this.form.controls['document'].value);\n }\n \n if (dataSend.nickname.length < 3) {\n this.loader = false;\n this.loaderService.load(this.loader);\n toastr.error('O campo Usuário deve ter no mínimo 3 caracteres.');\n } else if (dataSend.fullName.length < 6) {\n this.loader = false;\n this.loaderService.load(this.loader);\n toastr.error('O campo Nome Completo deve ter no mínimo 6 caracteres.');\n } else {\n const typeDocument = this.form.controls['typeDocument'].value;\n const documentValue = this.unmaskInput(this.form.controls['document'].value);\n const currentDate = new Date().toLocaleString();\n \n this.trackRegistration(typeDocument, documentValue, fullName, currentDate);\n \n this.authService.register(dataSend).subscribe(\n (response) => {\n this.loader = false;\n this.loaderService.load(this.loader);\n bootbox.dialog({\n title: 'Aviso',\n message: 'Seu cadastro foi realizado. Enviamos ao seu e-mail uma senha temporária.',\n buttons: {\n ok: {\n label: 'Fechar',\n className: 'bg-upangel',\n callback: function () { }\n }\n }\n });\n this.router.navigate(['/auth/login']);\n }, (error) => {\n if (error.error.code === 'DUPLICATE_NICKNAME') {\n toastr.error('Este usuário já foi utilizado.');\n }\n if (error.error.code === 'EMAIL_ALREADY_EXISTS') {\n toastr.error('Este e-mail já foi utilizado.');\n }\n if (error.error.code === 'DUPLICATE_CPF_CNPJ') {\n toastr.error('CPF já existente.');\n }\n if (error.error.code === 'Size') {\n toastr.error('O campo Usuário deve ter no mínimo 3 caracteres.');\n }\n if (error.error.errors) {\n toastr.error(error.error.errors[0].defaultMessage);\n }\n const $this = this;\n setTimeout(function () {\n $this.initMask();\n }, 500);\n this.loader = false;\n this.loaderService.load(this.loader);\n }\n );\n }\n } else {\n this.loader = false;\n this.loaderService.load(this.loader);\n toastr.error('Todos os campos devem ser preenchidos.');\n }\n }\n \n private trackRegistration(typeDocument: string, documentValue: string, fullName: string, currentDate: string): void {\n if (window && (window as any).dataLayer) {\n (window as any).dataLayer.push({\n event: 'register',\n event_category: 'User Registration',\n event_action: 'New Registration',\n event_label: typeDocument.toUpperCase(),\n document: documentValue,\n fullName: fullName,\n date: currentDate,\n });\n console.log('Event sent to GTM: Register', {\n typeDocument,\n documentValue,\n fullName,\n currentDate\n });\n } else {\n console.warn(\"dataLayer not initialized for GTM.\");\n }\n }\n \n\n selectType(type: string): void {\n if (this.form.value.typeDocument === type) {\n this.form.patchValue({ typeDocument: null });\n } else {\n this.form.patchValue({ typeDocument: type });\n }\n this.changeDocument(type);\n }\n\n changeDocument(input) {\n this.form.controls['document'].setValue('');\n this.documentClass = input;\n const $this = this;\n if (input !== null && input !== '') {\n setTimeout(function () {\n $this.initMask();\n }, 500);\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
\n \n
\n
\n
\n
","import { LoaderService } from './service/loader.service';\nimport { PasswordStrengthService } from './service/PasswordStrengthService.service';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserService } from './service/user.service';\nimport { CrudService } from './service/crud.service';\nimport { InvestorService } from './service/investor.service';\nimport { CompanyService } from './service/company.service';\nimport { AuthService } from './service/auth.service';\nimport { UserLoginService } from './service/cognito/user-login.service';\nimport { AwsUtil } from './service/cognito/aws.service';\nimport { CognitoUtil } from './service/cognito/cognito.service';\nimport { RoundService } from './service/round.service';\nimport { UserRegistrationService } from './service/cognito/user-registration.service';\nimport { InvestmentService } from './service/investment.service';\nimport { EventEmitterService } from './service/event-emitter-service.service';\nimport { ForumService } from './service/forum.service';\nimport { SendAutomaticService } from './service/send-automatic.service';\nimport { RealStateService } from './service/real-state.service';\nimport { ExcelService } from './service/excel.service';\nimport { CompanyCaptableService } from './service/company-captable.service';\nimport { CompanyFinancialService } from './service/company-financial.service';\nimport { InvestmentInstallmentService } from './service/investment-installment.service';\nimport { TitleService } from './service/title.service';\nimport { PipesModule } from './pipes/pipes.module';\nimport { CompanyPartnersService } from './service/company-partners.service';\nimport { BankService } from './service/bank.service';\n\n@NgModule({\n imports: [\n CommonModule,\n PipesModule\n ],\n providers: [\n TitleService,\n UserService,\n CrudService,\n InvestorService,\n CompanyService,\n AuthService,\n InvestmentService,\n UserLoginService,\n CognitoUtil,\n RoundService,\n ForumService,\n RealStateService,\n UserRegistrationService,\n AwsUtil,\n EventEmitterService,\n SendAutomaticService,\n ExcelService,\n CompanyCaptableService,\n CompanyFinancialService,\n InvestmentInstallmentService,\n LoaderService,\n PasswordStrengthService,\n CompanyPartnersService,\n BankService\n ],\n declarations: [\n\n ],\n})\nexport class CoreModule { }\n","\nexport enum TiposModalidades {\n TRADITIONAL = \"Empresa\",\n STARTUP = \"Startup\",\n REAL = \"Imobiliário\",\n}\n","export class Scopes {\n ROLE_ADMIN?: boolean;\n ROLE_COMPANY?: boolean;\n ROLE_INVESTOR?: boolean;\n}\n","export class TitleHeader {\n title: string;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'cep' })\nexport class CepMaskPipe implements PipeTransform {\n transform(cep: string = \"\") {\n if (!cep) {\n return ''\n }\n cep = cep.replace(/\\D/g, \"\")\n cep = cep.replace(/^(\\d{2})(\\d)/, \"$1.$2\")\n cep = cep.replace(/\\.(\\d{3})(\\d)/, \".$1-$2\")\n return cep\n\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'cnpj' })\nexport class CnpjMaskPipe implements PipeTransform {\n transform(value: string = \"\") {\n if (!value) {\n return ''\n }\n return value.replace(/(\\d{2})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1/$2')\n .replace(/(\\d{4})(\\d)/, '$1-$2')\n .replace(/(-\\d{2})\\d+?$/, '$1')\n\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'contractStatusPipe' })\nexport class ContractStatusPipe implements PipeTransform {\n transform(status: string = \"\") {\n let output: string;\n switch (status) {\n case 'PENDING':\n output = 'PENDENTE';\n break;\n case 'SIGNED':\n output = 'ASSINADO';\n break;\n case 'CREATED':\n output = 'EM PROCESSAMENTO';\n break;\n case 'CONTRACT_SIGNED':\n output = 'PAGO';\n break;\n default:\n output = 'PENDENTE'\n }\n return output;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'cpf' })\nexport class CpfMaskPipe implements PipeTransform {\n transform(value: string = \"\") {\n if (!value) {\n return ''\n }\n\n return value.replace(/\\D/g, '')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d{1,2})/, '$1-$2')\n .replace(/(-\\d{2})\\d+?$/, '$1')\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'date' })\n\nexport class DateMaskPipe implements PipeTransform {\n transform(date: string = \"\", type = \"\"): string {\n if (!date) {\n return \"\"\n }\n\n const datePart = date.match(/\\d+/g);\n console.log('[date]', date);\n console.log('[datePart]', datePart);\n let year, month, day;\n if (type === \"AMERICAN\") {\n year = datePart[2].substring(0),\n month = datePart[1],\n day = datePart[0];\n return year + '-' + month + '-' + day;\n } else {\n year = datePart[0].substring(0),\n month = datePart[1],\n day = datePart[2];\n return `${day}/${month}/${year}`\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'moneyMask' })\nexport class MoneyMaskPipe implements PipeTransform {\n transform(value: number = 0, sifrao = false): string {\n let dinheiro = value ? value : 0;\n let formattedValue = dinheiro.toLocaleString('pt-br', { minimumFractionDigits: 2 });\n return sifrao ? `R$ ${formattedValue}` : formattedValue;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'number' })\nexport class NumberMaskPipe implements PipeTransform {\n transform(number: string = \"\") {\n if (!number) {\n return ''\n }\n return (Number(number.replace(/[^\\d]+/g, '')) / 100).toFixed(2);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'phone' })\nexport class PhoneMaskPipe implements PipeTransform {\n transform(phone: string = \"\") {\n if (!phone) {\n return ''\n }\n\n phone = phone.replace(/\\D/g, \"\");\n phone = phone.replace(/^(\\d{2})(\\d)/g, \"($1) $2\");\n phone = phone.replace(/(\\d)(\\d{4})$/, \"$1-$2\")\n return phone;\n }\n}","import { NumberMaskPipe } from './number-mask.pipe';\nimport { DateMaskPipe } from './date-mask.pipe';\nimport { CepMaskPipe } from './cep-mask.pipe';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MoneyMaskPipe } from './money-mask.pipe';\nimport { CpfMaskPipe } from './cpf-mask.pipe';\nimport { CnpjMaskPipe } from './cnpj-mask.pipe';\nimport { PhoneMaskPipe } from './phone-mask.pipe';\nimport { ContractStatusPipe } from './contract-status.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n MoneyMaskPipe,\n CpfMaskPipe,\n CnpjMaskPipe,\n PhoneMaskPipe,\n CepMaskPipe,\n DateMaskPipe,\n NumberMaskPipe,\n ContractStatusPipe\n ],\n exports: [\n MoneyMaskPipe,\n CpfMaskPipe,\n CnpjMaskPipe,\n PhoneMaskPipe,\n CepMaskPipe,\n DateMaskPipe,\n NumberMaskPipe,\n ContractStatusPipe\n ]\n})\n\nexport class PipesModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PasswordStrengthService {\n\n calculateStrength(password: string): { level: string, score: number, suggestions: string[] } {\n let score = 0;\n const suggestions: string[] = [];\n\n if (password.length >= 8) {\n score++;\n } else {\n suggestions.push('A senha deve ter pelo menos 8 caracteres.');\n }\n\n if (/[A-Z]/.test(password)) {\n score++;\n } else {\n suggestions.push('Adicione ao menos uma letra maiúscula.');\n }\n\n if (/[a-z]/.test(password)) {\n score++;\n } else {\n suggestions.push('Adicione ao menos uma letra minúscula.');\n }\n\n if (/[0-9]/.test(password)) {\n score++;\n } else {\n suggestions.push('Inclua ao menos um número.');\n }\n\n if (/[\\W]/.test(password)) {\n score++;\n } else {\n suggestions.push('Adicione caracteres especiais (ex: @, #, $, etc).');\n }\n\n let level: string;\n if (score <= 2) {\n level = 'Fraca';\n } else if (score === 3) {\n level = 'Média';\n } else if (score === 4) {\n level = 'Forte';\n } else {\n level = 'Muito Forte';\n }\n\n return { level, score, suggestions };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\n\n// const userPool = new CognitoUserPool(poolData);\n\n@Injectable()\nexport class AuthService {\n\n constructor(\n private router: Router,\n private http: HttpClient\n ) { }\n\n prefixService = 'public/users/investors';\n\n returnLogin() {\n this.router.navigate(['/auth/login']);\n }\n\n register(data: any): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}`, data);\n }\n\n changePassword(oldPassword: string, newPassword: string, Accesstoken: string) {\n return this.http.patch(`${environment.url_api}/investors/me/password`,\n { oldPassword, newPassword },\n { headers: { Accesstoken } });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Bank } from '../interface/bank';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BankService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n getAll(){\n return this.http.get(`${environment.url_api}/public/banks`, {\n observe: \"response\"\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Callback, CognitoUtil } from './cognito.service';\nimport * as AWS from 'aws-sdk/global';\n\n/**\n * Created by Vladimir Budilov\n */\n\n// declare var AMA: any;\n\n@Injectable()\nexport class AwsUtil {\n public static firstLogin = false;\n public static runningInit = false;\n\n constructor(public cognitoUtil: CognitoUtil) {\n AWS.config.region = CognitoUtil._REGION;\n }\n\n /**\n * This is the method that needs to be called in order to init the aws global creds\n */\n initAwsService(callback: Callback, isLoggedIn: boolean, idToken: string) {\n\n if (AwsUtil.runningInit) {\n // Need to make sure I don't get into an infinite loop here, so need to exit if this method is running already\n // instead of aborting here, it's best to put a timer\n if (callback != null) {\n callback.callback();\n callback.callbackWithParam(null);\n }\n return;\n }\n\n\n AwsUtil.runningInit = true;\n\n\n const mythis = this;\n // First check if the user is authenticated already\n if (isLoggedIn) {\n mythis.setupAWS(isLoggedIn, callback, idToken);\n }\n\n }\n\n\n /**\n * Sets up the AWS global params\n *\n * @param isLoggedIn\n * @param callback\n */\n setupAWS(isLoggedIn: boolean, callback: Callback, idToken: string): void {\n if (isLoggedIn) {\n // Setup mobile analytics\n const options = {\n appId: '32673c035a0b40e99d6e1f327be0cb60',\n appTitle: 'aws-cognito-angular2-quickstart'\n };\n\n // TODO: The mobile Analytics client needs some work to handle Typescript. Disabling for the time being.\n // var mobileAnalyticsClient = new AMA.Manager(options);\n // mobileAnalyticsClient.submitEvents();\n\n this.addCognitoCredentials(idToken);\n\n }\n\n if (callback != null) {\n callback.callback();\n callback.callbackWithParam(null);\n }\n\n AwsUtil.runningInit = false;\n }\n\n addCognitoCredentials(idTokenJwt: string): void {\n const creds = this.cognitoUtil.buildCognitoCreds(idTokenJwt);\n\n AWS.config.credentials = creds;\n\n creds.get(function (err) {\n if (!err) {\n if (AwsUtil.firstLogin) {\n // save the login info to DDB\n this.ddb.writeLogEntry('login');\n AwsUtil.firstLogin = false;\n }\n }\n });\n }\n\n // tslint:disable-next-line:member-ordering\n static getCognitoParametersForIdConsolidation(idTokenJwt: string): {} {\n const url = 'cognito-idp.' + CognitoUtil._REGION.toLowerCase() + '.amazonaws.com/' + CognitoUtil._USER_POOL_ID;\n const logins: Array = [];\n logins[url] = idTokenJwt;\n const params = {\n IdentityPoolId: CognitoUtil._IDENTITY_POOL_ID, /* required */\n Logins: logins\n };\n\n return params;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { CognitoUserPool } from 'amazon-cognito-identity-js';\nimport * as AWS from 'aws-sdk/global';\nimport * as awsservice from 'aws-sdk/lib/service';\nimport * as CognitoIdentity from 'aws-sdk/clients/cognitoidentity';\nimport { environment } from '../../../../environments/environment';\n\n\n/**\n * Created by Vladimir Budilov\n */\n\nexport interface CognitoCallback {\n cognitoCallback(message: string, result: any): void;\n\n handleMFAStep?(challengeName: string, challengeParameters: ChallengeParameters, callback: (confirmationCode: string) => any): void;\n}\n\nexport interface LoggedInCallback {\n isLoggedIn(message: string, loggedIn: boolean): void;\n}\n\nexport interface ChallengeParameters {\n CODE_DELIVERY_DELIVERY_MEDIUM: string;\n\n CODE_DELIVERY_DESTINATION: string;\n}\n\nexport interface Callback {\n callback(): void;\n\n callbackWithParam(result: any): void;\n}\n\n@Injectable()\nexport class CognitoUtil {\n\n public static _REGION = environment.region;\n public static _IDENTITY_POOL_ID = environment.identityPoolId;\n public static _USER_POOL_ID = environment.userPoolId;\n public static _CLIENT_ID = environment.clientId;\n public static _POOL_DATA: any = {\n UserPoolId: CognitoUtil._USER_POOL_ID,\n ClientId: CognitoUtil._CLIENT_ID\n };\n\n public cognitoCreds: AWS.CognitoIdentityCredentials;\n\n getUserPool() {\n if (environment.cognito_idp_endpoint) {\n CognitoUtil._POOL_DATA.endpoint = environment.cognito_idp_endpoint;\n }\n return new CognitoUserPool(CognitoUtil._POOL_DATA);\n }\n\n getCurrentUser() {\n return this.getUserPool().getCurrentUser();\n }\n\n // AWS Stores Credentials in many ways, and with TypeScript this means that\n // getting the base credentials we authenticated with from the AWS globals gets really murky,\n // having to get around both class extension and unions. Therefore, we're going to give\n // developers direct access to the raw, unadulterated CognitoIdentityCredentials\n // object at all times.\n setCognitoCreds(creds: AWS.CognitoIdentityCredentials) {\n this.cognitoCreds = creds;\n }\n\n getCognitoCreds() {\n return this.cognitoCreds;\n }\n\n // This method takes in a raw jwtToken and uses the global AWS config options to build a\n // CognitoIdentityCredentials object and store it for us. It also returns the object to the caller\n // to avoid unnecessary calls to setCognitoCreds.\n\n buildCognitoCreds(idTokenJwt: string) {\n let url = 'cognito-idp.' + CognitoUtil._REGION.toLowerCase() + '.amazonaws.com/' + CognitoUtil._USER_POOL_ID;\n if (environment.cognito_idp_endpoint) {\n url = environment.cognito_idp_endpoint + '/' + CognitoUtil._USER_POOL_ID;\n }\n const logins: CognitoIdentity.LoginsMap = {};\n logins[url] = idTokenJwt;\n const params = {\n IdentityPoolId: CognitoUtil._IDENTITY_POOL_ID, /* required */\n Logins: logins\n };\n const serviceConfigs = {};\n if (environment.cognito_identity_endpoint) {\n serviceConfigs.endpoint = environment.cognito_identity_endpoint;\n }\n const creds = new AWS.CognitoIdentityCredentials(params, serviceConfigs);\n this.setCognitoCreds(creds);\n return creds;\n }\n\n\n getCognitoIdentity(): string {\n return this.cognitoCreds.identityId;\n }\n\n getAccessToken(callback: Callback): void {\n if (callback == null) {\n // tslint:disable-next-line:no-string-throw\n throw('CognitoUtil: callback in getAccessToken is null...returning');\n }\n if (this.getCurrentUser() != null) {\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n callback.callbackWithParam(null);\n } else {\n if (session.isValid()) {\n callback.callbackWithParam(session.getAccessToken().getJwtToken());\n }\n }\n });\n } else {\n callback.callbackWithParam(null);\n }\n }\n\n getIdToken(callback: Callback): void {\n if (callback == null) {\n // tslint:disable-next-line:no-string-throw\n throw('CognitoUtil: callback in getIdToken is null...returning');\n } if (this.getCurrentUser() != null) {\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n callback.callbackWithParam(null);\n } else {\n if (session.isValid()) {\n callback.callbackWithParam(session.getIdToken().getJwtToken());\n }\n }\n });\n } else {\n callback.callbackWithParam(null);\n }\n }\n\n getRefreshToken(callback: Callback): void {\n if (callback == null) {\n // tslint:disable-next-line:no-string-throw\n throw('CognitoUtil: callback in getRefreshToken is null...returning');\n } if (this.getCurrentUser() != null) {\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n callback.callbackWithParam(null);\n } else {\n if (session.isValid()) {\n callback.callbackWithParam(session.getRefreshToken());\n }\n }\n });\n } else {\n callback.callbackWithParam(null);\n }\n }\n\n refresh(): void {\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n } else {\n if (session.isValid()) {\n // Refresh\n } else {\n // Not valid\n }\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\n// import { DynamoDBService } from \"./ddb.service\";\nimport { CognitoCallback, CognitoUtil, LoggedInCallback } from './cognito.service';\nimport { AuthenticationDetails, CognitoUser, CognitoUserSession } from 'amazon-cognito-identity-js';\nimport * as AWS from 'aws-sdk/global';\nimport * as STS from 'aws-sdk/clients/sts';\nimport { environment } from '../../../../environments/environment';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class UserLoginService {\n\n private onLoginSuccess = (callback: CognitoCallback, session: CognitoUserSession) => {\n\n // console.log('In authenticateUser onSuccess callback');\n\n AWS.config.credentials = this.cognitoUtil.buildCognitoCreds(session.getIdToken().getJwtToken());\n\n // So, when CognitoIdentity authenticates a user, it doesn't actually hand us the IdentityID,\n // used by many of our other handlers. This is handled by some sly underhanded calls to AWS Cognito\n // API's by the SDK itself, automatically when the first AWS SDK request is made that requires our\n // security credentials. The identity is then injected directly into the credentials object.\n // If the first SDK call we make wants to use our IdentityID, we have a\n // chicken and egg problem on our hands. We resolve this problem by \"priming\" the AWS SDK by calling a\n // very innocuous API call that forces this behavior.\n const clientParams: any = {};\n if (environment.sts_endpoint) {\n clientParams.endpoint = environment.sts_endpoint;\n }\n const sts = new STS(clientParams);\n sts.getCallerIdentity(function (err, data) {\n // console.log('UserLoginService: Successfully set the AWS credentials');\n callback.cognitoCallback(null, session);\n });\n }\n\n private onLoginError = (callback: CognitoCallback, err) => {\n callback.cognitoCallback(err.message, null);\n }\n\n constructor(\n // public ddb: DynamoDBService,\n public cognitoUtil: CognitoUtil\n ) { }\n\n authenticate(username: string, password: string, callback: CognitoCallback) {\n // console.log('UserLoginService: starting the authentication');\n\n const authenticationData = {\n Username: username,\n Password: password,\n };\n const authenticationDetails = new AuthenticationDetails(authenticationData);\n\n const userData = {\n Username: username,\n Pool: this.cognitoUtil.getUserPool()\n };\n\n // console.log('UserLoginService: Params set...Authenticating the user');\n const cognitoUser = new CognitoUser(userData);\n // console.log('UserLoginService: config is ' + AWS.config);\n cognitoUser.authenticateUser(authenticationDetails, {\n newPasswordRequired: ((userAttributes, requiredAttributes) => {\n // console.log('------- RETORNO ATRIBUTOS AWS --------');\n // console.log(userAttributes);\n // console.log(requiredAttributes);\n callback.cognitoCallback(`User needs to set password.`, userAttributes);\n }),\n onSuccess: result => this.onLoginSuccess(callback, result),\n onFailure: err => this.onLoginError(callback, err),\n mfaRequired: (challengeName, challengeParameters) => {\n callback.handleMFAStep(challengeName, challengeParameters, (confirmationCode: string) => {\n cognitoUser.sendMFACode(confirmationCode, {\n onSuccess: result => this.onLoginSuccess(callback, result),\n onFailure: err => this.onLoginError(callback, err)\n });\n });\n }\n });\n }\n\n forgotPassword(username: string, callback: CognitoCallback) {\n const userData = {\n Username: username,\n Pool: this.cognitoUtil.getUserPool()\n };\n\n const cognitoUser = new CognitoUser(userData);\n\n cognitoUser.forgotPassword({\n onSuccess: function () {\n\n },\n onFailure: function (err) {\n callback.cognitoCallback(err.message, null);\n },\n inputVerificationCode() {\n callback.cognitoCallback(null, null);\n }\n });\n }\n\n confirmNewPassword(email: string, verificationCode: string, password: string, callback: CognitoCallback) {\n const userData = {\n Username: email,\n Pool: this.cognitoUtil.getUserPool()\n };\n const cognitoUser = new CognitoUser(userData);\n cognitoUser.confirmPassword(verificationCode, password, {\n onSuccess: function () {\n callback.cognitoCallback(null, null);\n },\n onFailure: function (err) {\n callback.cognitoCallback(err.message, null);\n }\n });\n }\n\n logout() {\n console.log('UserLoginService: Logging out');\n // this.ddb.writeLogEntry('logout');\n this.cognitoUtil.getCurrentUser().signOut();\n }\n\n isAuthenticated(callback: LoggedInCallback) {\n // console.log(callback);\n if (callback == null) {\n // tslint:disable-next-line:no-string-throw\n throw('UserLoginService: Callback in isAuthenticated() cannot be null');\n }\n\n const cognitoUser = this.cognitoUtil.getCurrentUser();\n\n if (cognitoUser != null) {\n\n cognitoUser.getSession(function (err, session) {\n if (err) {\n // console.log('UserLoginService: Couldnt get the session: ' + err, err.stack);\n callback.isLoggedIn(err, false);\n } else {\n // console.log('UserLoginService: Session is ' + session.isValid());\n callback.isLoggedIn(err, session.isValid());\n }\n });\n } else {\n // console.log('UserLoginService: cant retrieve the current user');\n callback.isLoggedIn('Cant retrieve the CurrentUser', false);\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { CognitoCallback, CognitoUtil } from './cognito.service';\nimport { AuthenticationDetails, CognitoUser, CognitoUserAttribute } from 'amazon-cognito-identity-js';\n// import { RegistrationUser } from '../public/auth/register/registration.component';\n// import { NewPasswordUser } from \"../public/auth/newpassword/newpassword.component\";\nimport * as AWS from 'aws-sdk/global';\n\n@Injectable()\nexport class UserRegistrationService {\n\n constructor(\n @Inject(CognitoUtil) public cognitoUtil: CognitoUtil\n ) { }\n\n register(user: any, callback: CognitoCallback): void {\n\n const attributeList = [];\n\n const dataEmail = {\n Name: 'email',\n Value: user.email\n };\n const dataNickname = {\n Name: 'nickname',\n Value: user.name\n };\n attributeList.push(new CognitoUserAttribute(dataEmail));\n attributeList.push(new CognitoUserAttribute(dataNickname));\n attributeList.push(new CognitoUserAttribute({\n Name: 'phone_number',\n Value: user.phone_number\n }));\n\n this.cognitoUtil.getUserPool().signUp(user.email, user.password, attributeList, null, function (err, result) {\n if (err) {\n callback.cognitoCallback(err.message, null);\n } else {\n callback.cognitoCallback(null, result);\n }\n });\n\n }\n\n confirmRegistration(username: string, confirmationCode: string, callback: CognitoCallback): void {\n\n const userData = {\n Username: username,\n Pool: this.cognitoUtil.getUserPool()\n };\n\n const cognitoUser = new CognitoUser(userData);\n\n cognitoUser.confirmRegistration(confirmationCode, true, function (err, result) {\n if (err) {\n callback.cognitoCallback(err.message, null);\n } else {\n callback.cognitoCallback(null, result);\n }\n });\n }\n\n resendCode(username: string, callback: CognitoCallback): void {\n const userData = {\n Username: username,\n Pool: this.cognitoUtil.getUserPool()\n };\n\n const cognitoUser = new CognitoUser(userData);\n\n cognitoUser.resendConfirmationCode(function (err, result) {\n if (err) {\n callback.cognitoCallback(err.message, null);\n } else {\n callback.cognitoCallback(null, result);\n }\n });\n }\n\n newPassword(newPasswordUser: any, callback: CognitoCallback): void {\n // Get these details and call\n // cognitoUser.completeNewPasswordChallenge(newPassword, userAttributes, this);\n const authenticationData = {\n Username: newPasswordUser.username,\n Password: newPasswordUser.existingPassword,\n };\n const authenticationDetails = new AuthenticationDetails(authenticationData);\n\n const userData = {\n Username: newPasswordUser.username,\n Pool: this.cognitoUtil.getUserPool()\n };\n\n const cognitoUser = new CognitoUser(userData);\n cognitoUser.authenticateUser(authenticationDetails, {\n newPasswordRequired: function (userAttributes, requiredAttributes) {\n // User was signed up by an admin and must provide new\n // password and required attributes, if any, to complete\n // authentication.\n\n // the api doesn't accept this field back\n delete userAttributes.email_verified;\n cognitoUser.completeNewPasswordChallenge(newPasswordUser.password, requiredAttributes, {\n onSuccess: function (result) {\n callback.cognitoCallback(null, userAttributes);\n },\n onFailure: function (err) {\n callback.cognitoCallback(err, requiredAttributes);\n }\n });\n },\n onSuccess: function (result) {\n callback.cognitoCallback(null, result);\n },\n onFailure: function (err) {\n callback.cognitoCallback(err, null);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { CompanyCaptable } from '../interface/company-captable';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\n\n\n@Injectable()\nexport class CompanyCaptableService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'companies';\n\n createCaptable(companyId: number, data: CompanyCaptable): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}/${companyId}/captables`, data);\n }\n\n getCaptable(companyId: number): Observable {\n return this.http.get(`${environment.url_api}/captable/${companyId}`);\n }\n\n updateCaptable(companyId: number, data: CompanyCaptable): Observable {\n return this.http.put(`${environment.url_api}/captable/${companyId}`, data);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { CompanyFinancial } from '../interface/company-financial';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\n\n\n@Injectable()\nexport class CompanyFinancialService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'companies';\n\n createFinancial(companyId: number, data: CompanyFinancial): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}/${companyId}/financial`, data);\n }\n\n getFinancial(companyId: number): Observable {\n return this.http.get(`${environment.url_api}/financial/${companyId}`);\n }\n\n updateFinancial(companyId: number, data: CompanyFinancial): Observable {\n return this.http.put(`${environment.url_api}/financial/${companyId}`, data);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { CompanyPartner } from '../interface/company-partners';\n\n\n@Injectable()\nexport class CompanyPartnersService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'companies';\n\n createPartner(companyId: number, data: CompanyPartner[]): Observable {\n return this.http.post(\n `${environment.url_api}/${this.prefixService}/${companyId}/partners`,\n data\n );\n }\n\n getPartner(companyId: number): Observable {\n return this.http.get(`${environment.url_api}/companies/${companyId}/partners`);\n }\n\n updatePartner(companyId: number, data: CompanyPartner): Observable {\n return this.http.put(`${environment.url_api}/partner/${companyId}`, data);\n }\n\n deletePartner(companyId: number, partnerId: number): Observable {\n return this.http.delete(`${environment.url_api}/companies/${companyId}/partners/${partnerId}`);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Company } from '../interface/company';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { Valuation } from '../interface/valuation';\nimport { Team } from '../interface/team';\n\n@Injectable()\nexport class CompanyService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'companies';\n\n createCompany(data: Company): Observable {\n return this.http.post(`${environment.url_api}/public/${this.prefixService}`, data);\n }\n\n updateCompany(id: number, data: Company): Observable {\n return this.http.put(`${environment.url_api}/${this.prefixService}/${id}`, data);\n }\n\n updateStatus(id: number, data: any): Observable {\n return this.http.patch(`${environment.url_api}/${this.prefixService}/${id}`, data);\n }\n\n updateDocs(id: number, data: any): Observable {\n return this.http.put(`${environment.url_api}/${this.prefixService}/${id}/docs`, data);\n }\n\n getCompany(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}`);\n }\n\n getCompanyIndicators(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}/indicators`);\n }\n\n getAllByStatus(status: string): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}?status=${status}`);\n }\n \n getAllByActiveStatus(status: string): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}-active-status?active=${status}`);\n }\n\n changeCompanyActiveStatus(id: number): Observable {\n return this.http.patch(`${environment.url_api}/${this.prefixService}-active-status/${id}`, {});\n }\n\n getDocsByCompany(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}/docs`);\n }\n\n getPartnersByCompany(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}/partners`);\n }\n\n getValuation(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}/valuations`);\n }\n\n createValuation(id: number, datasend: Valuation): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}/${id}/valuations`, datasend);\n }\n\n createTeam(id: number, datasend: Team[]): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}/${id}/team`, datasend);\n }\n\n getTeam(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}/team`);\n }\n\n deleteTeamMember(companyId: number, memberId: number): Observable {\n return this.http.delete(`${environment.url_api}/${this.prefixService}/${companyId}/team/${memberId}`);\n }\n\n createAdmin(id: number, datasend: any): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}/${id}/admins`, datasend);\n }\n\n uploadDocs(id: number, datasend: any){\n return this.http.post(`${environment.url_api}/${this.prefixService}/${id}/documents`, datasend);\n }\n\n updateTeamMember(companyId: number, teamMemberDTO: Team): Observable {\n return this.http.put(`${environment.url_api}/${this.prefixService}/${companyId}/team`, teamMemberDTO);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CrudService {\n\n constructor() { }\n\n}\n","import { Injectable, EventEmitter } from '@angular/core';\n\nexport interface EventEmitted {\n name: String;\n data?: any;\n}\n\n@Injectable()\nexport class EventEmitterService {\n\n emitter = new EventEmitter();\n\n constructor() { }\n\n send(data: EventEmitted) {\n this.emitter.emit(data);\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as FileSaver from 'file-saver';\nimport * as XLSX from 'xlsx';\n\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.xlsx';\n\n@Injectable()\nexport class ExcelService {\n constructor() {}\n public exportAsExcelFile(json: any[], excelFileName: string): void {\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n const workbook: XLSX.WorkBook = {\n Sheets: {\n 'data': worksheet\n },\n SheetNames: ['data']\n };\n const excelBuffer: any = XLSX.write(workbook, {\n bookType: 'xlsx',\n type: 'array'\n });\n this.saveAsExcelFile(excelBuffer, excelFileName);\n }\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], {\n type: EXCEL_TYPE\n });\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Forum } from \"../interface/forum\";\nimport { Observable } from \"rxjs\";\nimport { environment } from \"../../../environments/environment\";\nimport { Comments } from \"../interface/comments\";\n\n@Injectable()\nexport class ForumService {\n constructor(private http: HttpClient) {}\n\n prefixPosts = \"posts\";\n\n createPost(id: number, data: Forum): Observable {\n return this.http.post(\n `${environment.url_api}/forum/companies/rounds/${id}/${this.prefixPosts}`,\n data\n );\n }\n\n createPostRealState(roundId: number, data: Forum): Observable {\n return this.http.post(\n `${environment.url_api}/forum/real-state/rounds/${roundId}/${this.prefixPosts}`,\n data\n );\n }\n\n deletePost(id: number): Observable {\n return this.http.delete(\n `${environment.url_api}/forum/${this.prefixPosts}/${id}`\n );\n }\n\n getPost(id: number): Observable {\n return this.http.get(\n `${environment.url_api}/forum/${this.prefixPosts}/${id}`\n );\n }\n\n createComment(post: number, data: Comments): Observable {\n return this.http.post(\n `${environment.url_api}/forum/${this.prefixPosts}/${post}/comments`,\n data\n );\n }\n\n updateComment(\n post: number,\n comment: number,\n data: Comments\n ): Observable {\n return this.http.put(\n `${environment.url_api}/forum/${this.prefixPosts}/${post}/comments/${comment}`,\n data\n );\n }\n\n deleteComment(post: number, comment: number): Observable {\n return this.http.delete(\n `${environment.url_api}/forum/${this.prefixPosts}/${post}/comments/${comment}`\n );\n }\n\n getComment(post: number, comment: number): Observable {\n return this.http.get(\n `${environment.url_api}/forum/${this.prefixPosts}/${post}/comments/${comment}`\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport { InvestmentInstallment } from '../interface/investment-installment';\n\n@Injectable()\nexport class InvestmentInstallmentService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'installment';\n\n getInstallments(investment: number): Observable {\n return this.http.get(`${environment.url_api}/investments/${this.prefixService}/${investment}`);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Investment } from '../interface/investment';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport { UserInvestment } from '../interface/user-investment';\n\n@Injectable()\nexport class InvestmentService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'investments';\n\n createInvestment(dataSend: Investment, company: number, round: number): Observable {\n return this.http.post(`${environment.url_api}/companies/${company}/rounds/${round}/${this.prefixService}`, dataSend);\n }\n\n createInvestmentRealState(dataSend: Investment, round: number): Observable {\n return this.http.post(`${environment.url_api}/real-state/rounds/${round}/${this.prefixService}`, dataSend);\n }\n\n getUserInvestment(round: number, type: any): Observable {\n return this.http.get(`${environment.url_api}/rounds/${round}/investments?type=${type}`);\n }\n\n updateStatus(investmentId: number, data: { contractStatus: string, paymentStatus: string }): Observable {\n return this.http.patch(`${environment.url_api}/investments-status/${investmentId}`, data);\n } \n\n getInvestment(investment: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${investment}`);\n }\n\n generateBillets(investmentId: number){\n return this.http.post(`${environment.url_api}/investments/${investmentId}/billets`, {});\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { Investor } from '../interface/investor';\nimport { User } from '../interface/user';\nimport { Investment } from '../interface/investment';\n\n@Injectable()\nexport class InvestorService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'investors';\n\n saveUserInvestor(datasend: Investor): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixService}`, datasend);\n }\n\n getByUserCompletePerfil(id: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/${id}`);\n }\n\n updateInvestor(data: Investor): Observable {\n return this.http.put(`${environment.url_api}/${this.prefixService}/me`, data);\n }\n\n getUser(): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixService}/me`);\n }\n\n updateAvatar(avatar: any): Observable {\n return this.http.patch(`${environment.url_api}/${this.prefixService}/me`, avatar);\n }\n\n uploadRG(avatar: any): Observable {\n return this.http.patch(`${environment.url_api}/${this.prefixService}/me/rg`, avatar);\n }\n\n uploadRGVerse(avatar: any): Observable {\n return this.http.patch(`${environment.url_api}/${this.prefixService}/me/rg-verse`, avatar);\n }\n\n getAllUsers(page: number, size: number): Observable {\n return this.http.get(`${environment.url_api}/admin/investors?page=${page}&size=${size}`);\n }\n\n getInvestments(params?: any){\n return this.http.get(`${environment.url_api}/investors/me/investments`, {params: params})\n }\n\n getContract(id: string){\n return this.http.get(`${environment.url_api}/contract/document/${id}`);\n }\n\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport NProgress from 'nprogress';\nimport 'nprogress/nprogress.css';\nimport { Subject, Subscription } from 'rxjs';\n\n@Injectable()\nexport class LoaderService implements OnDestroy {\n\n loading = new Subject();\n $subscription: Subscription;\n\n constructor(\n\n ) {\n this.$subscription = this.loading.subscribe({\n next: value => {\n if (value) {\n NProgress.start();\n NProgress.set(0.1);\n NProgress.inc();\n } else {\n NProgress.done();\n }\n }\n })\n }\n\n ngOnDestroy(): void {\n this.$subscription.unsubscribe();\n }\n\n load(value: boolean = true) {\n this.loading.next(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../../../environments/environment';\nimport { RealState } from '../interface/real-state';\n\n\n@Injectable()\nexport class RealStateService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixRound = 'rounds';\n prefixRealStates = 'real-state';\n\n createRound(data: RealState): Observable {\n return this.http.post(`${environment.url_api}/${this.prefixRealStates}/${this.prefixRound}`, data);\n }\n\n updateStatus(round: number, data: any): Observable {\n return this.http.patch(`${environment.url_api}/${this.prefixRealStates}/${this.prefixRound}/${round}`, data);\n }\n\n getRound(round: number): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixRealStates}/${this.prefixRound}/${round}`);\n }\n\n getAllByStatus(status: string): Observable {\n return this.http.get(`${environment.url_api}/${this.prefixRound}?status=${status}`);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\nimport { environment } from \"../../../environments/environment\";\nimport { Round } from \"../interface/round\";\nimport { RoundPrototype } from \"../interface/round-prototype\";\nimport { Company } from \"../interface/company\";\nimport \"rxjs/add/operator/map\";\nimport { Rounds } from \"../interface/rounds\";\nimport { RealState } from \"../interface/real-state\";\n\n@Injectable()\nexport class RoundService {\n constructor(private http: HttpClient) {}\n\n prefixRound = \"rounds\";\n prefixCompany = \"companies\";\n\n closeRound(roundId: number): Observable {\n return this.http.patch(\n `${environment.url_api}/rounds/${roundId}/finish`,\n {}\n );\n }\n\n createRound(id: number, data: Round, action: string): Observable {\n if (action !== \"create\" && action !== \"edit\") {\n throw new Error(\"ação inválida. Deve ser 'criar' ou 'editar'\");\n }\n \n return this.http.post(\n `${environment.url_api}/${this.prefixCompany}/${id}/${this.prefixRound}?action=${action}`,\n data\n );\n } \n\n getRound(company: number, round: number): Observable {\n return this.http.get(\n `${environment.url_api}/${this.prefixCompany}/${company}/${this.prefixRound}/${round}`\n );\n }\n\n getRealStateRoundById(roundId: number): Observable {\n return this.http.get(\n `${environment.url_api}/public/real-state/rounds/${roundId}`\n );\n }\n\n getShortRound(company: number, round: number): Observable {\n return this.http.get(\n `${environment.url_api}/${this.prefixCompany}/${company}/short/${this.prefixRound}/${round}`\n );\n }\n\n getRound2(company: number, round: number): Observable {\n return this.http.get(\n `${environment.url_api}/${this.prefixCompany}/${company}/${this.prefixRound}/${round}`\n );\n }\n\n getAllByStatus(status: string): Observable {\n return this.http.get(\n `${environment.url_api}/${this.prefixRound}?status=${status}`\n );\n }\n\n getAllPublic(): Observable {\n return this.http.get(\n `${environment.url_api}/public/${this.prefixCompany}/${this.prefixRound}`\n );\n }\n\n getAllRounds(): Observable {\n return this.http.get(\n `${environment.url_api}/admin/${this.prefixRound}`\n );\n }\n\n getAllUser(): Observable {\n return this.http.get(\n `${environment.url_api}/investors/me/${this.prefixRound}`\n );\n }\n\n getAllShortUser(): Observable {\n return this.http.get(\n `${environment.url_api}/investors/me/short/${this.prefixRound}`\n );\n }\n\n updateStatus(company: number, round: number, data: any): Observable {\n return this.http.patch(\n `${environment.url_api}/${this.prefixCompany}/${company}/${this.prefixRound}/${round}`,\n data\n );\n }\n\n createToken(token: any): Observable {\n return this.http.post(\n `${environment.url_api}/investors/me/${this.prefixCompany}/exclusive-rounds`,\n token\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class SendAutomaticService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n sendInvestor(post: any): Observable {\n return this.http.post(`https://yz5zy6q8g5.execute-api.us-east-1.amazonaws.com/latest/investor`, post);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { TitleHeader } from '../interface/title-header';\n\n@Injectable()\nexport class TitleService {\n public titleHeader = new TitleHeader();\n public messageSource = new BehaviorSubject(this.titleHeader);\n currentMessage = this.messageSource.asObservable();\n\n constructor() {\n this.titleHeader.title = '';\n }\n\n changeTitle(titleHeader: TitleHeader) {\n this.messageSource.next(titleHeader);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable()\nexport class UserService {\n\n constructor(\n private http: HttpClient\n ) { }\n\n prefixService = 'user';\n\n getAddressByZipCode(cep: string): Observable {\n return this.http.get(`https://viacep.com.br/ws/${cep}/json/`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router, CanLoad, CanActivateChild } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { CognitoUtil } from '../core/service/cognito/cognito.service';\n\nimport { AuthService } from '../core/service/auth.service';\ndeclare var toastr: any;\n\n@Injectable()\nexport class RouteGuard implements CanLoad, CanActivate, CanActivateChild {\n\n getSessionLoad: boolean;\n scopes: any;\n\n constructor(\n private cognitoUtil: CognitoUtil,\n private authService: AuthService,\n private router: Router,\n ) {}\n\n canLoad(route: any): boolean {\n return this.validateSession(route);\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable < boolean > | Promise < boolean > | boolean {\n return this.validateSession(route);\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable < boolean > | Promise < boolean > | boolean {\n return this.validateSession(route);\n }\n\n validateSession(route: any) {\n const $this = this;\n const cognitoUser = this.cognitoUtil.getCurrentUser();\n if (cognitoUser != null) {\n cognitoUser.getSession(function (err, session) {\n if (err) {\n toastr.error('Sua sessão expirou, favor entrar novamente');\n $this.authService.returnLogin();\n return false;\n }\n const tokenId = session.getIdToken();\n const scopes = tokenId['payload']['cognito:groups'];\n if ($this.canActivatedByScope(route, scopes) === false) {\n $this.authService.returnLogin();\n return false;\n }\n $this.getSessionLoad = session.isValid();\n });\n return this.getSessionLoad;\n } else {\n $this.authService.returnLogin();\n $this.getSessionLoad = false;\n return this.getSessionLoad;\n }\n }\n\n canActivatedByScope(route, scopes): boolean {\n let canActivated = true;\n const permissions = [];\n const NAO_TEM = 0;\n const TEM = 1;\n if (route.data) {\n if (route.data.scopes) {\n if (route.data.scopes.length <= 0) {\n return canActivated;\n }\n route.data.scopes.forEach((scope) => {\n if (scopes.includes(scope)) {\n permissions.push(TEM);\n } else {\n permissions.push(NAO_TEM);\n }\n });\n if (route.data.needAll) {\n if (route.data.needAll === true) {\n if (permissions.indexOf(NAO_TEM) >= 0) {\n canActivated = false;\n }\n } else {\n if (permissions.indexOf(TEM) < 0) {\n canActivated = false;\n }\n }\n } else {\n if (permissions.indexOf(TEM) < 0) {\n canActivated = false;\n }\n }\n }\n }\n return canActivated;\n }\n\n}\n","import { AuthService } from './../core/service/auth.service';\nimport { Observable } from 'rxjs';\nimport { Injectable, Injector } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { Callback, CognitoUtil } from '../core/service/cognito/cognito.service';\nimport { environment } from '../../environments/environment';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n\n getSessionLoad: boolean;\n idToken: any;\n company: any;\n\n constructor(\n private inj: Injector\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const $this = this;\n const requestUrl: Array = request.url.split('/');\n const apiUrl: Array = environment.url_api.split('/');\n const cognitoUtil = this.inj.get(CognitoUtil);\n const cognitoUser = cognitoUtil.getCurrentUser();\n if (cognitoUser != null) {\n cognitoUser.getSession(function(err, session) {\n if (session.isValid() === true && session.isValid() != null) {\n $this.idToken = session.getIdToken().getJwtToken();\n // if ($this.idToken && (requestUrl[2] === apiUrl[2])) {\n // const newRequest = request.clone({ setHeaders: {'Authorization': `${$this.idToken}`}});\n // return next.handle(newRequest);\n // } else {\n // return next.handle(request);\n // }\n } else {\n return next.handle(request);\n }\n });\n }\n if ($this.idToken && (requestUrl[2] === apiUrl[2])) {\n const newRequest = request.clone({ setHeaders: {'Authorization': `${$this.idToken}`}});\n return next.handle(newRequest);\n } else {\n return next.handle(request);\n }\n // else {\n // return next.handle(request);\n // }\n // if ($this.idToken && (requestUrl[2] === apiUrl[2])) {\n // // console.log($this.idToken);\n // const newRequest = request.clone({ setHeaders: {'Authorization': `${$this.idToken}`}});\n // return next.handle(newRequest);\n // } else {\n // return next.handle(request);\n // }\n\n }\n}\n","import {\n Component,\n OnInit,\n AfterViewInit,\n Input,\n OnDestroy\n} from '@angular/core';\nimport {\n Chart\n} from 'chart.js';\n\n@Component({\n selector: 'app-bar',\n templateUrl: './bar.component.html',\n styleUrls: ['./bar.component.css']\n})\nexport class BarComponent implements OnInit, AfterViewInit, OnDestroy {\n\n myChart = Chart;\n id: any;\n\n @Input() type: string;\n @Input() data: any;\n @Input() options: any;\n @Input() width: number;\n @Input() height: number;\n @Input() nChart: String;\n\n constructor() { }\n\n ngOnInit() {\n this.id = 'myChart' + this.nChart;\n }\n\n ngAfterViewInit() {\n this.dashboard();\n }\n\n ngOnDestroy() {\n this.myChart.destroy();\n }\n\n dashboard() {\n this.myChart = new Chart(this.id, {\n type: this.type,\n data: this.data,\n options: this.options\n });\n }\n\n}\n","
\n \n
","import {\n Component,\n OnInit,\n AfterViewInit,\n Input,\n ViewChild,\n ElementRef,\n OnDestroy\n} from '@angular/core';\nimport {\n Chart\n} from 'chart.js';\n\n@Component({\n selector: 'app-chartjs',\n templateUrl: './chartjs.component.html',\n styleUrls: ['./chartjs.component.css']\n})\nexport class ChartjsComponent implements OnInit, AfterViewInit, OnDestroy {\n\n myChart = Chart;\n ctx: any;\n id: any;\n yAxesConfigMoney: any;\n\n @Input() type: string;\n @Input() labels: any;\n @Input() label: any;\n @Input() backgroundColor: any;\n @Input() borderColor: any;\n @Input() data: any;\n @Input() config: any;\n @Input() options: any;\n @Input() borderWidth: any;\n @Input() fill: boolean;\n @Input() yAxes: any;\n @Input() width: number;\n @Input() height: number;\n\n constructor() {}\n\n ngOnInit() {\n this.id = 'myChart' + new Date().getTime();\n }\n\n ngAfterViewInit() {\n this.dashboard();\n }\n\n ngOnDestroy() {\n this.myChart.destroy();\n }\n\n dashboard() {\n this.myChart = new Chart(this.id, {\n type: this.type,\n data: this.dataDashboard(),\n options: this.optionsDashboard()\n });\n }\n\n dataDashboard() {\n const $this = this;\n const dataset = {\n labels: $this.labels,\n datasets: [{\n label: $this.label,\n backgroundColor: $this.backgroundColor,\n borderColor: $this.borderColor,\n data: $this.data,\n borderWidth: $this.borderWidth,\n fill: $this.fill\n }]\n };\n const data = dataset;\n return data;\n }\n\n optionsDashboard() {\n const $this = this;\n let options = new Object();\n\n if (this.yAxes === 'money') {\n\n options = {\n responsive: true,\n animation: {\n animateScale: true,\n animateRotate: true\n },\n tooltips: {\n mode: 'index',\n intersect: false,\n callbacks: {\n label: function (t, d) {\n const xLabel = d.datasets[t.datasetIndex].label;\n const yLabel = t.yLabel;\n return ' R$ ' + yLabel.toFixed(2).replace('.', ',').replace(/(\\d)(?=(\\d{3})+\\,)/g, '$1.');\n }\n }\n },\n hover: {\n mode: 'nearest',\n intersect: true\n },\n scales: {\n yAxes: [{\n ticks: {\n beginAtZero: true,\n callback: (value, index, values) => {\n return 'R$ ' + value.toFixed(2).replace('.', ',').replace(/(\\d)(?=(\\d{3})+\\,)/g, '$1.');\n }\n }\n }]\n }\n };\n } else {\n options = {\n responsive: true,\n animation: {\n animateScale: true,\n animateRotate: true\n },\n tooltips: {\n mode: 'index',\n intersect: false,\n },\n hover: {\n mode: 'nearest',\n intersect: true\n }\n };\n }\n return options;\n }\n\n maskMoney(number) {\n if (number == null) {\n return '';\n }\n return 'R$ ' + number.toFixed(2).replace('.', ',').replace(/(\\d)(?=(\\d{3})+\\,)/g, '$1.');\n }\n\n}\n","
\n {{ myPieChart }}\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-count',\n templateUrl: './count.component.html',\n styleUrls: ['./count.component.css']\n})\nexport class CountComponent implements OnInit {\n\n @Input() count: any;\n @Input() textContador: string;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n {{ textContador }}\n
","import {\n Component,\n OnInit,\n AfterViewInit,\n Input,\n OnDestroy\n} from '@angular/core';\nimport {\n Chart\n} from 'chart.js';\n\n@Component({\n selector: 'app-doughnut',\n templateUrl: './doughnut.component.html',\n styleUrls: ['./doughnut.component.css']\n})\nexport class DoughnutComponent implements OnInit, AfterViewInit, OnDestroy {\n\n myChart = Chart;\n id: any;\n\n @Input() type: string;\n @Input() labels: any;\n @Input() label: any;\n @Input() borderColor: any;\n @Input() backgroundColor: any;\n @Input() data: any;\n @Input() options: any;\n @Input() width: number;\n @Input() height: number;\n @Input() nChart: String;\n\n constructor() {}\n\n ngOnInit() {\n this.id = 'myChart' + this.nChart;\n }\n\n ngAfterViewInit() {\n this.dashboard();\n }\n\n ngOnDestroy() {\n this.myChart.destroy();\n }\n\n dashboard() {\n this.myChart = new Chart(this.id, {\n type: this.type,\n data: this.dataDashboard(),\n options: this.options\n });\n }\n\n dataDashboard() {\n const $this = this;\n const dataset = {\n labels: $this.labels,\n datasets: [{\n label: $this.label,\n data: $this.data,\n backgroundColor: $this.backgroundColor,\n borderColor: $this.borderColor\n // borderColor: $this.borderColor\n }]\n };\n const data = dataset;\n return data;\n }\n}\n","
\n \n
","import { Component, AfterViewInit, Input, ElementRef, ViewChild, OnDestroy, Output, EventEmitter } from \"@angular/core\";\nimport { BehaviorSubject, Subject } from \"rxjs\";\n\ndeclare var toastr: any;\n\n@Component({\n selector: \"file-drop\",\n templateUrl: \"./file-drop.component.html\",\n styleUrls: [\"./file-drop.component.css\"],\n})\nexport class FileDropComponent implements AfterViewInit, OnDestroy {\n @ViewChild('dropZoneRef') dropZoneRef: ElementRef;\n\n @Output() onFile = new EventEmitter();\n \n @Input() label: string = \"\";\n @Input() multiple: boolean = false;\n @Input() fileTypes: Array = ['application/pdf'];\n @Input() wrongFileTypeMessage: string = \"\";\n @Input() canSeeFile: boolean = false;\n\n isDragging: boolean = false;\n file: BehaviorSubject = new BehaviorSubject(null);\n dragCount: number = 0;\n\n constructor(private el: ElementRef) { }\n\n ngAfterViewInit(): void {\n if (this.dropZoneRef) {\n const target = this.dropZoneRef.nativeElement;\n target.addEventListener('dragenter', e => this.handleDragIn(e));\n target.addEventListener('dragleave', e => this.handleDragOut(e));\n target.addEventListener('dragover', e => this.handleDrag(e));\n target.addEventListener('drop', e => this.handleDrop(e));\n }\n\n this.file.subscribe({\n next: value => {\n this.onFile.emit(value);\n }\n })\n }\n\n ngOnDestroy(): void {\n if (this.dropZoneRef) {\n const target = this.dropZoneRef.nativeElement;\n target.removeEventListener('dragenter', e => this.handleDragIn(e))\n target.removeEventListener('dragleave', e => this.handleDragOut(e))\n target.removeEventListener('dragover', e => this.handleDrag(e));\n target.removeEventListener('drop', e => this.handleDrop(e));\n }\n }\n\n handleDragIn(e) {\n e.preventDefault();\n e.stopPropagation();\n this.dragCount = this.dragCount + 1;\n if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {\n this.isDragging = true;\n }\n }\n\n handleDragOut(e) {\n e.preventDefault();\n e.stopPropagation();\n this.dragCount = this.dragCount - 1;\n if (this.dragCount > 0) return\n this.isDragging = false;\n }\n\n handleDrag(e) {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = true;\n }\n\n handleDrop(e) {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n const f = e.dataTransfer.files[0];\n this.dragCount = 0;\n this.isDragging = false;\n e.dataTransfer.clearData();\n this.setFileIfHasType(f);\n }\n }\n\n deleteAttachment() {\n this.file.next(null);\n this.isDragging = false;\n this.dragCount = 0;\n }\n\n setFileIfHasType(file) {\n if (!this.fileTypes.find(t => file.type === t)) {\n toastr.error(this.wrongFileTypeMessage?.length ? this.wrongFileTypeMessage : 'Tipo de arquivo não permitido');\n return\n }\n this.file.next(file);\n }\n\n showFile() {\n window.open(URL.createObjectURL(this.file.getValue()), '_blank');\n }\n\n onChange(e: Event) {\n console.log(e);\n const target = e.target as HTMLInputElement;\n const files = target.files as FileList;\n if (files.length) {\n console.log('tipo', files[0].type);\n this.setFileIfHasType(files[0]);\n }\n }\n}\n","
\n
\n {{file.getValue().name}}\n
\n
\n {{label}}\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
Ou arraste e solte seu arquivo
\n
","import { Component, OnInit, ContentChild, Input, AfterContentInit } from '@angular/core';\nimport { FormControlName, NgModel } from '@angular/forms';\n\n@Component({\n selector: 'app-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.css']\n})\nexport class FormComponent implements OnInit, AfterContentInit {\n\n @Input() label: string;\n @Input() errorMessage: string;\n @Input() class: string;\n\n input: any;\n\n @ContentChild(NgModel) model: NgModel;\n @ContentChild(FormControlName) control: FormControlName;\n\n constructor() { }\n\n ngOnInit() { }\n\n ngAfterContentInit() {\n this.input = this.model || this.control;\n if (!this.input) {\n console.warn(`O componente 'app-form' com o label '${this.label}' não encontrou ngModel ou formControlName`);\n }\n }\n\n hasSuccess(): boolean {\n return this.input && this.input.valid && (this.input.dirty || this.input.touched);\n }\n\n hasError(): boolean {\n return this.input && this.input.invalid && (this.input.dirty || this.input.touched);\n }\n}\n","
\n \n \n \n {{ errorMessage }}\n
\n","import { Component, OnInit, Input, ElementRef } from \"@angular/core\";\n\n@Component({\n selector: \"general-terms\",\n templateUrl: \"./general-terms.component.html\",\n styleUrls: [\"./general-terms.component.css\"],\n})\nexport class GeneralTerms {\n showDialog() {\n let modal_t = document.getElementById(\"termos-gerais\");\n modal_t.classList.remove(\"hhidden\");\n modal_t.classList.add(\"sshow\");\n }\n closeDialog() {\n let modal_t = document.getElementById(\"termos-gerais\");\n modal_t.classList.remove(\"sshow\");\n modal_t.classList.add(\"hhidden\");\n }\n}\n","Termos gerais\n\n
\n

\n

Termos Gerais

\n

\n

\n

\n Seja bem-vindo a InvestPlus! Agradecemos seu interesse em utilizar nossa\n plataforma.\n

\n

\n

\n

\n O aceite aos Termos Gerais (“ACORDO”) estabelece  a relação e define\n os direitos e obrigações entre: InvestPlus, sociedade empresária limitada, inscrita no CNPJ/MF sob 38.268.345/0001-01, com sede na\n Paraíba, 330, andar 17 sala 21, no bairro Funcionários da cidade de Belo Horizonte do estado de Minas Gerais no CEP 30130-917 investplus.vc  ,\n (“Plataforma InvestPlus ”, “InvestPlus ” ou “Plataforma”) e; O USUÁRIO\n INVESTIDOR da Plataforma InvestPlus ao concordar com os termos de\n celebração deste ACORDO (“USUÁRIO INVESTIDOR”).\n

\n

\n

\n

1. OBJETO DO ACORDO

\n

\n

\n

\n 1.1 O presente instrumento tem como objeto regular o\n relacionamento entre a InvestPlus e os Usuários da Plataforma. Ao\n utilizarem a Plataforma, os USUÁRIOS estarão automaticamente e\n expressamente vinculados aos termos aqui previstos.\n

\n

\n

\n

\n 1.2 A InvestPlus é um prestador de serviços de tecnologia\n e proprietário e administrador da Plataforma.\n

\n

\n

\n

\n 1.3 O ADMINISTRADOR não irá realizar cobrança para se\n tornar USUÁRIO INVESTIDOR da Plataforma InvestPlus nem para atualizar como\n USUÁRIO INVESTIDOR. Cadastrar como um USUÁRIO INVESTIDOR da Plataforma FCJ\n INVEST se tornará gratuito e não há nenhuma obrigação de investir ou de\n procurar captar investimentos. Fica totalmente a critério do USUÁRIO\n INVESTIDOR e ciente dos riscos atrelado a transação e de analisar\n previamente todos os riscos perante aquele investimento.\n

\n

\n

\n

\n 1.4 Por meio da Plataforma InvestPlus, Investidores\n devidamente cadastrados e qualificados perante a InvestPlus poderão ter\n acesso a oportunidades de investimentos em Empresas, desde que cumpram com\n os requisitos estabelecidos pela plataforma.\n

\n

\n

\n

\n 1.5 A plataforma é apresentada ao USUÁRIO\n INVESTIDOR  da forma que se encontra disponível, tendo assim a FCJ\n INVEST comprometida para disponibilizar continua e permanentemente o\n devido acesso pelo primeiro, ficando sujeita, contudo, a eventos\n extraordinários, falhas, indisponibilidade da plataforma e entre outros\n problemas junto ao sistema de acesso à internet que ultrapassam a esfera\n da sua responsabilidade\n

\n

\n

\n

\n 1.6 Quando cadastrado o perfil de um USUÁRIO INVESTIDOR\n da InvestPlus, você terá acesso às áreas da Plataforma InvestPlus,\n hospedadas no domínio e subdomínios de https://www.investplus.vc e\n acessadas utilizando seu login e senha e com isto poderá ter acesso a seus\n investimentos e todo seu portfólio de rodada, acesso aos indicadores das\n empresas investidas.\n

\n

\n

\n

\n 1.7 A Plataforma InvestPlus permite aos seus USUÁRIO\n INVESTIDOR conhecer empresas que faturam até R$ 10.000.000,00/ ano e que\n procuram investimentos online, visualizar as RODADAS DE INVESTIMENTOS\n dessas empresas e investir nessas empresas durante um período determinado,\n designado como o “RODADA”. O USUÁRIO INVESTIDOR da Plataforma InvestPlus\n que invista em/ empresas através da Plataforma InvestPlus são designados\n como “USUÁRIO INVESTIDOR”.\n

\n

\n

\n

\n 1.8 O Usuário deve tomar a decisão de realizar o aporte\n na empresa investida de forma segura, ler os avisos de riscos e se tornar\n consciente de que qualquer investimento de equity crowdfunding envolve\n alto risco de perda do valor total do capital investido, as taxas de\n moralidade de Empresas, a falta de liquidez do valor mobiliário, os prazos\n de retorno do investimento e entre outras razões.\n

\n

\n

\n

\n 1.9 As RODADAS DE INVESTIMENTOS publicadas na Plataforma\n InvestPlus são ofertas públicas de valores mobiliários dispensadas de\n registro e realizadas por emissores considerados sociedades empresárias de\n pequeno porte nos termos da Instrução CVM n.º 558/2017\n

\n

\n

\n

\n 1.10 O USUÁRIO INVESTIDOR poderá ter acesso na\n participação da Plataforma InvestPlus como INVESTIDOR e isto não impede\n sua participação também como EMPREENDEDOR e vice-versa.\n

\n

\n

\n

\n 1.11 A InvestPlus avisará você sobre qualquer alteração\n relevante neste ACORDO por EMAIL com os dados cadastrados na Plataforma\n com pelo menos 12 (doze) dias de antecedência antes de tais alterações\n entrarem em vigor. Se você fizer objeção por escrito à alteração em até 12\n (doze) dias, essa discordância significará o término da sua associação à\n Plataforma InvestPlus, caso contrário consideraremos que houve sua\n aceitação formal.\n

\n

\n

\n

2. QUALIFICAÇÃO DO INVESTIDOR NA PLATAFORMA

\n

\n

\n

\n 2.1 Importante destacar que para ter acesso a plataforma\n da InvestPlus, você deve ser:\n

\n

\n

\n

\n a) pessoa física com inscrição válida no Cadastro de\n Pessoas Físicas do Ministério da Fazenda (“CPF”) e com pelo menos 18 anos\n de idade.\n

\n

\n

\n

b) uma pessoa jurídica com sede ou filial no Brasil.

\n

\n

\n

\n c) um departamento, uma agência executiva ou uma entidade\n pública de um governo nacional, regional, local ou supranacional.\n

\n

\n

\n

d) um fundo de investimento regulamentado pela CVM.

\n

\n

\n

\n 2.2 O termo de regras gerais não estabelece nenhum\n contrato de sociedade e de mandato entre as partes .\n

\n

\n

\n

\n 2.3 Caso você não queira mais ser um USUÁRIO INVESTIDOR\n da Plataforma InvestPlus, desde que observados os termos do CONTRATO DE\n ABERTURA DE RODADA e do ACORDO DE INVESTIMENTO porventura firmados, você\n pode terminar a sua associação a qualquer momento por aviso escrito\n enviado por e-mail para contato@fcjinvest.com , sendo certo que você\n continua obrigado aos compromissos firmados e aos termos desse ACORDO em\n relação a qualquer transação já feita através da plataforma InvestPlus.\n

\n

\n

\n

3.AS OPORTUNIDADES DE INVESTIMENTO

\n

\n

\n

\n 3.1 Para o que importa a estas Regras Gerais,\n considerar-se-á Oportunidade de Investimento a realização pelo\n Empreendedor, por meio da plataforma eletrônica InvestPlus, de oferta\n pública de investimento (doravante “Investimento”), sem a participação de\n instituição intermediária e sem a elaboração de prospecto, automaticamente\n dispensada de registro perante a Comissão de Valores Mobiliários.\n

\n

\n

\n

\n 3.2 A realização de Oferta Pública Direta na plataforma\n eletrônica InvestPlus pelo Empreendedor dependerá do cumprimento dos\n requisitos estabelecidos pela legislação em vigor à sua época.\n

\n

\n

\n

\n 3.3 É responsabilidade única e exclusiva do Empreendedor\n a realização e a efetivação da Oferta Pública Direta e demais documentos,\n sendo de responsabilidade da InvestPlus somente a disponibilização da\n tecnologia necessária para viabilizar a apresentação da oportunidade de\n investimento aos investidores cadastrados na plataforma eletrônica.\n

\n

\n

\n

\n 3.4 É de responsabilidade exclusiva do Investidor a\n análise dos termos da Oferta Pública Direta e dos demais documentos e\n informações que a acompanharem, todos devidamente disponibilizados pelo\n Empreendedor por meio da Plataforma. Também caberá ao Investidor a\n aferição sobre o preenchimento dos requisitos mínimos para acesso à Oferta\n Pública Direta, nos termos determinados pelo Empreendedor.\n

\n

\n

\n

\n 3.5 Com a disponibilização da Oferta Pública Direta na\n plataforma, abrir-se-á prazo de até 60 (sessenta) dias para que os\n Investidores que cumpram os requisitos mínimos indiquem sua intenção de\n investimento.\n

\n

\n

\n

\n 3.6 Os documentos da Oferta Pública Direta, assim como as\n demais informações disponibilizadas pela plataforma, apontarão o período\n pelo qual deverá ser realizado o desembolso pelo Investidor em razão do\n investimento.\n

\n

\n

\n

\n 3.7 Caberá ao Investidor a realização do depósito dos\n recursos relativos ao investimento e a respectiva comprovação por meio de\n comunicação ao endereço eletrônico contato@fcjinvest.com .\n

\n

\n

\n

\n 4.DIREITOS DE PROPRIEDADE INTELECTUAL E/OU INDUSTRIAL\n

\n

\n

\n

\n 4.1 A InvestPlus detém todos e quaisquer direitos sobre\n os projetos, logotipos, marcas, patentes, segredos de negócio, obras\n autorais bem como sobre quaisquer outros direitos de propriedade\n intelectual e/ou industrial que venham a ser criados, desenvolvidos ou\n modificados no âmbito da Plataforma.\n

\n

\n

\n

\n 4.2 Nenhum direito de propriedade intelectual e/ou\n industrial, atualmente existente e de propriedade da InvestPlus que venha\n a ser facultado o uso e acesso na Plataforma às Empresas e Investidores,\n antes ou após seu cadastramento na Plataforma, será transferido ou\n licenciado de forma diversa da aqui prevista aos seus Usuários, a não ser\n que um contrato de licença de uso ou cessão de direitos seja assinado\n entre o interessado e a Plataforma.\n

\n

\n

\n

\n 4.3 Às Empresas e Investidores devidamente cadastrados na\n Plataforma é licenciado o uso da Plataforma e dos serviços e ferramentas\n correlatos, conforme assim sejam contratados com a InvestPlus .\n

\n

\n

\n

\n 4.4 Salvo autorização expressa da InvestPlus , nenhum\n Usuário poderá copiar, modificar, distribuir, vender, alugar, publicar ou\n utilizar de forma diversa das aqui descrita os projetos, logotipos,\n marcas, patentes, segredos de negócio, obras autorais, bem como quaisquer\n outras obras de propriedade intelectual e/ou industrial, registrados ou\n não, pertencentes a InvestPlus, sob pena da aplicação das medidas legais\n cabíveis.\n

\n

\n

\n

5. DISPOSIÇÕES GERAIS

\n

\n

\n

\n 5.1 A tolerância do eventual descumprimento de quaisquer\n das cláusulas e condições do presente instrumento não constituirá novação\n das obrigações aqui estipuladas e tampouco impedirá ou inibirá a\n exigibilidade das mesmas a qualquer tempo.\n

\n

\n

\n

\n 5.2 Caso alguma disposição destes Termos de Uso seja\n considerada ilegítima por autoridade da localidade que o Usuário acessa a\n Plataforma ou que mantém vínculo, as demais condições permanecerão em\n pleno vigor e efeito até segunda ordem\n

\n

\n

\n

\n 5.3 A InvestPlus poderá alterar os critérios de\n elegibilidade de sua Plataforma ou da realização de atividades nela a\n qualquer momento. Também, possui a faculdade de se recusar a conceder\n conta de acesso a qualquer pessoa ou entidade que tiver descumprido\n previamente os Termos de Uso ou documento legal da Plataforma e teve sua\n conta de acesso suspensa, excluída ou banida por esta razão.\n

\n

\n

\n

6. LEI APLICÁVEL E JURISDIÇÃO

\n

\n

\n

\n 6.1 Os Termos e Condições de Uso aqui descritos são\n interpretados segundo a legislação brasileira, no idioma português, sendo\n eleito o Foro da Comarca de Uberlândia no Estado de Minas Gerais para\n dirimir qualquer litígio, questão ou dúvida superveniente, com expressa\n renúncia de qualquer outro, por mais privilegiado que seja.\n

\n

\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.css']\n})\nexport class LoaderComponent implements OnInit {\n\n @Input() loader: any;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n
","import { Component, OnInit, ElementRef } from \"@angular/core\";\n\n@Component({\n selector: \"modal\",\n templateUrl: \"./modal.component.html\",\n styleUrls: [\"./modal.component.css\"],\n})\nexport class ModalComponent implements OnInit {\n constructor(private el: ElementRef) {}\n\n ngOnInit() {\n const background = this.el.nativeElement.querySelector(\".mmodal-background\");\n const closeButton = this.el.nativeElement.querySelector(\".mmodal-close\");\n\n if (background) {\n background.addEventListener(\"click\", () => {\n this.close();\n });\n }\n\n if (closeButton) {\n closeButton.addEventListener(\"click\", () => {\n this.close();\n });\n }\n }\n\n close() {\n this.el.nativeElement.classList.remove(\"sshow\");\n this.el.nativeElement.classList.add(\"hhidden\");\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n
\n","import {\n Component,\n OnInit,\n AfterViewInit,\n Input,\n OnDestroy\n} from '@angular/core';\nimport {\n Chart\n} from 'chart.js';\n\n@Component({\n selector: 'app-radar',\n templateUrl: './radar.component.html',\n styleUrls: ['./radar.component.css']\n})\nexport class RadarComponent implements OnInit, AfterViewInit, OnDestroy {\n\n myChart = Chart;\n id: any;\n\n @Input() type: string;\n @Input() labels: any;\n @Input() label: any;\n @Input() borderColor: any;\n @Input() data: any;\n @Input() options: any;\n @Input() borderWidth: any;\n @Input() width: number;\n @Input() height: number;\n\n constructor() {}\n\n ngOnInit() {\n this.id = 'myChart' + new Date().getTime();\n }\n\n ngAfterViewInit() {\n this.dashboard();\n }\n\n ngOnDestroy() {\n this.myChart.destroy();\n }\n\n dashboard() {\n this.myChart = new Chart(this.id, {\n type: this.type,\n data: this.dataDashboard(),\n options: this.options\n });\n }\n\n dataDashboard() {\n const $this = this;\n const dataset = {\n labels: $this.labels,\n datasets: [{\n label: $this.label,\n data: $this.data,\n borderWidth: $this.borderWidth,\n borderColor: $this.borderColor\n }]\n };\n const data = dataset;\n return data;\n }\n}\n","
\n \n
","import { Component, OnInit, Input, forwardRef } from '@angular/core';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {RadioOption} from './radio-option.model';\n\n@Component({\n selector: 'app-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ]\n})\nexport class RadioComponent implements OnInit, ControlValueAccessor {\n\n @Input() options: RadioOption[];\n\n value: any;\n span: any;\n onChange: any;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n setValue(value: any) {\n this.value = value;\n this.onChange(this.value);\n }\n\n writeValue(obj: any): void {\n this.value = obj;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n }\n setDisabledState?(isDisabled: boolean): void {\n }\n\n}\n","
\n \n
","import { FileDropComponent } from './file-drop/file-drop.component';\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormComponent } from \"./form/form.component\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { LoaderComponent } from \"./loader/loader.component\";\nimport { RadioComponent } from \"./radio/radio.component\";\nimport { CountComponent } from \"./count/count.component\";\nimport { ToastrComponent } from \"./toastr/toastr.component\";\nimport { TableComponent } from \"./table/table.component\";\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\nimport { ChartjsComponent } from \"./chartjs/chartjs.component\";\nimport { TChartjsComponent } from \"./t-chartjs/t-chartjs.component\";\nimport { RadarComponent } from \"./radar/radar.component\";\nimport { DoughnutComponent } from \"./doughnut/doughnut.component\";\nimport { BarComponent } from \"./bar/bar.component\";\nimport { GeneralTerms } from \"./general-terms/general-terms.component\";\nimport { ModalComponent } from \"./modal/modal.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgxDatatableModule],\n declarations: [\n FormComponent,\n LoaderComponent,\n RadioComponent,\n CountComponent,\n ToastrComponent,\n TableComponent,\n ChartjsComponent,\n TChartjsComponent,\n RadarComponent,\n DoughnutComponent,\n BarComponent,\n GeneralTerms,\n ModalComponent,\n FileDropComponent\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n FormComponent,\n LoaderComponent,\n RadioComponent,\n CountComponent,\n TableComponent,\n ChartjsComponent,\n TChartjsComponent,\n RadarComponent,\n DoughnutComponent,\n BarComponent,\n GeneralTerms,\n ModalComponent,\n FileDropComponent\n ],\n})\nexport class ShareModule {}\n","import { Component, OnInit, AfterViewInit, Input, ViewChild, ElementRef, OnDestroy } from '@angular/core';\nimport { Chart } from 'chart.js';\n\n@Component({\n selector: 'app-t-chartjs',\n templateUrl: './t-chartjs.component.html',\n styleUrls: ['./t-chartjs.component.css']\n})\nexport class TChartjsComponent implements OnInit, AfterViewInit, OnDestroy {\n\n myChart = Chart;\n ctx: any;\n id: any;\n yAxesConfigMoney: any;\n\n @Input() type: string;\n @Input() labels: any;\n @Input() label1: any;\n @Input() label2: any;\n @Input() label3: any;\n @Input() backgroundColor: any;\n @Input() borderColor1: any;\n @Input() borderColor2: any;\n @Input() borderColor3: any;\n @Input() data1: any;\n @Input() data2: any;\n @Input() data3: any;\n @Input() config: any;\n @Input() options: any;\n @Input() borderWidth: any;\n @Input() fill: boolean;\n @Input() yAxes: any;\n @Input() width: number;\n @Input() height: number;\n\n constructor() { }\n\n ngOnInit() {\n this.id = 'myChart' + new Date().getTime();\n }\n\n ngAfterViewInit() {\n this.dashboard();\n }\n\n ngOnDestroy() {\n this.myChart.destroy();\n }\n\n dashboard() {\n this.myChart = new Chart(this.id, {\n type: this.type,\n data: this.dataDashboard(),\n options: this.optionsDashboard()\n });\n }\n\n dataDashboard() {\n const $this = this;\n const dataset = {\n labels: $this.labels,\n datasets: [\n {\n label: $this.label1,\n backgroundColor: $this.backgroundColor,\n borderColor: $this.borderColor1,\n data: $this.data1,\n borderWidth: $this.borderWidth,\n fill: $this.fill\n },\n {\n label: $this.label2,\n backgroundColor: $this.backgroundColor,\n borderColor: $this.borderColor2,\n data: $this.data2,\n borderWidth: $this.borderWidth,\n fill: $this.fill\n },\n {\n label: $this.label3,\n backgroundColor: $this.backgroundColor,\n borderColor: $this.borderColor3,\n data: $this.data3,\n borderWidth: $this.borderWidth,\n fill: $this.fill\n }\n ]\n };\n const data = dataset;\n return data;\n }\n\n optionsDashboard() {\n const $this = this;\n let options = new Object();\n\n if (this.yAxes === 'money') {\n\n options = {\n responsive: true,\n legend: {\n display: false\n },\n animation: {\n animateScale: true,\n animateRotate: true,\n duration: 4000\n },\n tooltips: {\n mode: 'index',\n intersect: false,\n callbacks: {\n label: function(t, d) {\n const xLabel = d.datasets[t.datasetIndex].label;\n const yLabel = t.yLabel;\n return ' R$ ' + yLabel.toFixed(2).replace('.', ',').replace(/(\\d)(?=(\\d{3})+\\,)/g, '$1.');\n }\n }\n },\n hover: {\n mode: 'nearest',\n intersect: true\n },\n scales: {\n yAxes: [{\n ticks: {\n fontSize: 11,\n beginAtZero: true,\n callback: (value, index, values) => {\n return 'R$ ' + value.toFixed(2).replace('.', ',').replace(/(\\d)(?=(\\d{3})+\\,)/g, '$1.');\n }\n }\n }],\n xAxes: [{\n ticks: {\n fontSize: 11\n }\n }]\n }\n };\n } else {\n options = {\n responsive: true,\n animation: {\n animateScale: true,\n animateRotate: true\n },\n tooltips: {\n mode: 'index',\n intersect: false,\n },\n hover: {\n mode: 'nearest',\n intersect: true\n }\n };\n }\n return options;\n }\n}\n","
\n {{ myPieChart }}\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.css']\n})\nexport class TableComponent implements OnInit {\n\n // rows = [\n // { name: 'Austin', gender: 'Male', company: 'Swimlane' },\n // { name: 'Dany', gender: 'Male', company: 'KFC' },\n // { name: 'Molly', gender: 'Female', company: 'Burger King' },\n // ];\n // columns = [\n // { name: 'Name' },\n // { name: 'Gender' },\n // { name: 'Company' }\n // ];\n\n selected = [];\n\n // @Input() routing: String;\n @Input() header: any;\n @Input() rows: any;\n\n constructor(\n private router: Router\n ) { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { toastr } from 'toastr';\n\n\n@Component({\n selector: 'app-toastr',\n templateUrl: './toastr.component.html',\n styleUrls: ['./toastr.component.css']\n})\nexport class ToastrComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n /* production: false,\n url_api: \"http://localhost:8080/api\",\n userPoolId: \"us-east-1_ec2OBxkjT\",\n clientId: \"69137gvu1cfd7r2gkg6fva0n77\",\n region: \"us-east-1\",\n bucketRegion: \"us-east-1\",\n identityPoolId: \"\",\n rekognitionBucket: \"rekognition-pics\",\n albumName: \"usercontent\",\n ddbTableName: \"LoginTrail\",\n cognito_idp_endpoint: \"\",\n cognito_identity_endpoint: \"\",\n sts_endpoint: \"\",\n dynamodb_endpoint: \"\",\n s3_endpoint: \"\", */\n production: true,\n // url_api: \"https://api.fcjinvest.com.br/api\",\n url_api: \"https://homologinvestplus.investplus.vc/api\",\n // url_api: \"http://localhost:8080/api\",\n userPoolId: \"us-east-2_GAF4pxPcD\",\n clientId: \"3ph8jpuh1f6maiuilank50gbfe\",\n region: \"us-east-2\", \n bucketRegion: \"us-east-2\",\n identityPoolId: \"\",\n rekognitionBucket: \"rekognition-pics\",\n albumName: \"usercontent\",\n ddbTableName: \"LoginTrail\",\n cognito_idp_endpoint: \"\",\n cognito_identity_endpoint: \"\",\n sts_endpoint: \"\",\n dynamodb_endpoint: \"\",\n s3_endpoint: \"\",\n};\n\n// export const environment = {\n// production: true,\n\n// // ---------- Ambiente de Produção ----------\n// url_api: 'https://api.upangel.com.br/api',\n// userPoolId: 'us-east-1_dYGsLZwy7',\n// clientId: '4mm1fhdr3g1meqt3ouc2ohdq0a',\n\n// region: 'us-west-2',\n// bucketRegion: 'us-east-1',\n// identityPoolId: 'us-west-2:1fdc9013-6842-4f51-8950-6a2132b3856b',\n// rekognitionBucket: 'rekognition-pics',\n// albumName: 'usercontent',\n// ddbTableName: 'LoginTrail',\n// cognito_idp_endpoint: '',\n// cognito_identity_endpoint: '',\n// sts_endpoint: '',\n// dynamodb_endpoint: '',\n// s3_endpoint: ''\n// };\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":[],"sourceRoot":"webpack:///"}