{"version":3,"sources":["./src/app/shared/componentes/sec-add/sec-add.component.ts","./src/app/shared/services/aplicacao/aplicacao.service.ts","./src/app/shared/servicos/cliente.service.ts","./src/app/shared/services/contacto/contacto.service.ts","./src/app/shared/common/partials/pagina-intro/pagina-intro.component.ts","./src/environments/environment.ts","./src/app/core/pipes/ordenar-data.pipe.ts","./src/app/shared/config/app.config.ts","./src/app/shared/modelos/contacto/lista-contacto.ts","./src/app/shared/componentes/loader/loader.component.ts","./src/app/core/pipes/ordenar-eventos-data.pipe.ts","./src/app/shared/services/data-store/data-store.service.ts","./src/app/core/pipes/safe.pipe.ts","./src/app/core/pipes/take-active-item.pipe.ts","./src/app/shared/componentes/form-inscricao/form-inscricao.component.ts","./src/app/shared/componentes/form-inscricao/form-inscricao.component.html","./src/app/shared/common/partials/sec-head/sec-head.component.ts","./src/app/shared/componentes/partial-parceiros/partial-parceiros.component.ts","./src/app/shared/componentes/app-download/app-download.component.ts","./src/app/shared/componentes/app-download/app-download.component.html","./src/app/shared/common/partials/partial.module.ts","./src/app/core/servicos/registo.service.ts","./src/app/core/pipes/tipo-ficheiro.pipe.ts","./src/app/core/pipes/quebrar-texto.pipe.ts","./src/app/core/pipes/ordenar.pipe.ts","./src/app/core/pipes/pipe.module.ts","./src/app/shared/common/partials/slider-parceiros/slider-parceiros.component.ts","./src/app/core/pipes/filtrar-clientes-destaque.pipe.ts","./src/app/shared/core/servicos/comunicacao-service.ts","./src/app/core/pipes/space-to-underscore.pipe.ts","./src/app/shared/services/data-store/parceiros-store.service.ts","./src/app/app-routing.module.ts","./src/app/core/servicos/suporte.service.ts","./src/app/shared/componentes/navbar/navbar.component.html","./src/app/shared/componentes/navbar/navbar.component.ts","./src/app/shared/componentes/rodape/rodape.component.html","./src/app/shared/componentes/rodape/rodape.component.ts","./src/app/app.component.ts","./src/app/shared/modulos/shared.module.ts","./src/app/app.module.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":["SecAddComponent","titulo","mostrar","this","emit","FormularioInscricaoComponent","fb","candidaturas","fechar","formInscricao","group","nome","email","telefone","modalidades","AplicacaoService","http","baseUrlCMS","api_fan_cms","idMenu","idbanner","get","trim","pipe","id","provinciaId","idGrupo","codIdioma","registoActivo","ClienteService","parceiros$","afiliados$","api","apiClientes","api_clientes","idEntidade","codigoFiltro","parceiros","next","afiliados","asObservable","ContactoService","redesStore","contactosStore$","sedeStore$","api_cms","redesSociais","contactos","sede","idLocal","modelo","post","PaginaIntroComponent","changes","currentValue","mudarTitulo","BASE_URL","URL_API","environment","production","api_link","api_eventos","api_kiami","cms_url","cms_demo","URLCMSDEMO","localStorage","getItem","codigoAnalitico","website","idUtilizador","idEstadoUtilizador","username","ultimoLogin","OrdenarDataPipe","items","args","itemsOrdenados","length","sort","a","b","dtA","Date","data","getTime","owlCarouselConfig","loop","mouseDrag","touchDrag","pullDrag","dots","navSpeed","autoplay","margin","navText","responsive","0","400","740","940","nav","owlSlideConfig","owlFooterOpcoes","rewind","slideBy","ListaContacto","emails","telemoveis","telefones","fax","LoaderComponent","OrdenarEventosDataPipe","eventos","eventosOrdenados","dataInicio","DataStoreService","redes","clubes","SafePipe","sanitizer","valor","tipo","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","Error","TakeActiveItemPipe","registos","limite","registosActivos","filter","x","destaque","activo","slice","FormInscricaoComponent","comService","btnTexto","inicForm","idRegisto","idFormulario","assunto","mensagem","tipoCliente","idTipoCliente","camposAValidar","campo","value","validarCampos","setValidators","required","pattern","updateValueAndValidity","onlySelf","markAllAsTouched","invalid","estaProcessar","setValue","gravarMsgContacto","subscribe","res","statusCode","msg","notificarCliente","resetState","error","formulario","clearValidators","clearAsyncValidators","markAsUntouched","reset","control","markAsTouched","duracao","setTimeout","spinner","sucesso","limparCampos","fecharModal","fazerInscricao","SecHeadComponent","categoria","inputIdCategoria","idCat","idCategoria","clienteService","opcoes","subParceiros","unsubscribe","AppDownloadComponent","PartialModule","RegistoService","noticias$","estadoRegisto","incluiCamposValor","idArquivo","noticias","TipoFicheiroPipe","arrayStr","extensaoFicheiro","split","console","log","QuebrarTextoPipe","frase","fraseFormata","forEach","item","index","OrdenarPipe","ordem","PipeModule","SliderParceirosComponent","store","opcoesSlider","subscricoes","getParceiros","sb","codFiltro","push","getClientes","objecto","setParceiros","erro","FiltrarClientesDestaquePipe","clientes","idTipo","reverse","ComunicacaoService","SpaceToUnderscorePipe","rgx","RegExp","replace","toLowerCase","ParceirosStoreService","routes","path","redirectTo","pathMatch","loadChildren","then","m","HomeModule","FanModule","NatacaoModule","ComunicacaoModule","ContactosModule","EventosModule","GaleriaModule","ParceirosModule","ClubesModule","AppRoutingModule","forRoot","useHash","anchorScrolling","idArea","idFaq","NavbarComponent","navMobileAberta","e","navbar","document","getElementById","window","pageYOffset","classList","add","remove","mobileNav","contains","abrirNavMobile","fecharNavMobile","contactoService","appService","registoService","listaContactos","links","linksUteis","idGrupoDisciplina","thisYear","getFullYear","disciplinas","getRedesSociais","getAfiliados","getLinksUteis","getDisciplinas","getContactos","getLocais","locais","find","tipoLocal","tipoContacto","getRedesStore","setRedesStore","setAfiliados","getRegistosImgs","getRegistosIcones","sub","router","viewportScroller","suporteService","title","events","position","scrollToPosition","anchor","scrollToAnchor","getConfig","subs","getConfiguracoes","appConfiguracao","objectivo","link","SharedModule","rota","setOffset","provide","useValue","bootstrapModule","catch","err","webpackEmptyAsyncContext","req","Promise","resolve","code","keys","module","exports"],"mappings":"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","file":"main.js","sourcesContent":["import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FormBuilder, FormGroup} from '@angular/forms';\nimport {Seccao} from \"../../../core/entidades/seccao\";\n\n@Component({\n selector: 'app-sec-add',\n template: `\n
\n
\n
\n
\n
\n
\n

Estamos a viver um novo capítulo na história
da natação em Angola.

Você pode fazer parte. Inscreva-se!

\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n
\n \"Add\n
\n
\n
\n
\n
\n `,\n styleUrls: ['./sec-add.component.scss']\n})\nexport class SecAddComponent implements OnInit {\n mostrarModal: boolean;\n @Input() titulo = '';\n @Input() seccaoInscricao: Seccao;\n @Input() seccaoPublicidade: Seccao;\n\n @Output() mostrar = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n abrirModal(): void {\n this.mostrar.emit(true);\n }\n\n}\n\n\n@Component({\n selector: 'app-formulario-inscricao',\n template: `\n `,\n styleUrls: ['./sec-add.component.scss']\n}) export class FormularioInscricaoComponent implements OnInit{\n\n formInscricao: FormGroup;\n mostrarModal: boolean;\n candidaturas = [ 'Filiado', 'Candidato' ];\n @Output() fechar = new EventEmitter();\n\n constructor(private fb: FormBuilder) {}\n ngOnInit(): void {\n this.formInscricao = this.fb.group({\n nome: [],\n email: [],\n telefone: [],\n modalidades: []\n });\n }\n\n\n fecharModal(): void {\n this.fechar.emit(false);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../../../environments/environment';\nimport {Observable} from 'rxjs';\nimport {Banner} from '../../modelos/banner/banner';\nimport {catchError} from 'rxjs/operators';\nimport {Municipio} from '../../modelos/municipio/municipio';\nimport {Provincia} from '../../modelos/provincia/provincia';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AplicacaoService {\n baseUrlCMS: string;\n urlAPI: string;\n constructor(private http: HttpClient) {\n this.baseUrlCMS = environment.api_fan_cms;\n }\n\n getBanners(idMenu: string, idbanner?: number): Observable {\n return this.http\n .get(this.baseUrlCMS + 'BannersAPI/GetBanners?idIdioma=1&idMenu=' + idMenu.trim() + '&idbanner=' + idbanner)\n .pipe(catchError(null));\n }\n\n getBannersAPI(idMenu: string, idbanner?: number): Observable {\n return this.http\n .get(this.baseUrlCMS + 'BannersAPI/GetBanners?idIdioma=1&idMenu=' + idMenu.trim() + '&idbanner=' + idbanner)\n .pipe(catchError(null));\n }\n\n getBanner(idMenu: string, idbanner?: number, id?: number): Observable {\n return this.http\n .get(this.baseUrlCMS + 'BannersAPI/GetBanners?idIdioma=1&idMenu=' + idMenu.trim() + '&idbanner=' + idbanner + '&id=' + id)\n .pipe(catchError(null));\n }\n\n getProvincias(): Observable {\n return this.http\n .get(this.baseUrlCMS + 'LocalizacoesAPI/provincias?id=1').pipe(catchError(null));\n }\n\n getMunicipios(provinciaId?: number): Observable {\n return this.http\n .get(this.baseUrlCMS + 'LocalizacoesAPI/municipios?id=' + provinciaId).pipe(catchError(null));;\n }\n\n getLinksUteis(idGrupo: number, codIdioma: string, registoActivo: boolean): any {\n return this.http.get(this.baseUrlCMS + 'registos/Lista/' + idGrupo + '/' + codIdioma + '/' + registoActivo);\n }\n}\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {environment} from '../../../environments/environment';\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {Cliente} from \"../entidades/cliente\";\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class ClienteService {\r\n api?: string;\r\n apiClientes?: string;\r\n parceiros$ = new BehaviorSubject(null);\r\n afiliados$ = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n this.api = environment.api_fan_cms;\r\n this.apiClientes = environment.api_clientes;\r\n }\r\n\r\n getClientes(idEntidade: number, codigoFiltro: number): any {\r\n // return this.http.post(this.apiClientes + 'clientes/listagem', { IdEntidade: idEntidade, CodigoFiltro: 1, });\r\n return this.http.get(this.apiClientes + 'clientes/listagem/' + idEntidade);\r\n }\r\n\r\n setParceiros(parceiros: any): void {\r\n this.parceiros$.next(parceiros);\r\n }\r\n\r\n setAfiliados(afiliados: any): void {\r\n this.afiliados$.next(afiliados);\r\n }\r\n\r\n getParceiros(): any {\r\n return this.parceiros$.asObservable();\r\n }\r\n\r\n getAfiliados(): any {\r\n return this.afiliados$.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {Contacto} from '../../modelos/contacto/contacto';\nimport {catchError} from 'rxjs/operators';\nimport {environment} from '../../../../environments/environment';\nimport {ListaContacto} from '../../modelos/contacto/lista-contacto';\nimport {RedeSocial} from '../../core/modelos/rede-social';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContactoService {\n baseUrlCMS: string;\n api: string;\n redesStore = new BehaviorSubject(null);\n contactosStore$ = new BehaviorSubject(null);\n sedeStore$ = new BehaviorSubject(null);\n\n constructor(private http: HttpClient) {\n this.baseUrlCMS = environment.api_cms;\n this.api = environment.api_fan_cms;\n }\n\n getRedesSociais(): any{\n return this.http.get(this.api + 'redesSocias');\n }\n setRedesStore(redesSociais: RedeSocial[]): void {\n this.redesStore.next(redesSociais);\n }\n\n setContactosStore(contactos: ListaContacto): void {\n this.contactosStore$.next(contactos);\n }\n\n setSedeStore(sede: any): void {\n this.sedeStore$.next(sede);\n }\n\n sedeStore(): any {\n return this.sedeStore$.asObservable();\n }\n\n contactosStore(): any {\n return this.contactosStore$.asObservable();\n }\n\n getRedesStore(): any {\n return this.redesStore.asObservable();\n }\n\n getLocal(idLocal: number, codIdioma: string): any {\n return this.http.get(this.api + 'locais/local/' + idLocal + '/' + codIdioma);\n }\n getLocais(): any {\n return this.http.get(this.api + 'locais');\n }\n subscreverNewsletter(modelo: any): any{\n return this.http.post(this.api + 'newsletters', modelo);\n }\n\n gravarMsgContacto(modelo: any): any {\n return this.http.post(this.api + 'formulariosRegistos', modelo);\n }\n\n} // Fim do Service //\n","import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\nimport {Banner} from \"../../../entidades/slider\";\n\n@Component({\n selector: 'app-pagina-intro',\n template: `\n
\n
\n
\n
\n
\n

{{banner?.textos[0]?.titulo}}

\n
\n
\n
\n
`,\n styleUrls: ['./pagina-intro.component.scss']\n})\nexport class PaginaIntroComponent implements OnChanges {\n@Input() titulo;\n@Input() banner: Banner;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.titulo && changes.titulo.currentValue) {\n this.mudarTitulo(this.titulo);\n }\n }\n\n mudarTitulo(titulo): void {\n this.titulo = titulo;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n// const BASE_URL = 'https://kiami-back.fanatacao.ao/';\r\nconst BASE_URL = 'https://fanatacao-back.kiami.ao/';\r\nconst URLCMSDEMO = 'https://appdemo.kiami.ao/';\r\nconst URL_API = BASE_URL + 'cms/api/v1/';\r\nconst URL_CMS = BASE_URL + 'cms/api/v1/';\r\nconst URL_EVE = BASE_URL + 'eve/api/v1/';\r\nconst URL_CLI = BASE_URL + 'apl/api/v1/';\r\n\r\nexport const environment = {\r\n production: false,\r\n api_link: URL_API,\r\n api_eventos: URL_EVE,\r\n api_clientes: URL_CLI,\r\n api_cms: URL_CMS,\r\n api_kiami: URL_API,\r\n api_fan_cms: URL_API,\r\n cms_url: URL_API,\r\n cms_demo: URLCMSDEMO + 'cms/api/v1/',\r\n codIdioma: localStorage.getItem('fan_lng') ?? 'pt',\r\n codigoAnalitico: 'G-8D0VEFHY4F',\r\n website: {\r\n idUtilizador: 5,\r\n idEstadoUtilizador: 1,\r\n username: 'website',\r\n email: 'websessao@websessao.com',\r\n nome: 'Utilizador Sessão Website',\r\n ultimoLogin: null\r\n }\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n// Local environment //\r\n","// @ts-ignore\r\n\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'ordernarData'})\r\nexport class OrdenarDataPipe implements PipeTransform {\r\n constructor() {\r\n }\r\n\r\n public transform(items: any, ...args): any {\r\n let itemsOrdenados: any[] = [];\r\n if (items && items.length > 0) {\r\n\r\n itemsOrdenados = items.sort((a, b) => {\r\n const dtA = new Date(a.data).getTime();\r\n const dtB = new Date(b.data).getTime();\r\n return dtB > dtA ? 1 : -1;\r\n });\r\n }\r\n return itemsOrdenados;\r\n }\r\n\r\n\r\n}\r\n\r\n","import {OwlOptions} from 'ngx-owl-carousel-o';\r\n\r\nexport const owlHeroConfig: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navSpeed: 700,\r\n autoplay: true,\r\n margin: 0,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 1\r\n },\r\n 940: {\r\n items: 1\r\n },\r\n 1400: {\r\n items: 1\r\n }\r\n },\r\n nav: true\r\n};\r\n\r\n\r\nexport const owlCarouselConfig: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navSpeed: 700,\r\n autoplay: true,\r\n margin: 0,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 2\r\n },\r\n 940: {\r\n items: 2\r\n }\r\n },\r\n nav: true\r\n};\r\n\r\n\r\nexport const owlParceirosConfig: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navSpeed: 700,\r\n autoplay: true,\r\n margin: 0,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 2\r\n },\r\n 940: {\r\n items: 2\r\n }\r\n },\r\n nav: true\r\n};\r\n\r\nexport const owlSlideConfig: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navSpeed: 2000,\r\n autoplay: true,\r\n nav: true,\r\n margin: 10,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 2\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n\r\n};\r\n\r\nexport const owlFooterOpcoes: OwlOptions = {\r\n loop: false,\r\n rewind: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n nav: true,\r\n dots: false,\r\n navSpeed: 2000,\r\n autoplay: true,\r\n margin: 15,\r\n slideBy: 2,\r\n navText: ['',''],\r\n responsive: {\r\n 0: {\r\n items: 3\r\n },\r\n 400: {\r\n items: 4\r\n },\r\n 740: {\r\n items: 4\r\n },\r\n 940: {\r\n items: 6\r\n }\r\n },\r\n // nav: true\r\n};\r\n","import {Contacto} from './contacto';\r\n\r\nexport class ListaContacto {\r\n constructor(\r\n public emails?: Contacto[],\r\n public telemoveis?: Contacto[],\r\n public telefones?: Contacto[],\r\n public fax?: Contacto[],\r\n ) {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-loader',\n template: `\n
\n

A carregar, por favor aguarde ....

\n
,\n `,\n styles: [\n `\n .lds-ripple {\n display: inline-block;\n position: relative;\n width: 100px;\n height: 100px;\n }\n .lds-ripple div {\n position: absolute;\n border: 4px solid #092f49;\n opacity: 1;\n border-radius: 50%;\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n }\n .lds-ripple div:nth-child(2) {\n animation-delay: -0.5s;\n }\n @keyframes lds-ripple {\n 0% {\n top: 36px;\n left: 36px;\n width: 0;\n height: 0;\n opacity: 1;\n }\n 100% {\n top: 0px;\n left: 0px;\n width: 72px;\n height: 72px;\n opacity: 0;\n }\n }\n `\n ]\n})\nexport class LoaderComponent {\n constructor() { }\n}\n","// @ts-ignore\r\n\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {Evento} from \"../entidades/evento\";\r\n\r\n@Pipe({\r\n name: 'ordernarEventosPorData',\r\n pure: true\r\n})\r\nexport class OrdenarEventosDataPipe implements PipeTransform {\r\n constructor() {}\r\n\r\n public transform(eventos: Evento[], ...args): any {\r\n let eventosOrdenados: any[] = [];\r\n if (eventos && eventos.length > 0) {\r\n eventosOrdenados = eventos.sort((a, b) => {\r\n const dtA = new Date(a.dataInicio).getTime();\r\n const dtB = new Date(b.dataInicio).getTime();\r\n return dtB > dtA ? 1 : -1;\r\n // return dtA - dtB;\r\n });\r\n }\r\n return eventosOrdenados;\r\n }\r\n\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {Contacto} from '../../modelos/contacto/contacto';\r\nimport {RedesSociais} from '../../modelos/redes-sociais/redes-sociais';\r\nimport {Cliente} from \"../../modelos/cliente/cliente\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataStoreService {\r\ncontactos = new BehaviorSubject(null);\r\nredes = new BehaviorSubject(null);\r\nclubes = new BehaviorSubject(null);\r\n\r\n constructor() { }\r\n\r\n setContactosData(contactos: Contacto[]): void{\r\n this.contactos.next(contactos);\r\n }\r\n setClubesData(clubes: Cliente[]): void{\r\n this.clubes.next(clubes);\r\n }\r\n getClubesData(): Observable{\r\n return this.clubes.asObservable();\r\n }\r\n\r\n getContactosData(): Observable{\r\n return this.contactos.asObservable();\r\n }\r\n\r\n setRedesData(redes: RedesSociais): void{\r\n this.redes.next(redes);\r\n }\r\n getRedesData(): Observable{\r\n return this.redes.asObservable();\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe',\n pure: true,\n})\nexport class SafePipe implements PipeTransform {\nconstructor(protected sanitizer: DomSanitizer) {\n}\n public transform(valor: any, tipo: string): SafeHtml | SafeStyle | SafeUrl| SafeResourceUrl | SafeScript {\n switch (tipo) {\n case 'html' : return this.sanitizer.bypassSecurityTrustHtml(valor);\n case 'style' : return this.sanitizer.bypassSecurityTrustStyle(valor);\n case 'script' : return this.sanitizer.bypassSecurityTrustScript(valor);\n case 'url' : return this.sanitizer.bypassSecurityTrustUrl(valor);\n case 'resourceUrl' : return this.sanitizer.bypassSecurityTrustResourceUrl(valor);\n default: throw new Error('Tipo invalido : ${tipo}');\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {Registo} from '../entidades/registo';\r\n\r\n@Pipe({\r\n name: 'takeActiveItem'\r\n})\r\nexport class TakeActiveItemPipe implements PipeTransform {\r\nconstructor() {\r\n}\r\n public transform(registos: Registo[], limite?: number): any {\r\n let registosActivos: Registo[] = [];\r\n if(registos && registos.length > 0) {\r\n registosActivos = registos.filter((x) => x.destaque === true && x.activo === true);\r\n }\r\n if (limite && limite > 0){\r\n return registosActivos.slice(0, limite);\r\n } else {\r\n return registosActivos;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {Form, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\nimport {ContactoService} from \"../../services/contacto/contacto.service\";\nimport {ComunicacaoService} from \"../../core/servicos/comunicacao-service\";\nimport {environment} from \"../../../../environments/environment\";\n\n@Component({\n selector: 'app-form-inscricao',\n templateUrl: './form-inscricao.component.html',\n styleUrls: ['./form-inscricao.component.scss']\n})\nexport class FormInscricaoComponent implements OnInit {\n formInscricao: FormGroup;\n btnTexto = 'Inscrever-se';\n estaProcessar: boolean;\n spinner: boolean;\n codIdioma = environment.codIdioma;\n candidaturas = [{id: 2, nome: 'Filiado'}, {id: 1, nome: 'Associado'}, {id: 3, nome: 'Parceiro'} ];\n @Output() fechar = new EventEmitter();\n\n constructor(private fb: FormBuilder, private comService: ComunicacaoService) {\n this.formInscricao = this.inicForm();\n }\n ngOnInit(): void {}\n\n inicForm(): FormGroup {\n return this.fb.group({\n idRegisto: [0],\n idFormulario: [7],\n codIdioma: [this.codIdioma],\n nome: [''],\n email: [''],\n telefone: [''],\n assunto: [''],\n mensagem: [''],\n tipoCliente: [''],\n idTipoCliente: [''],\n });\n\n }\n\n fazerInscricao(): any{\n const camposAValidar = ['nome', 'email', 'tipoCliente'];\n for (const campo of camposAValidar) {\n if (!this.formInscricao.get(campo).value) {\n this.validarCampos(campo, this.formInscricao);\n }\n if (campo === 'email' && !this.formInscricao.get('email').value) {\n this.formInscricao.get('email').setValidators([Validators.required, Validators.email,\n Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]);\n this.formInscricao.get('email').updateValueAndValidity({onlySelf: true});\n this.formInscricao.get('email').markAllAsTouched();\n }\n }\n\n if (this.formInscricao.invalid){return; }\n\n this.estaProcessar = true;\n this.formInscricao.get('assunto').setValue('Inscrição para ' + this.formInscricao.get('tipoCliente').value);\n let modelo = this.formInscricao.value;\n // modelo.mensagem = '

Nome: ' + this.formInscricao.value.nome + '

' + '

Email: ' + this.formInscricao.value.email + '

' + '

Telefone: ' + this.formInscricao.value.telefone + '

' + '

' + this.formInscricao.value.mensagem + '

';\n modelo.mensagem = '

' + this.formInscricao.value.mensagem + '

';\n this.comService.gravarMsgContacto(modelo).subscribe(res => {\n if (res.statusCode === 201){\n const msg = 'A sua mensagem foi enviada com sucesso!';\n this.notificarCliente(msg, 3000);\n this.resetState(msg, true);\n }\n\n this.estaProcessar = false;\n }, (error) => {\n this.notificarCliente('Falha ao enviar a mensagem, por favor tente mais tarde!', 3000);\n });\n }\n\n limparCampos(formulario: FormGroup): void {\n formulario.clearValidators();\n formulario.clearAsyncValidators();\n formulario.markAsUntouched({onlySelf: true});\n formulario.updateValueAndValidity({onlySelf: true});\n formulario.get('nome').reset();\n formulario.get('email').reset();\n formulario.get('telefone').reset();\n formulario.get('assunto').reset();\n formulario.get('mensagem').reset();\n }\n validarCampos(control, formulario: FormGroup): boolean {\n if (control !== 'email') {\n formulario.get(control).setValidators([Validators.required]);\n formulario.get(control).updateValueAndValidity();\n formulario.get(control).markAsTouched({onlySelf: true});\n }\n return;\n }\n\n fecharModal(): void {\n this.fechar.emit(false);\n }\n\n notificarCliente(msg: string, duracao?: number): any {\n this.btnTexto = msg;\n setTimeout(() => {\n this.btnTexto = 'Inscrever-se';\n this.spinner = false;\n }, duracao);\n }\n\n resetState(msg: any, sucesso: boolean): void {\n // this.statusMessage = msg;\n // this.loading = false;\n this.estaProcessar = false;\n setTimeout(() => {\n // this.statusMessage = null;\n if (sucesso) {this.limparCampos(this.formInscricao); }\n }, 3000);\n }\n\n}\n","
\n
\n
\n \n
\n
\n
\n\n
\n

Formulário de inscrição

\n
\n
\n
\n\n
\n
\n
\n \n \n \n
\n Escreva o nome\n
\n \n
\n
\n \n \n \n
\n Escreva um e-mail\n Escreva um e-mail valido\n
\n \n
\n
\n \n \n \n
\n Escreva um número de telefone\n
\n \n
\n
\n \n \n \n
\n Seleccione uma opção\n
\n \n
\n
\n \n
\n\n
\n
\n
\n\n
\n
\n
\n","import {Component, Input, Output, OnInit, EventEmitter} from '@angular/core';\n\n@Component({\n selector: 'app-sec-head',\n template: `\n
\n
\n
\n
\n
\n
\n
\n
\n
\n `,\n styleUrls: ['./sec-head.component.scss']\n})\nexport class SecHeadComponent implements OnInit {\n@Input() categorias: any;\n@Input() inputIdCategoria;\n@Input() titulo;\n@Input() subTitulo;\n@Input() linkTodas;\n@Output() categoria: EventEmitter = new EventEmitter();\nidCat: number;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.inputIdCategoria){\n this.idCat = this.inputIdCategoria;\n }\n }\n\nfiltrarCategoria(categoria?: any): void{\n if (categoria.idCategoria > 0){\n this.idCat = categoria.idCategoria;\n this.categoria.emit(categoria);\n } else {\n this.idCat = null;\n this.categoria.emit('todos');\n }\n}\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {Cliente} from '../../modelos/cliente/cliente';\nimport {Subscription} from 'rxjs';\nimport {owlFooterOpcoes} from '../../config/app.config';\nimport {ClienteService} from '../../servicos/cliente.service';\n\n@Component({\n selector: 'app-partial-parceiros',\n template: `\n
\n
\n
\n
\n
\n
    \n
  • \n \n
  • \n
  • \n Todos\n
  • \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"{{parceiro.nome}}\"\n
\n
\n
\n
\n
\n
\n `,\n styleUrls: ['./partial-parceiros.component.scss']\n})\nexport class PartialParceirosComponent implements OnInit, OnDestroy {\n parceiros: Cliente[] = [];\n subParceiros: Subscription;\n opcoes = owlFooterOpcoes;\n constructor(private clienteService: ClienteService) { }\n\n ngOnInit(): void { }\n ngOnDestroy(): void {\n if (this.subParceiros){\n this.subParceiros.unsubscribe();\n }\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-app-download',\n templateUrl: './app-download.component.html',\n styleUrls: ['./app-download.component.scss']\n})\nexport class AppDownloadComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n

Quer aprender sem sair de casa? Baixe os\n aplicaticativos da FINA e Swim Mobile

\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {SecHeadComponent} from './sec-head/sec-head.component';\nimport {\n FormularioInscricaoComponent,\n SecAddComponent\n} from '../../componentes/sec-add/sec-add.component';\nimport {PaginaIntroComponent} from './pagina-intro/pagina-intro.component';\n\nimport {RouterModule} from '@angular/router';\nimport {PartialParceirosComponent} from '../../componentes/partial-parceiros/partial-parceiros.component';\nimport {AppDownloadComponent} from '../../componentes/app-download/app-download.component';\nimport {LoaderComponent} from '../../componentes/loader/loader.component';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {FormInscricaoComponent} from '../../componentes/form-inscricao/form-inscricao.component';\nimport {CarouselModule} from \"ngx-owl-carousel-o\";\nimport {SliderParceirosComponent} from \"./slider-parceiros/slider-parceiros.component\";\nimport {PipeModule} from \"../../../core/pipes/pipe.module\";\n\n\nconst componentes = [\n SecHeadComponent,\n SecAddComponent,\n FormInscricaoComponent,\n FormularioInscricaoComponent,\n AppDownloadComponent,\n PaginaIntroComponent,\n PartialParceirosComponent,\n LoaderComponent,\n SliderParceirosComponent\n];\n\n@NgModule({\n declarations: componentes,\n exports: componentes,\n imports: [\n CommonModule,\n RouterModule,\n ReactiveFormsModule,\n CarouselModule,\n PipeModule\n ]\n})\nexport class PartialModule { }\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {Registo} from '../entidades/registo';\r\nimport {environment} from \"../../../environments/environment\";\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RegistoService{\r\n api?: string;\r\n codIdioma = environment.codIdioma;\r\n noticias$ = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n this.api = environment.api_fan_cms;\r\n }\r\n\r\n getRegisto(idRegisto?: number): any {\r\n return this.http.get(this.api + 'registos/registo/' + idRegisto + '/' + this.codIdioma + '/true');\r\n }\r\n\r\n getTodosRegistos(): any {\r\n return this.http.get(this.api + 'registos/Listagem/' + this.codIdioma + '/true' );\r\n }\r\n\r\n getRegistosPorGrupo(idGrupo: number, estadoRegisto: boolean): any {\r\n return this.http.get(this.api + 'registos/' + idGrupo + '/' + this.codIdioma + '/' + estadoRegisto);\r\n }\r\n\r\n getRegistosIcones(idGrupo: number): any {\r\n return this.http.get(this.api + 'registos/ListarIcone/' + idGrupo + '/' + this.codIdioma);\r\n }\r\n getRegIconesConteudos(idGrupo: number): any {\r\n return this.http.get(this.api + 'registos/ListarIconeConteudo/' + idGrupo + '/' + this.codIdioma);\r\n }\r\n\r\n getListaRegistos(idGrupo: number, incluiCamposValor: boolean): any {\r\n return this.http.get(this.api + 'registos/Lista/' + idGrupo + '/' + this.codIdioma + '/' + incluiCamposValor);\r\n }\r\n\r\n getRegistosImgs(idGrupo: number): any {\r\n return this.http.get(this.api + 'registos/ListarImagem/' + idGrupo + '/' + this.codIdioma);\r\n }\r\n\r\n getTiposGrupo(idGrupo: number): any {\r\n return this.http.get(this.api + 'gruposTipos/' + idGrupo + '/' + this.codIdioma);\r\n }\r\n\r\n downloadAnexo(idArquivo: number): any {\r\n return this.http.get(this.api + 'arquivos/' + idArquivo);\r\n }\r\n\r\n setNoticiasStore(noticias: Registo[]): any {\r\n this.noticias$.next(noticias);\r\n }\r\n\r\n getNoticiasStore(): any {\r\n return this.noticias$.asObservable();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'tipoFicheiro'\r\n})\r\nexport class TipoFicheiroPipe implements PipeTransform {\r\nconstructor() {\r\n}\r\n public transform(valor: any): any {\r\n let arrayStr = '';\r\n let extensaoFicheiro = '';\r\n if (valor) {\r\n // tipoFicheiro = primeiraParte.split('/')[1];\r\n arrayStr = valor.split('.');\r\n extensaoFicheiro = arrayStr[1];\r\n console.log('Split Length: ', extensaoFicheiro.length);\r\n switch (extensaoFicheiro) {\r\n case 'pdf': return 'assets/images/icons/file_pdf_red.svg';\r\n case 'msword': return 'assets/images/file-types/005-documents.svg';\r\n case 'vnd.openxmlformats-officedocument.wordprocessingml.document': return 'assets/images/icons/word-icon.svg';\r\n // Ficheiro do Excel\r\n case 'vnd.openxmlformats-officedocument.spreadsheetml.sheet': return 'assets/images/icons/xcel-icon.svg';\r\n // Ficheiro do PowerPoint\r\n case 'vnd.openxmlformats-officedocument.presentationml.presentation': return 'assets/images/icons/powerpoint-icon.svg';\r\n case 'jpeg': return 'assets/images/icons/ficheiros/_icon_red_1.svg';\r\n case 'jpg': return 'assets/images/icons/ficheiros/_icon_red_1.svg';\r\n case 'png': return 'assets/images/icons/ficheiros/_icon_red_2.svg';\r\n case 'svg': return 'assets/images/icons/ficheiros/_icon_red_1.svg';\r\n case 'webp': return 'assets/images/icons/ficheiros/_icon_red_1.svg';\r\n default: return 'assets/images/icons/file_pdf_red.svg';\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'quebrar'\r\n})\r\nexport class QuebrarTextoPipe implements PipeTransform {\r\n\r\n public transform(valor: any): any {\r\n if (typeof(valor) === 'string') {\r\n const frase = valor.split('\\n');\r\n console.log('Valor: ', valor)\r\n let fraseFormata = '';\r\n frase.forEach((item, index) => {\r\n if (index < frase.length - 2) {\r\n fraseFormata += item + '
';\r\n } else {fraseFormata += item; }\r\n });\r\n return fraseFormata;\r\n\r\n } else {\r\n return valor;\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ordenar'\r\n})\r\nexport class OrdenarPipe implements PipeTransform {\r\nconstructor() {\r\n}\r\n public transform(items: any[]): any {\r\n let itemsOrdenados: any[] = [];\r\n if (items.length > 0) {\r\n itemsOrdenados = items.sort((a, b) => a.ordem - b.ordem);\r\n }\r\n return itemsOrdenados;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { SafePipe } from './safe.pipe';\r\nimport { SpaceToUnderscorePipe } from './space-to-underscore.pipe';\r\nimport {TipoFicheiroPipe} from './tipo-ficheiro.pipe';\r\nimport {QuebrarTextoPipe} from './quebrar-texto.pipe';\r\nimport { TakeActiveItemPipe } from './take-active-item.pipe';\r\nimport { OrdenarPipe } from './ordenar.pipe';\r\nimport {OrdenarDataPipe} from './ordenar-data.pipe';\r\nimport {FiltrarClientesDestaquePipe} from './filtrar-clientes-destaque.pipe';\r\nimport {OrdenarEventosDataPipe} from './ordenar-eventos-data.pipe';\r\nconst filtros = [SpaceToUnderscorePipe, SafePipe, TipoFicheiroPipe, QuebrarTextoPipe, TakeActiveItemPipe, OrdenarPipe,\r\n OrdenarDataPipe, FiltrarClientesDestaquePipe, OrdenarEventosDataPipe];\r\n\r\n@NgModule({\r\n declarations: filtros,\r\n imports: [],\r\n exports: filtros\r\n})\r\nexport class PipeModule {}\r\n","import {Component, Input, OnDestroy, OnInit} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {owlFooterOpcoes} from '../../../config/app.config';\nimport {ClienteService} from '../../../servicos/cliente.service';\nimport {ParceirosStoreService} from '../../../services/data-store/parceiros-store.service';\nimport {Cliente} from \"../../../entidades/cliente\";\nimport {OwlOptions} from \"ngx-owl-carousel-o\";\n\n\n@Component({\n selector: 'app-slider-parceiros',\n template: `\n
\n
\n
\n
\n
\n
    \n
  • \n \n
  • \n
  • \n \n Ver todos\n \n \n
  • \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n
{{parceiro?.nome}}
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n
{{parceiro?.nome}}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n `,\n styleUrls: ['./slider-parceiros.component.scss']\n})\nexport class SliderParceirosComponent implements OnInit, OnDestroy {\n opcoesSlider: OwlOptions = {\n rewind: true,\n mouseDrag: true,\n touchDrag: true,\n pullDrag: true,\n dots: false,\n navSpeed: 2000,\n autoplay: true,\n margin: 15,\n nav: true,\n navText: ['', ''],\n responsive: {\n 0: {\n items: 3\n },\n 400: {\n items: 4\n },\n 740: {\n items: 4\n },\n 940: {\n items: 4\n }\n },\n // nav: true\n };\n parceiros: Cliente[] = [];\n @Input() tituloSeccao;\n opcoes = owlFooterOpcoes;\n private subscricoes: Subscription[] = [];\n constructor(private clienteService: ClienteService, private store: ParceirosStoreService) { }\n\n ngOnInit(): void { this.getParceiros(2, 1); }\n\n ngOnDestroy(): void {\n if (this.subscricoes.length > 0){\n this.subscricoes.forEach(sb => {\n sb.unsubscribe();\n });\n }\n }\n\n getParceiros(idEntidade: number, codFiltro: number): any {\n this.subscricoes.push(\n this.clienteService.getClientes(idEntidade, codFiltro).subscribe({\n next: (res: any) => {\n this.parceiros = res.objecto;\n this.clienteService.setParceiros(res.objecto);\n },\n error: (erro: any) => {\n console.log('Erro ao buscar clientes');\n }\n })\n );\n this.subscricoes.push(\n this.clienteService.getParceiros().subscribe(store => {\n if (store) {\n // this.parceiros = store;\n } else {\n\n }\n })\n );\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {Cliente} from \"../../shared/entidades/cliente\";\r\n\r\n@Pipe({\r\n name: 'clienteDestaque',\r\n pure: true\r\n})\r\nexport class FiltrarClientesDestaquePipe implements PipeTransform {\r\nconstructor() {\r\n}\r\n public transform(clientes: Cliente[], destaque?: boolean): any {\r\n if (clientes && clientes.length > 0) {\r\n if (destaque){\r\n let clientesAtivos: Cliente[] = clientes.filter((x) => x.idTipo && x.idTipo === 3);\r\n return clientesAtivos.reverse();\r\n } else {\r\n return clientes.filter((x) => x.idTipo !== 3);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {RedeSocial} from '../modelos/rede-social';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ComunicacaoService {\r\n api: string;\r\n redesStore = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n // this.api = environment.api_link;\r\n // this.api = environment.api_kiami;\r\n this.api = environment.api_fan_cms;\r\n }\r\n\r\n getRedesSociais(): any{\r\n return this.http.get(this.api + 'redesSocias');\r\n }\r\n setRedesStore(redesSociais: RedeSocial[]): void {\r\n this.redesStore.next(redesSociais);\r\n }\r\n getRedesStore(): any {\r\n return this.redesStore.asObservable();\r\n }\r\n\r\n getLocal(idLocal: number, codIdioma: string): any {\r\n return this.http.get(this.api + 'locais/local/' + idLocal + '/' + codIdioma);\r\n }\r\n getLocais(): any {\r\n return this.http.get(this.api + 'locais');\r\n }\r\n subscreverNewsletter(modelo: any): any{\r\n return this.http.post(this.api + 'newsletters', modelo);\r\n }\r\n\r\n gravarMsgContacto(modelo: any): any {\r\n return this.http.post(this.api + 'formulariosRegistos', modelo);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\nname: 'spaceToUnderscore',\r\npure: true\r\n})\r\nexport class SpaceToUnderscorePipe implements PipeTransform {\r\n rgx = new RegExp(' ', 'gi');\r\n public transform(valor: any): any {\r\n if (valor && typeof(valor) === 'string') {\r\n return valor.replace(this.rgx, '-').replace('/', '').toLowerCase();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {Cliente} from '../../entidades/cliente';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ParceirosStoreService {\r\nprivate parceiros = new BehaviorSubject(null);\r\n\r\n constructor() { }\r\n\r\n setParceirosData(parceiros: Cliente[]): void{\r\n this.parceiros.next(parceiros);\r\n }\r\n\r\n getParceirosData(): Observable{\r\n return this.parceiros.asObservable();\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'home',\n pathMatch: 'full'\n },\n {\n path: 'home',\n loadChildren: () => import('./views/home/home.module').then(m => m.HomeModule)\n },\n {\n path: 'fan',\n loadChildren: () => import('./views/fan/fan.module').then(m => m.FanModule)\n },\n {\n path: 'disciplinas',\n loadChildren: () => import('./views/natacao/natacao.module').then(m => m.NatacaoModule)\n },\n { path: 'informacao', loadChildren: () => import('./views/comunicacao/comunicacao.module').then(m => m.ComunicacaoModule)},\n { path: 'contactos', loadChildren: () => import('./views/contactos/contactos.module').then(m => m.ContactosModule) },\n { path: 'eventos', loadChildren: () => import('./views/eventos/eventos.module').then(m => m.EventosModule) },\n { path: 'galeria', loadChildren: () => import('./views/galeria/galeria.module').then(m => m.GaleriaModule) },\n { path: 'parceiros', loadChildren: () => import('./views/parceiros/parceiros.module').then(m => m.ParceirosModule) },\n { path: 'clubes', loadChildren: () => import('./views/clubes/clubes.module').then(m => m.ClubesModule) }\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {useHash: false, anchorScrolling: 'enabled'})],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {environment} from \"../../../environments/environment\";\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class SuporteService {\r\n api?: string;\r\n constructor(private http: HttpClient) {\r\n this.api = environment.cms_url;\r\n }\r\n\r\n getTodasFAQs(): any{\r\n return this.http.get(this.api + 'faqs');\r\n }\r\n\r\n getFaqsPorIdioma(codIdioma?: string): any{\r\n return this.http.get(this.api + 'faqs/listagem/' + codIdioma);\r\n }\r\n\r\n getFaqsPorArea(idArea: number, codIdioma?: string): any{\r\n return this.http.get(this.api + 'faqs/' + idArea + '/' + codIdioma);\r\n }\r\n\r\n getFAQ(idFaq: number, codIdioma?: string): any {\r\n return this.http.get(this.api + 'faqs/texto/' + idFaq + '/' + codIdioma);\r\n }\r\n\r\n getAreaFAQs(codIdioma?: string): any {\r\n return this.http.get(this.api + 'areasFaqs/areas/' + codIdioma);\r\n }\r\n\r\n getConfiguracoes(): any {\r\n return this.http.get(this.api + 'gerais/configuracoes');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import {Component, HostListener, Input, OnInit} from '@angular/core';\nimport {AppConfiguracao} from \"../../../core/entidades/app-configuracao\";\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss']\n})\nexport class NavbarComponent implements OnInit {\n @Input() appConfiguracao!: AppConfiguracao;\nnavMobileAberta: boolean = true;\n constructor() { }\n\n ngOnInit(): void {\n }\n @HostListener('window:scroll', ['$event'])\n onWindowScroll(e): void {\n const navbar = document.getElementById('sec-navbar-header');\n if (window.pageYOffset > 0) {\n navbar.classList.add('navbar-header-fixed');\n } else {\n navbar.classList.remove('navbar-header-fixed');\n }\n }\n\n abrirNavMobile(): void {\n this.navMobileAberta = true;\n }\n\n fecharNavMobile(): void {\n const mobileNav = document.getElementById('navbarSupportedContent');\n if(mobileNav){\n if(mobileNav.classList.contains('show')){\n mobileNav.classList.remove('show');\n }\n }\n }\n}\n","\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n\n
\n

Links Úteis

\n \n
\n\n
\n

Disciplinas

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

Contactos

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

Filiados

\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\" class=\"text-center text-uppercase\">Siga-nos

\n
0\" class=\" col-12 ps-0 text-white d-flex align-items-center justify-content-center mb-0\">\n
    \n \n
  • \n \n
  • \n\n
  • \n \n
  • \n\n
  • \n \n
  • \n\n
  • \n \n
  • \n\n
  • \n \n
  • \n\n
    \n\n
\n\n
\n
\n
\n\n
\n
\n
\n

© {{thisYear}}. Federação Angolana de Natação

\n

Desenvolvido por \n KiamiSoft\n \n

\n
\n
\n
\n
\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {LinksUteis} from '../../modelos/links-uteis/links-uteis';\nimport {Subscription} from 'rxjs';\nimport {ContactoService} from '../../services/contacto/contacto.service';\nimport {DataStoreService} from '../../services/data-store/data-store.service';\nimport {RedesSociais} from '../../modelos/redes-sociais/redes-sociais';\nimport {Cliente} from '../../entidades/cliente';\nimport {owlFooterOpcoes} from '../../config/app.config';\nimport {ComunicacaoService} from '../../core/servicos/comunicacao-service';\nimport {AplicacaoService} from '../../services/aplicacao/aplicacao.service';\nimport {ClienteService} from '../../servicos/cliente.service';\nimport {RegistoService} from '../../../core/servicos/registo.service';\nimport {Registo} from '../../../core/entidades/registo';\nimport {ListaContacto} from '../../modelos/contacto/lista-contacto';\n\n@Component({\n selector: 'app-rodape',\n templateUrl: './rodape.component.html',\n styleUrls: ['./rodape.component.scss']\n})\nexport class RodapeComponent implements OnInit, OnDestroy {\ncontactos: any = {};\n listaContactos = new ListaContacto([], [], [], []);\n sede: any;\ncodIdioma = 'pt';\nlinks: LinksUteis[] = [];\nlinksUteis: Registo[] = [];\nidGrupo = 1;\nidGrupoDisciplina = 3;\nsubscricoes: Subscription[] = [];\nredes: RedesSociais[] = [];\nclubes: Cliente[] = [];\nopcoes = owlFooterOpcoes;\nthisYear = new Date().getFullYear();\ndisciplinas: Registo[] = [];\n\n constructor(private contactoService: ContactoService,\n private comService: ComunicacaoService,\n private clienteService: ClienteService,\n private appService: AplicacaoService,\n private registoService: RegistoService,\n private store: DataStoreService) { }\n\n ngOnInit(): void {\n this.getRedesSociais();\n this.getAfiliados(1, 1);\n this.getLinksUteis(this.idGrupo);\n this.getDisciplinas(this.idGrupoDisciplina, this.codIdioma);\n this.getContactos();\n }\n\n\n getContactos(): void {\n this.subscricoes.push(\n this.contactoService.getLocais().subscribe({\n next: (res: any) => {\n if (res.objecto.length > 0){\n const locais = res.objecto;\n this.sede = locais.find(x => x.tipoLocal.toLowerCase() === 'sede' || x.tipoLocal.toLowerCase() === 'escritório');\n if (this.sede) {\n this.contactos = this.sede?.contactos;\n for (const item of this.contactos) {\n if (item.tipoContacto.toLowerCase() === 'e-mail') {this.listaContactos?.emails.push(item); }\n if (item.tipoContacto.toLowerCase() === 'telemóvel') {this.listaContactos?.telemoveis.push(item); }\n if (item.tipoContacto.toLowerCase() === 'telefone') {this.listaContactos?.telefones.push(item); }\n if (item.tipoContacto.toLowerCase() === 'fax') {this.listaContactos?.fax.push(item); }\n }\n }\n }\n },\n error: (error: any) => {\n console.log('Erro ao buscar contactos: ', error);\n }\n })\n );\n }\n\n\n getRedesSociais(): void {\n this.subscricoes.push(\n this.comService.getRedesStore().subscribe((store: any) => {\n if (store) {\n this.redes = store;\n } else {\n this.subscricoes.push(\n this.comService.getRedesSociais().subscribe((res: any) => {\n this.redes = res.objecto;\n this.comService.setRedesStore(res.objecto);\n })\n );\n }\n })\n );\n }\n\n getAfiliados(idEntidade: number, codFiltro: number): any {\n this.subscricoes.push(\n this.clienteService.getAfiliados().subscribe(store => {\n if (store) {\n this.clubes = store;\n } else {\n this.subscricoes.push(\n this.clienteService.getClientes(idEntidade, codFiltro).subscribe({\n next: (res: any) => {\n this.clubes = res.objecto;\n this.clienteService.setAfiliados(res.objecto);\n },\n error: (erro: any) => {\n }\n })\n );\n }\n })\n );\n }\n\n getLinksUteis(idGrupo: number): void {\n this.subscricoes.push(\n this.registoService.getRegistosImgs(idGrupo).subscribe((res: any) => {\n this.linksUteis = res.objecto;\n })\n );\n }\n\n getDisciplinas(idGrupoDisciplina: number, codIdioma: string): void {\n this.subscricoes.push(\n this.registoService.getRegistosIcones(idGrupoDisciplina).subscribe((res: any) => {\n this.disciplinas = res.objecto;\n })\n );\n }\n\n ngOnDestroy(): void { if (this.subscricoes.length > 0){ this.subscricoes.forEach(sub => { sub.unsubscribe(); }); } }\n\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {ViewportScroller} from '@angular/common';\nimport {Router, Scroll} from '@angular/router';\nimport {filter} from 'rxjs/operators';\nimport {SuporteService} from './core/servicos/suporte.service';\nimport {AppConfiguracao} from \"./core/entidades/app-configuracao\";\nimport {Subscription} from \"rxjs\";\n\n@Component({\n selector: 'app-root',\n template: `\n
\n \n
\n
\n \n
\n \n `,\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, OnDestroy {\n title = 'fan';\n appConfiguracao!: AppConfiguracao;\nsubs: Subscription;\n constructor( router: Router, viewportScroller: ViewportScroller, private suporteService: SuporteService) {\n router.events.pipe(\n filter((e): e is Scroll => e instanceof Scroll)\n ).subscribe(e => {\n if (e.position) {\n // backward navigation\n viewportScroller.scrollToPosition([0, 0]);\n } else if (e.anchor) {\n // anchor navigation\n setTimeout(() => {\n viewportScroller.scrollToAnchor(e.anchor);\n }, 100);\n } else {\n // forward navigation\n viewportScroller.scrollToPosition([0, 0]);\n }\n });\n }\n\n ngOnInit(): void {\n this.getConfig();\n }\n\n getConfig(): void {\n this.subs = this.suporteService.getConfiguracoes().subscribe({\n next: (res: any) => {\n this.appConfiguracao = res.objectivo;\n const link = document.getElementById(\"favicon\");\n console.log('Favicon: ', link);\n console.log('App Configuracao: ', this.appConfiguracao);\n if (link){\n // link['href'] = this.appConfiguracao;\n }\n },\n error: (erro: any) => {}\n });\n }\n\n ngOnDestroy(): void {\n if(this.subs){\n this.subs.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {RodapeComponent} from '../componentes/rodape/rodape.component';\nimport {NavbarComponent} from '../componentes/navbar/navbar.component';\nimport {CarouselModule} from \"ngx-owl-carousel-o\";\nimport {PartialModule} from \"../common/partials/partial.module\";\n\nconst componentes = [\n NavbarComponent,\n RodapeComponent\n];\n\n@NgModule({\n declarations: componentes,\n exports: [\n NavbarComponent,\n RodapeComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n CarouselModule,\n PartialModule\n ]\n})\nexport class SharedModule { }\n","import { BrowserModule } from '@angular/platform-browser';\nimport {LOCALE_ID, NgModule} from '@angular/core';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport {SharedModule} from './shared/modulos/shared.module';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport localePt from '@angular/common/locales/pt';\nimport {registerLocaleData, ViewportScroller} from '@angular/common';\nimport {NgxPaginationModule} from 'ngx-pagination';\nimport {Router, Scroll} from \"@angular/router\";\nimport {filter} from \"rxjs/operators\";\n\nregisterLocaleData(localePt);\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n SharedModule,\n BrowserAnimationsModule,\n HttpClientModule,\n NgxPaginationModule\n ],\n providers: [\n {provide: LOCALE_ID, useValue: 'pt'}\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(rota: Router, viewportScroller: ViewportScroller) {\n rota.events.pipe(\n filter((e): e is Scroll => e instanceof Scroll)\n ).subscribe(e => {\n if (e.position) {\n // backward navigation\n viewportScroller.scrollToPosition([0, 0]);\n } else if (e.anchor) {\n // anchor navigation\n setTimeout(() => {\n viewportScroller.scrollToAnchor(e.anchor);\n viewportScroller.setOffset([0, 80]);\n }, 100);\n } else {\n // forward navigation\n viewportScroller.scrollToPosition([0, 0]);\n }\n });\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}