{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/services/data.service.ts","./src/app/core/services/event.service.ts","./src/app/core/services/licence.service.ts","./src/app/core/services/location.service.ts","./src/app/pages/catalog/grid/grid.component.ts","./src/app/pages/catalog/grid/grid.component.html","./src/app/pages/dashboard/home2/home2.component.ts","./src/app/pages/dashboard/home2/home2.component.html","./src/app/pages/pages-routing.module.ts","./src/app/pages/pages.module.ts","./src/app/shared/breadcrumbs/breadcrumbs.component.ts","./src/app/shared/breadcrumbs/breadcrumbs.component.html","./src/app/shared/footer/footer.component.ts","./src/app/shared/footer/footer.component.html","./src/app/shared/header/header.component.ts","./src/app/shared/header/header.component.html","./src/app/shared/header/menu.ts","./src/app/shared/licence-modal/licence-modal.component.ts","./src/app/shared/licence-modal/licence-modal.component.html","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { GridComponent } from './pages/catalog/grid/grid.component';\n\nconst routes: Routes = [\n { path: '', loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule) },\n { path: 'auth', loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule) },\n { path: 'pages', loadChildren: () => import('./extrapages/extrapages.module').then(m => m.ExtrapagesModule) },\n { path: 'catalog/grid', component: GridComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'Annuaire du Niger';\n}\n","","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\nimport { GoogleMapsModule } from '@angular/google-maps';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n\nimport { PagesModule } from \"./pages/pages.module\";\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n PagesModule,\n HttpClientModule,\n GoogleMapsModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, map, BehaviorSubject } from 'rxjs';\nimport { \n Domain, \n Enterprise, \n Event, \n Institution, \n Pharmacy, \n Advertisement, \n Sector, \n SubSector,\n Announcement \n} from '../models/business.model';\nimport { environment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class DataService {\n private apiUrl = environment.apiUrl;\n private imageBaseUrl = 'https://annuaireduniger.com/annuaire/public/uploads/';\n private currentPage = new BehaviorSubject(1);\n private defaultLogo = 'assets/img/logo/logo-dark.png'; // Logo par défaut de l'application\n\n constructor(private http: HttpClient) { }\n\n // Fonction utilitaire pour trier par libellé/nom\n private sortByName(items: T[]): T[] {\n return items.sort((a, b) => {\n const nameA = (a.libelle || a.nom || '').toLowerCase();\n const nameB = (b.libelle || b.nom || '').toLowerCase();\n return nameA.localeCompare(nameB);\n });\n }\n\n // Domaines\n getDomains(): Observable {\n return this.http.get(`${this.apiUrl}/domaines`).pipe(\n map(domains => this.sortByName(domains)),\n map(domains => domains.map(domain => ({\n ...domain,\n path: domain.path ? `${this.imageBaseUrl}/ImagesDomaine/${domain.path}` : this.defaultLogo\n })))\n );\n }\n\n getDomainById(id: number): Observable {\n return this.http.get(`${this.apiUrl}/domaines/${id}`);\n }\n\n // Entreprises\n getEnterprises(params?: any): Observable {\n return this.http.get(`${this.apiUrl}/entreprises`).pipe(\n map(enterprises => this.sortByName(enterprises)),\n map(enterprises => enterprises.map(enterprise => ({\n ...enterprise,\n path: enterprise.path ? `${this.imageBaseUrl}/ImagesEntreprise/${enterprise.path}` : this.defaultLogo\n }))),\n map(enterprises => {\n return enterprises;\n })\n );\n }\n\n getEnterpriseById(id: number): Observable {\n return this.http.get(`${this.apiUrl}/entreprises/${id}`);\n }\n\n getEnterprisesBySubSector(subSectorId: number): Observable {\n return this.http.get(`${this.apiUrl}/sousecteurs/${subSectorId}/entreprises`);\n }\n\n // Événements\n getEvents(): Observable {\n return this.http.get(`${this.apiUrl}/evenements`).pipe(\n map(events => this.sortByName(events)),\n map(events => events.map(event => ({\n ...event,\n path: event.path ? `${this.imageBaseUrl}/ImagesEvenement/${event.path}` : this.defaultLogo\n })))\n );\n }\n\n // Institutions\n getInstitutions(): Observable {\n return this.http.get(`${this.apiUrl}/institutions`).pipe(\n map(institutions => institutions.map(institution => ({\n ...institution,\n path: institution.path ? `${this.imageBaseUrl}/ImagesInstitution/${institution.path}` : null\n })))\n );\n }\n\n // Pharmacies\n getPharmacies(): Observable {\n return this.http.get(`${this.apiUrl}/pharmacies`);\n }\n\n // Publicités\n getAdvertisements(): Observable {\n return this.http.get(`${this.apiUrl}/publicites`).pipe(\n map(ads => this.sortByName(ads)),\n map(ads => ads.map(ad => ({\n ...ad,\n path: ad.path ? `${this.imageBaseUrl}/ImagesPublicite/${ad.path}` : this.defaultLogo\n })))\n );\n }\n\n // Secteurs\n getSectors(): Observable {\n return this.http.get(`${this.apiUrl}/secteurs`).pipe(\n map(sectors => sectors.map(sector => ({\n ...sector,\n path: sector.path ? `${this.imageBaseUrl}/ImagesSecteur/${sector.path}` : null\n })))\n );\n }\n\n getSectorsByDomain(domainId: number): Observable {\n return this.http.get(`${this.apiUrl}/domaines/${domainId}/secteurs`);\n }\n\n // Sous-secteurs\n getSubSectors(sectorId: number): Observable {\n return this.http.get(`${this.apiUrl}/secteurs/${sectorId}/sousecteurs`);\n }\n\n // Annonces\n getAnnouncements(): Observable {\n return this.http.get(`${this.apiUrl}/annonces`);\n }\n\n // Recherche\n search(query: string): Observable {\n return this.http.get(`${this.apiUrl}/search`, {\n params: { q: query }\n });\n }\n} ","import { Injectable } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\ninterface Event {\r\n type: string;\r\n payload?: any;\r\n}\r\n\r\ntype EventCallback = (payload: any) => void;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EventService {\r\n\r\n private handler = new Subject();\r\n constructor() { }\r\n\r\n /**\r\n * Broadcast the event\r\n * @param type type of event\r\n * @param payload payload\r\n */\r\n broadcast(type: string, payload = {}) {\r\n this.handler.next({ type, payload });\r\n }\r\n\r\n /**\r\n * Subscribe to event\r\n * @param type type of event\r\n * @param callback call back function\r\n */\r\n subscribe(type: string, callback: EventCallback): Subscription {\r\n return this.handler.pipe(\r\n filter(event => event.type === type)).pipe(\r\n map(event => event.payload))\r\n .subscribe(callback);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface DomainAccess {\n pharmacies: boolean;\n entreprises: boolean;\n offres: boolean;\n gouvernement: boolean;\n}\n\ntype ValidKey = 'PHARM2024' | 'ENTRP2024' | 'OFFRE2024' | 'GOUV2024' | 'FULL2024';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LicenceService {\n private accessState = new BehaviorSubject({\n pharmacies: false,\n entreprises: false,\n offres: false,\n gouvernement: false\n });\n\n accessState$ = this.accessState.asObservable();\n\n constructor() {\n // Charger l'état initial depuis le localStorage\n const savedState = localStorage.getItem('domainAccess');\n if (savedState) {\n this.accessState.next(JSON.parse(savedState));\n }\n }\n\n verifyLicenceKey(key: ValidKey): boolean {\n const validKeys: Record = {\n 'PHARM2024': ['pharmacies'],\n 'ENTRP2024': ['entreprises'],\n 'OFFRE2024': ['offres'],\n 'GOUV2024': ['gouvernement'],\n 'FULL2024': ['pharmacies', 'entreprises', 'offres', 'gouvernement']\n };\n\n const domains = validKeys[key] as Array;\n if (domains) {\n const currentState = this.accessState.value;\n domains.forEach((domain) => {\n currentState[domain] = true;\n });\n this.accessState.next(currentState);\n localStorage.setItem('domainAccess', JSON.stringify(currentState));\n return true;\n }\n return false;\n }\n\n isDomainAccessible(domain: keyof DomainAccess): boolean {\n return this.accessState.value[domain];\n }\n} ","import { Injectable } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\nimport { Enterprise } from '../models/business.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocationService {\n constructor() { }\n\n // Obtenir la position actuelle de l'utilisateur\n getCurrentPosition(): Promise {\n return new Promise((resolve, reject) => {\n if (!navigator.geolocation) {\n reject('La géolocalisation n\\'est pas supportée');\n }\n navigator.geolocation.getCurrentPosition(resolve, reject);\n });\n }\n\n // Calculer la distance entre deux points\n calculateDistance(lat1: number, lon1: number, lat2: number, lon2: number): number {\n const R = 6371; // Rayon de la terre en km\n const dLat = this.deg2rad(lat2 - lat1);\n const dLon = this.deg2rad(lon2 - lon1);\n const a =\n Math.sin(dLat/2) * Math.sin(dLat/2) +\n Math.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) *\n Math.sin(dLon/2) * Math.sin(dLon/2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));\n const d = R * c; // Distance en km\n return Math.round(d * 10) / 10; // Arrondir à 1 décimale\n }\n\n // Convertir degrés en radians\n private deg2rad(deg: number): number {\n return deg * (Math.PI/180);\n }\n\n // Calculer la distance pour une entreprise\n calculateEnterpriseDistance(enterprise: Enterprise): Observable {\n return from(this.getCurrentPosition()).pipe(\n map(position => {\n if (enterprise.latitude && enterprise.longitude) {\n return this.calculateDistance(\n position.coords.latitude,\n position.coords.longitude,\n parseFloat(enterprise.latitude.toString()),\n parseFloat(enterprise.longitude.toString())\n );\n }\n return 0; // Retourner 0 au lieu de null\n })\n );\n }\n} ","import { Component, OnInit } from '@angular/core';\nimport { DataService } from '../../../core/services/data.service';\nimport { LocationService } from '../../../core/services/location.service';\nimport { Enterprise, Domain, Sector, SubSector, Pharmacy, Institution, Advertisement } from '../../../core/models/business.model';\nimport { finalize, forkJoin } from 'rxjs';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { GoogleMap, MapMarker } from '@angular/google-maps';\nimport { LicenceService } from '../../../core/services/licence.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LicenceModalComponent } from 'src/app/shared/licence-modal/licence-modal.component';\n\n// Range Slider\nimport { grid } from './grid.model';\nimport { gridData } from './data';\nimport { Options } from 'ngx-slider-v2';\n\n// Définir une interface pour les marqueurs\ninterface CustomMapMarker {\n position: google.maps.LatLngLiteral;\n title: string;\n label: google.maps.MarkerLabel;\n}\n\n@Component({\n selector: 'app-grid',\n templateUrl: './grid.component.html',\n styleUrls: ['./grid.component.scss']\n})\n\n/**\n * Grid Component\n */\nexport class GridComponent implements OnInit {\n\n // bread crumb items\n breadCrumbItems!: Array<{}>;\n gridData!: grid[];\n longitude = 20.728218;\n latitude = 52.128973;\n dataCount = 0;\n term: any;\n\n // Données\n enterprises: Enterprise[] = [];\n domains: Domain[] = [];\n sectors: Sector[] = [];\n subSectors: SubSector[] = [];\n\n // Pagination\n currentPage = 1;\n isLoadingMore = false;\n hasMoreData = true;\n\n // Filtres\n selectedDomain?: number;\n selectedSector?: number;\n selectedSubSector?: number;\n searchQuery = '';\n\n // États\n isLoading = true;\n error: string | null = null;\n\n // Mapping des catégories vers les IDs de domaine\n private categoryMap: { [key: string]: number } = {\n 'Services': 1,\n 'Industrie': 2,\n 'Commerce': 3,\n 'Batiment': 4,\n 'Artisanat': 5,\n 'Agriculture': 6,\n 'Institutions': 7,\n 'Pharmacies': 8\n };\n\n // Ajout des propriétés pour la localisation\n selectedLocation?: string;\n selectedDistrict?: string;\n\n // Liste des villes\n cities = [\n 'NIAMEY',\n 'ZINDER',\n 'MARADI',\n 'TAHOUA',\n 'AGADEZ',\n 'DOSSO',\n 'DIFFA',\n 'TILLABERI'\n ];\n\n // Liste des quartiers par ville\n districts: { [key: string]: string[] } = {\n \"NIAMEY\": [\n \"Plateau\",\n \"Yantala\",\n \"Lazaret\",\n \"Terminus\",\n \"Kalley\",\n \"Goudel\",\n \"Kombo\",\n \"Hamdallaye\"\n ],\n \"ZINDER\": [\n \"Birni\",\n \"Garin Malam\",\n \"Kara Kara\",\n \"Fadin\",\n \"Gaya\",\n \"Magaria\"\n ],\n \"MARADI\": [\n \"Centre-ville\",\n \"Gossolol\",\n \"Tiguidanke\",\n \"Bagala\",\n \"Alaba\",\n \"Wadata\"\n ],\n \"AGADEZ\": [\n \"Agadez Centre\",\n \"Assaki\",\n \"Tchittagou\",\n \"In-Gall\"\n ],\n \"TAHOUA\": [\n \"Tahoua Centre\",\n \"Tera\",\n \"Bouza\",\n \"Dawani\"\n ],\n \"DIFFA\": [\n \"Diffa Centre\",\n \"Fachi\",\n \"Bosso\",\n \"Mao\"\n ],\n \"DOSSO\": [\n \"Dosso Centre\",\n \"Gouré\",\n \"Loga\",\n \"Madaoua\"\n ],\n \"TILLABERI\": [\n \"Tillabéri Centre\",\n \"Ouallam\",\n \"Say\",\n \"Filingue\",\n \"Kankara\"\n ]\n };\n\n // Quartiers actuellement disponibles basés sur la ville sélectionnée\n availableDistricts: string[] = [];\n\n // Propriétés pour le slider de prix\n minValue: number = 0;\n maxValue: number = 1000;\n options: any = {\n floor: 0,\n ceil: 1000,\n translate: (value: number): string => {\n return '$' + value;\n }\n };\n\n // Type de données actuellement affiché\n currentDataType: 'enterprises' | 'pharmacies' | 'institutions' = 'enterprises';\n\n // Données pour chaque type\n allEnterprises: Enterprise[] = [];\n allPharmacies: Pharmacy[] = [];\n allInstitutions: Institution[] = [];\n\n // Constante pour la taille de page\n private readonly PAGE_SIZE = 50;\n\n // Ajouter une propriété pour stocker les données filtrées\n private filteredData: any[] = [];\n\n // Propriété pour gérer l'état du toggle\n showGardeFilter: boolean = false;\n filterGarde: boolean = false; // État du toggle pour filtrer par garde\n\n // Options de la carte\n mapOptions: google.maps.MapOptions = {\n center: { lat: 13.5137, lng: 2.1098 }, // Coordonnées de Niamey\n zoom: 12,\n mapTypeId: 'roadmap'\n };\n\n // Marqueurs pour les entreprises/pharmacies/institutions\n markers: CustomMapMarker[] = [];\n\n advertisements: Advertisement[] = [];\n\n // Ajouter une propriété pour stocker le type en attente\n private pendingType: string | null = null;\n\n showWhatsAppOptions: boolean = false;\n\n hasAccess: boolean = false;\n\n constructor(\n private dataService: DataService,\n private locationService: LocationService,\n private route: ActivatedRoute,\n private router: Router,\n private licenceService: LicenceService,\n private modalService: NgbModal\n ) {\n this.licenceService.accessState$.subscribe(state => {\n this.hasAccess = state.entreprises;\n });\n }\n\n ngOnInit(): void {\n /**\n * BreadCrumb\n */\n this.breadCrumbItems = [\n { label: 'Accueil', link: '' },\n { label: 'Trouver une entreprise', active: true }\n ];\n\n this.loadInitialData();\n\n document.body.classList.remove('bg-secondary');\n\n // Écouter les changements de paramètres de route\n this.route.queryParams.subscribe(params => {\n const type = params['type'];\n if (type) {\n\n // Convertir le type en minuscules pour la comparaison\n const normalizedType = type.toLowerCase();\n // Attendre que les domaines soient chargés avant de procéder\n if (this.domains.length > 0) {\n // Trouver le domaine correspondant\n const domain = this.domains.find(d => d.libelle.toLowerCase() === normalizedType);\n if (domain) {\n // Utiliser onDomainChange pour gérer la sélection du domaine\n this.onDomainChange(domain.id.toString());\n }\n } else {\n // Si les domaines ne sont pas encore chargés, stocker le type pour plus tard\n this.pendingType = normalizedType;\n }\n\n\n // Réinitialiser les filtres\n this.selectedSector = undefined;\n this.selectedSubSector = undefined;\n this.sectors = [];\n this.subSectors = [];\n\n // Recharger les données\n this.loadEnterprises();\n }\n });\n\n // Charger les publicités\n this.loadAdvertisements();\n }\n\n private loadInitialData(): void {\n this.isLoading = true;\n\n this.dataService.getDomains().subscribe({\n next: (domains) => {\n this.domains = domains;\n\n // Vérifier s'il y a un type en attente à traiter\n if (this.pendingType) {\n const domain = this.domains.find(d => d.libelle.toLowerCase() === this.pendingType);\n if (domain) {\n this.onDomainChange(domain.id.toString());\n }\n this.pendingType = null;\n }\n\n // Charger toutes les données initiales\n this.loadAllData();\n },\n error: (error) => {\n this.error = 'Erreur lors du chargement des domaines';\n console.error('Erreur:', error);\n }\n });\n }\n\n private loadAllData(): void {\n // Charger toutes les données en parallèle\n forkJoin({\n enterprises: this.dataService.getEnterprises(),\n pharmacies: this.dataService.getPharmacies(),\n institutions: this.dataService.getInstitutions()\n }).subscribe({\n next: (data) => {\n this.allEnterprises = data.enterprises;\n this.allPharmacies = data.pharmacies;\n this.allInstitutions = data.institutions;\n this.loadEnterprises();\n },\n error: (error) => {\n this.error = 'Erreur lors du chargement des données';\n console.error('Erreur:', error);\n }\n });\n }\n\n loadEnterprises(page: number = 1): void {\n this.isLoadingMore = true;\n\n // Sélectionner la source de données appropriée\n let sourceData: any[] = [];\n switch (this.currentDataType) {\n case 'pharmacies':\n sourceData = this.allPharmacies;\n break;\n case 'institutions':\n sourceData = this.allInstitutions;\n break;\n default:\n sourceData = this.allEnterprises;\n }\n\n // Appliquer les filtres sur toutes les données\n this.filteredData = [...sourceData];\n\n // Filtre de garde\n if (this.filterGarde) {\n this.filteredData = this.filteredData.filter(item => item.garde === 'oui');\n }\n\n // Appliquer les filtres communs\n if (this.selectedLocation) {\n this.filteredData = this.filteredData.filter(e => e.region === this.selectedLocation);\n }\n\n if (this.selectedDistrict) {\n this.filteredData = this.filteredData.filter(e => e.adresse === this.selectedDistrict);\n }\n\n // Filtres spécifiques aux entreprises\n if (this.selectedSubSector) {\n this.filteredData = this.filteredData.filter(e => e.sousecteur_id === this.selectedSubSector);\n }\n\n // Mettre à jour le nombre total de résultats\n this.dataCount = this.filteredData.length;\n\n // Vérifier s'il y a plus de données\n const totalPages = Math.ceil(this.filteredData.length / this.PAGE_SIZE);\n this.hasMoreData = page < totalPages;\n\n // Pagination\n const start = (page - 1) * this.PAGE_SIZE;\n const end = start + this.PAGE_SIZE;\n const paginatedData = this.filteredData.slice(start, end);\n\n // Calculer les distances\n paginatedData.forEach(item => {\n this.locationService.calculateEnterpriseDistance(item)\n .subscribe(distance => {\n item.distance = distance;\n });\n });\n\n // Mettre à jour les données affichées\n if (page === 1) {\n this.enterprises = paginatedData;\n } else {\n this.enterprises = [...this.enterprises, ...paginatedData];\n }\n\n this.currentPage = page;\n this.isLoadingMore = false;\n this.isLoading = false;\n }\n\n onDomainChange(domainId: string): void {\n this.selectedDomain = domainId ? parseInt(domainId, 10) : undefined;\n this.selectedSector = undefined;\n this.selectedSubSector = undefined;\n this.sectors = [];\n this.subSectors = [];\n\n if (this.selectedDomain) {\n const domain = this.domains.find(d => d.id === this.selectedDomain);\n if (domain) {\n const domainName = domain.libelle.toLowerCase();\n this.currentDataType = domainName as typeof this.currentDataType;\n\n // Mettre à jour l'URL sans recharger la page\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: { type: domainName },\n queryParamsHandling: 'merge'\n });\n\n // Charger les secteurs si ce n'est pas une pharmacie ou une institution\n if (!['pharmacies', 'institutions'].includes(domainName)) {\n this.dataService.getSectorsByDomain(this.selectedDomain).subscribe({\n next: (sectors) => {\n this.sectors = sectors;\n }\n });\n }\n }\n } else {\n this.currentDataType = 'enterprises';\n // Supprimer le paramètre type de l'URL\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: { type: null },\n queryParamsHandling: 'merge'\n });\n }\n\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n\n onSectorChange(sectorId: string): void {\n this.selectedSector = sectorId ? parseInt(sectorId, 10) : undefined;\n this.selectedSubSector = undefined;\n this.subSectors = [];\n\n if (this.selectedSector) {\n this.dataService.getSubSectors(this.selectedSector).subscribe({\n next: (subSectors) => {\n this.subSectors = subSectors;\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n });\n } else {\n this.loadEnterprises();\n }\n }\n\n onSubSectorChange(subSectorId: string): void {\n this.selectedSubSector = subSectorId ? parseInt(subSectorId, 10) : undefined;\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n\n onSearch(query: string): void {\n this.searchQuery = query;\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n\n loadMore(): void {\n if (this.hasMoreData && !this.isLoadingMore) {\n this.loadEnterprises(this.currentPage + 1);\n }\n }\n\n /**\n * Filter button clicked\n */\n FilterSidebar() {\n document.getElementById('filters-sidebar')?.classList.toggle('show');\n document.querySelector('.vertical-overlay')?.classList.toggle('show');\n }\n\n /**\n * SidebarHide modal\n */\n SidebarHide() {\n document.getElementById('filters-sidebar')?.classList.remove('show');\n document.querySelector('.vertical-overlay')?.classList.remove('show');\n }\n\n // Map Model Open\n openMapModal() {\n this.initializeMap();\n document.querySelector('.map-popup')?.classList.remove('invisible');\n }\n\n // Map Model Close\n closeMapModel() {\n document.querySelector('.map-popup')?.classList.add('invisible');\n }\n\n // Sort filter\n sortField: any;\n sortBy: any;\n SortFilter() {\n this.sortField = (document.getElementById(\"sortby\") as HTMLInputElement).value;\n if (this.sortField[0] == 'A') {\n this.sortBy = 'desc';\n this.sortField = this.sortField.replace(/A/g, '')\n }\n if (this.sortField[0] == 'D') {\n this.sortBy = 'asc';\n this.sortField = this.sortField.replace(/D/g, '')\n }\n // Recharger les données avec le nouveau tri\n this.loadEnterprises();\n }\n\n categoryClick(event: Event, categoryName: string): void {\n event.preventDefault();\n // Trouver le domaine correspondant au nom de la catégorie\n const domain = this.domains.find(d => d.libelle.toLowerCase() === categoryName.toLowerCase());\n if (domain) {\n this.selectedDomain = domain.id;\n this.selectedSector = undefined;\n this.selectedSubSector = undefined;\n\n // Charger les secteurs du domaine sélectionné\n this.dataService.getSectorsByDomain(domain.id).subscribe({\n next: (sectors) => {\n this.sectors = sectors;\n this.subSectors = [];\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n });\n }\n }\n\n onLocationChange(location: string): void {\n this.selectedLocation = location || undefined;\n this.selectedDistrict = undefined;\n this.availableDistricts = location ? (this.districts[location] || []) : [];\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n\n onDistrictChange(district: string): void {\n this.selectedDistrict = district || undefined;\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n\n // Méthodes pour les filtres\n categoryDownClick(event: Event): void {\n event.preventDefault();\n const target = event.target as HTMLElement;\n const categoryText = target.querySelector('.dropdown-item-label')?.textContent;\n if (categoryText) {\n this.categoryClick(event, categoryText);\n }\n }\n\n\n valueChange(value: number, isMin: boolean): void {\n if (isMin) {\n this.minValue = value;\n } else {\n this.maxValue = value;\n }\n // Appliquer le filtre de prix\n this.currentPage = 1;\n this.hasMoreData = true;\n this.loadEnterprises();\n }\n\n onSearchInput(searchValue: string): void {\n this.searchQuery = searchValue.toLowerCase().trim();\n\n // Sélectionner la source de données appropriée\n let sourceData: any[] = [];\n switch (this.currentDataType) {\n case 'pharmacies':\n sourceData = this.allPharmacies;\n break;\n case 'institutions':\n sourceData = this.allInstitutions;\n break;\n default:\n sourceData = this.allEnterprises;\n }\n\n // Appliquer les filtres sur toutes les données\n this.filteredData = [...sourceData];\n\n // Filtre de recherche\n if (this.searchQuery) {\n this.filteredData = this.filteredData.filter(item => {\n return (\n (item.nom?.toLowerCase().includes(this.searchQuery)) ||\n (item.adresse?.toLowerCase().includes(this.searchQuery)) ||\n (item.region?.toLowerCase().includes(this.searchQuery)) ||\n (item.telephone?.toLowerCase().includes(this.searchQuery))\n );\n });\n }\n\n // Appliquer les autres filtres existants\n if (this.selectedLocation) {\n this.filteredData = this.filteredData.filter(e => e.region === this.selectedLocation);\n }\n\n if (this.selectedDistrict) {\n this.filteredData = this.filteredData.filter(e => e.adresse === this.selectedDistrict);\n }\n\n if (this.currentDataType === 'enterprises' && this.selectedSubSector) {\n this.filteredData = this.filteredData.filter(e => e.sousecteur_id === this.selectedSubSector);\n }\n\n // Mettre à jour le compteur et la pagination\n this.dataCount = this.filteredData.length;\n this.currentPage = 1;\n\n // Paginer les résultats\n const paginatedData = this.filteredData.slice(0, this.PAGE_SIZE);\n this.hasMoreData = this.filteredData.length > this.PAGE_SIZE;\n\n // Mettre à jour l'affichage\n this.enterprises = paginatedData;\n this.isLoading = false;\n }\n\n onGardeToggleChange(): void {\n this.currentPage = 1; // Réinitialiser la page\n this.hasMoreData = true; // Réinitialiser l'état de chargement\n\n // Filtrer les pharmacies en fonction de l'état du toggle\n this.loadEnterprises();\n }\n\n // Méthode pour initialiser la carte avec les marqueurs\n initializeMap(): void {\n // Utiliser this.enterprises qui contient les éléments actuellement affichés\n if (this.enterprises.length > 0) {\n this.markers = this.enterprises\n .filter(e => e.latitude !== null && e.longitude !== null)\n .map(e => ({\n position: {\n lat: Number(e.latitude),\n lng: Number(e.longitude)\n },\n title: e.nom || '',\n label: {\n text: e.nom || '',\n color: 'black'\n }\n }));\n\n // Centrer la carte sur le premier marqueur\n if (this.markers.length > 0) {\n this.mapOptions = {\n ...this.mapOptions,\n center: this.markers[0].position,\n zoom: 12\n };\n }\n }\n }\n\n // Méthode pour centrer la carte sur un marqueur\n centerMap(enterprise: Enterprise): void {\n if (enterprise.latitude !== null && enterprise.longitude !== null) {\n this.mapOptions = {\n ...this.mapOptions,\n center: {\n lat: Number(enterprise.latitude),\n lng: Number(enterprise.longitude)\n },\n zoom: 15\n };\n }\n }\n\n private loadAdvertisements(): void {\n this.dataService.getAdvertisements().subscribe({\n next: (ads) => {\n this.advertisements = ads;\n },\n error: (error) => {\n console.error('Erreur lors du chargement des publicités:', error);\n }\n });\n }\n\n // Méthode pour obtenir le titre de recherche dynamique\n getSearchTitle(): string {\n switch (this.currentDataType) {\n case 'pharmacies':\n return 'Rechercher une pharmacie';\n case 'institutions':\n return 'Rechercher une institution';\n default:\n return 'Rechercher une entreprise';\n }\n }\n\n openLicenceModal() {\n const modalRef = this.modalService.open(LicenceModalComponent);\n // You can pass data to the modal if needed\n // modalRef.componentInstance.someProperty = someValue;\n }\n}\n","
\n \n \n\n \n
\n @if(!hasAccess){\n \n
\n
\n
\n \n

Contenu Bloqué

\n

Pour accéder aux offres d'emploi, vous devez avoir une licence valide.

\n \n
\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 \n @for(ad of advertisements;track ad.id){\n \n
\n \n \n \n \n
\n

{{ad.libelle}}

\n

{{ad.description}}

\n
\n\n \n
\n @if(ad.lien_whatsapp){\n \n \n \n }\n @if(ad.lien_facebook){\n \n \n \n }\n
\n
\n
\n }\n
\n
\n \n
\n

{{getSearchTitle()}}

\n \n Voir sur la carte\n \n
\n \n
\n
\n
{{dataCount}} résultats
\n
\n \n
\n
\n Chargement...\n
\n
\n\n \n
\n {{ error }}\n
\n\n \n
\n \n
\n \n
\n\n \n @if(selectedDomain && sectors.length > 0){\n
\n
Secteurs
\n
\n @for(sector of sectors;track sector.id){\n
\n
\n
\n \n
{{sector.libelle}}
\n
\n
\n
\n }\n
\n
\n }\n\n \n @if(selectedSector && subSectors.length > 0){\n
\n
Sous-secteurs
\n
\n @for(subSector of subSectors;track subSector.id){\n
\n
\n
\n \n
{{subSector.libelle}}
\n
\n
\n
\n }\n
\n
\n }\n
\n\n \n
\n @for(enterprise of enterprises;track enterprise.id){\n
\n
\n
\n \n
\n
\n
{{enterprise.nom}}
\n

{{enterprise.adresse}}

\n

{{enterprise.region}}

\n
\n \n {{enterprise.distance}} km\n Distance non disponible\n
\n
\n \n {{enterprise.telephone}}\n
\n
\n
\n
\n }\n
\n\n \n
\n \n
\n
\n
\n
\n\n
\n\n\n\n\n\n\n
\n\n@if(!hasAccess){\n
\n
\n \n

Contenu Bloqué

\n

Pour accéder à ce contenu, vous devez avoir une licence valide.

\n \n
\n
\n}@else{\n\n}","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DataService } from '../../../core/services/data.service';\nimport { \n Domain, \n Enterprise, \n Event, \n Advertisement,\n Announcement \n} from '../../../core/models/business.model';\nimport { finalize, forkJoin } from 'rxjs';\nimport { LocationService } from '../../../core/services/location.service';\n\n@Component({\n selector: 'app-home2',\n templateUrl: './home2.component.html',\n styleUrls: ['./home2.component.scss']\n})\n\n/**\n * Home2 Component\n */\nexport class Home2Component implements OnInit {\n // Données\n categoriesData: Domain[] = [];\n berlinData: Enterprise[] = [];\n eventsData: Event[] = [];\n adsData: Advertisement[] = [];\n announcement: Announcement | null = null;\n \n // États\n isLoading = true;\n error: string | null = null;\n currentPage = 1;\n isLoadingMore = false;\n hasMoreData = true;\n\n constructor(\n private modalService: NgbModal,\n private dataService: DataService,\n private locationService: LocationService\n ) { }\n\n ngOnInit(): void {\n this.loadData();\n\n // City Select data\n document.getElementById(\"city-content\")?.addEventListener(\"click\", function (e) {\n const input = e.target as HTMLElement;\n const city = document.querySelector('.city') as HTMLElement;\n city.innerText = input.innerText;\n });\n\n // categories Select data\n document.getElementById(\"categories-content\")?.addEventListener(\"click\", function (e) {\n const input = e.target as HTMLElement;\n const categories = document.querySelector('.categories') as HTMLElement;\n categories.innerText = input.innerText;\n });\n }\n\n loadEnterprises(page: number = 1) {\n if (this.isLoadingMore || !this.hasMoreData) return;\n \n this.isLoadingMore = true;\n this.dataService.getEnterprises({ \n page: page,\n featured: true \n }).subscribe({\n next: (enterprises) => {\n if (enterprises.length === 0) {\n this.hasMoreData = false;\n } else {\n enterprises.forEach(enterprise => {\n this.locationService.calculateEnterpriseDistance(enterprise)\n .subscribe(distance => {\n enterprise.distance = distance;\n });\n });\n \n if (page === 1) {\n this.berlinData = enterprises.slice(1, 10);\n } else {\n this.berlinData = [...this.berlinData, ...enterprises];\n }\n this.currentPage = page;\n }\n this.isLoadingMore = false;\n },\n error: (error) => {\n this.error = 'Erreur lors du chargement des entreprises';\n this.isLoadingMore = false;\n console.error('Erreur:', error);\n }\n });\n }\n\n loadMore() {\n this.loadEnterprises(this.currentPage + 1);\n }\n\n private loadData(): void {\n this.isLoading = true;\n \n forkJoin({\n domains: this.dataService.getDomains(),\n events: this.dataService.getEvents(),\n ads: this.dataService.getAdvertisements(),\n announcements: this.dataService.getAnnouncements()\n })\n .pipe(finalize(() => this.isLoading = false))\n .subscribe({\n next: (data) => {\n this.categoriesData = data.domains;\n this.eventsData = data.events;\n this.adsData = data.ads;\n \n if (data.announcements?.length > 0) {\n this.announcement = data.announcements[0];\n }\n\n // Charger la première page des entreprises\n this.loadEnterprises();\n },\n error: (error) => {\n this.error = 'Erreur lors du chargement des données';\n console.error('Erreur:', error);\n }\n });\n }\n\n /**\n * Configuration du carousel Berlin (entreprises en vedette)\n */\n berlin = {\n slidesToShow: 3,\n slidesToScroll: 1,\n arrows: true,\n infinite: false,\n responsive: [\n {\n breakpoint: 768,\n settings: {\n slidesToShow: 2,\n }\n },\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 3,\n }\n }\n ],\n afterChange: (event: any) => {\n const lastSlide = this.berlinData.length - 3;\n if (event.currentSlide >= lastSlide && this.hasMoreData) {\n this.loadMore();\n }\n }\n };\n\n /**\n * Configuration du carousel des événements\n */\n events = {\n initialSlide: 0,\n slidesPerView: 1,\n spaceBetween: 25,\n centeredSlides: true,\n navigation: true,\n pagination: true,\n loop: true,\n breakpoints: {\n 992: {\n slidesPerView: 2,\n }\n }\n };\n\n /**\n * Configuration du carousel des publicités\n */\n adsConfig = {\n dots: true,\n infinite: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n autoplay: true,\n autoplaySpeed: 3000,\n arrows: true,\n responsive: [\n {\n breakpoint: 768,\n settings: {\n arrows: false,\n slidesToShow: 1\n }\n }\n ]\n };\n\n /**\n * Configuration du carousel des blogs\n */\n blogs = {\n initialSlide: 0,\n slidesToShow: 3,\n spaceBetween: 25,\n pagination: true,\n navigation: true,\n loop: true,\n responsive: [\n {\n breakpoint: 768,\n settings: {\n slidesToShow: 2,\n },\n },\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 3,\n },\n },\n ],\n };\n}","\n\n\n\n
\n
\n
\n
\n
\n

Découvrez les\n \n Entreprises\n \n Commerces\n Services\n Artisans\n Industries\n Institutions\n \n \n

\n

L'annuaire professionnel le plus complet du Niger - Trouvez facilement les entreprises et services dont vous avez besoin

\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n Chargement...\n
\n
\n\n\n
\n {{ error }}\n
\n\n\n
\n
\n @for(domain of categoriesData;track $index){\n \n }\n
\n
\n\n\n
\n
\n\n\n
\n
\n

Entreprises en vedette

Voir tout\n
\n \n @for(enterprise of berlinData;track $index){\n
\n
\n
\n
\n \n \n
\n

{{enterprise.nom}}\n

\n
    \n
  • \n \n \n {{enterprise.distance}} km\n \n \n Distance non disponible\n \n
  • \n
\n
\n
\n
\n }\n
\n
\n\n\n
\n
\n \n\n
\n \n @for(data of adsData;track $index){\n
\n \"Advertisement\"\n
\n }\n
\n
\n \n
\n
\n

Où manger

Voir\n tout\n
\n
\n
\n \n
\n \"Brand\n
\n

Restaurant Le Pilier

\n
    \n
  • 4.8 (56)
  • \n
  • $$$
  • \n
  • Plateau, Niamey
  • \n
\n
\n
\n \n
\"Brand\n
\n

La Cabane

\n
    \n
  • 4.5 (43)
  • \n
  • $$
  • \n
  • Yantala, Niamey
  • \n
\n
\n
\n \n
\"Brand\n
\n

Restaurant Le Sahel\n

\n
    \n
  • 4.7 (35)
  • \n
  • $$$
  • \n
  • Centre-ville, Niamey
  • \n
\n
\n
\n
\n
\n \n
\"Brand\n
\n

Le Terminus

\n
    \n
  • 4.9 (48)
  • \n
  • $$$
  • \n
  • Quartier Terminus, Niamey
  • \n
\n
\n
\n \n
\"Brand\n
\n

Pina Pizza\n Restaurant

\n
    \n
  • 5.0 (48)
  • \n
  • $$
  • \n
  • 1.4 km from center
  • \n
\n
\n
\n \n
\"Brand\n
\n

Spicy\n Bar-Restaurant

\n
    \n
  • 5.0 (32)
  • \n
  • $$$
  • \n
  • 0.4 km from center
  • \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n

Événements à venir au Niger

\n \n \n \n \n
\n \n @for(data of eventsData;track $index){\n
\n
\n
\n
\n
\n
\n
\n
\n
{{data.date}}
\n
{{data.date}}
\n
\n

{{data.libelle}}

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n }\n
\n
\n\n\n\n
\n
\n
\n
\n
\n

Téléchargez notre application

\n

Découvrez toutes les entreprises du Niger depuis votre mobile !

\n \n
\n
\n
\"Illustration\"\"Illustration\"
\n
\n
\n
\n\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Home2Component } from \"./dashboard/home2/home2.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: Home2Component\r\n },\r\n {\r\n path: '', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule)\r\n },\r\n {\r\n path: 'catalog', loadChildren: () => import('./catalog/catalog.module').then(m => m.CatalogModule)\r\n },\r\n {\r\n path: 'account', loadChildren: () => import('./account/account.module').then(m => m.AccountModule)\r\n },\r\n {\r\n path: 'vendor', loadChildren: () => import('./vendor/vendor.module').then(m => m.VendorModule)\r\n },\r\n {\r\n path: 'pages', loadChildren: () => import('./extrapages/extrapages.module').then(m => m.ExtrapagesModule)\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PagesRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// Flat Picker\nimport { FlatpickrModule } from 'angularx-flatpickr';\n\n// Page Routing\nimport { PagesRoutingModule } from './pages-routing.module';\nimport { SharedModule } from \"../shared/shared.module\";\n\n// Light Box\nimport { LightboxModule } from 'ngx-lightbox';\n\n@NgModule({\n declarations: [\n\n ],\n imports: [\n CommonModule,\n PagesRoutingModule,\n SharedModule,\n FlatpickrModule.forRoot(),\n LightboxModule\n ]\n})\nexport class PagesModule { }\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss']\n})\n\n/**\n * Breadcrumbs Component\n */\nexport class BreadcrumbsComponent implements OnInit {\n\n // bread crumb items\n @Input()\n breadcrumbItems!: Array<{\n active?: boolean;\n label?: string;\n link?: string;\n }>;\n\n constructor() { }\n\n ngOnInit(): void {\n\n }\n\n}\n","\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\n\n/**\n * Footer Component\n */\nexport class FooterComponent implements OnInit {\n showWhatsAppOptions: boolean = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n /**\n * SidebarHide modal\n * @param content modal content\n */\n sidebarShow() {\n document.getElementById('demo-switcher')?.classList.add('show');\n document.querySelector('.vertical-overlay')?.classList.add('show');\n }\n\n /**\n * SidebarHide modal\n * @param content modal content\n */\n SidebarHide() {\n document.getElementById('demo-switcher')?.classList.remove('show');\n document.querySelector('.vertical-overlay')?.classList.remove('show');\n }\n\n\n\n toggleWhatsAppOptions(): void {\n this.showWhatsAppOptions = !this.showWhatsAppOptions;\n }\n\n redirectToWhatsApp(message: string): void {\n const phoneNumber = '22790554222';\n const url = `https://wa.me/${phoneNumber}?text=${encodeURIComponent(message)}`;\n window.open(url, '_blank');\n }\n\n}\n","\n\n\n
\n \n
\n \n \n
\n
","import { Component, OnInit, EventEmitter, Output, ViewChild, ElementRef } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\n\nimport { EventService } from '../../core/services/event.service';\n\nimport { Router, NavigationEnd } from '@angular/router';\n\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { MENU } from './menu';\nimport { MenuItem } from './menu.model';\nimport { LicenceModalComponent } from '../licence-modal/licence-modal.component';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\n\n/**\n * Header Component\n */\nexport class HeaderComponent implements OnInit {\n mode: string | undefined;\n loginPassfield!: boolean;\n signupPassfield!: boolean;\n signupCPassfield!: boolean;\n menuItems: MenuItem[] = [];\n // Validation form\n validationform!: UntypedFormGroup;\n signUpform!: UntypedFormGroup;\n submit!: boolean;\n formsubmit!: boolean;\n\n @ViewChild('sideMenu') sideMenu!: ElementRef;\n\n\n constructor(private router: Router,private modalService: NgbModal, private eventService: EventService, private formBuilder: UntypedFormBuilder) {\n router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.activateMenu();\n }\n });\n }\n\n ngOnInit(): void {\n /**\n * Bootstrap validation form data\n */\n this.validationform = this.formBuilder.group({\n email: ['', [Validators.required]],\n password: ['', [Validators.required]],\n });\n\n /**\n * Bootstrap validation form data\n */\n this.signUpform = this.formBuilder.group({\n name: ['', [Validators.required]],\n email: ['', [Validators.required]],\n password: ['', [Validators.required]],\n });\n\n // Menu Items\n this.menuItems = MENU;\n }\n\n /**\n * Open scroll modal\n * @param toggleDataModal scroll modal data\n */\n toggleModal(staticDataModal: any) {\n this.modalService.open(staticDataModal, { size: 'lg', centered: true });\n }\n secondModal(toggleSecondModal: any) {\n this.modalService.open(toggleSecondModal, { size: 'lg', centered: true });\n }\n\n /**\n * Password Hide/Show\n */\n toggleLoginPassField() {\n this.loginPassfield = !this.loginPassfield;\n }\n\n /**\n * Password Hide/Show\n */\n toggleSignUpPassField() {\n this.signupPassfield = !this.signupPassfield;\n }\n\n /**\n * Password Hide/Show\n */\n toggleSignUpCPassField() {\n this.signupCPassfield = !this.signupCPassfield;\n }\n\n\n /**\n * On menu click\n */\n onMenuClick(event: any) {\n const nextEl = event.target.nextElementSibling;\n if (nextEl) {\n const parentEl = event.target.parentNode;\n if (parentEl) {\n parentEl.classList.remove('show');\n }\n nextEl.classList.toggle('show');\n }\n return false;\n }\n\n ngAfterViewInit() {\n this.activateMenu();\n }\n\n /**\n * Activates the menu\n */\n private activateMenu() {\n const resetParent = (el: any) => {\n const parent = el.parentElement;\n if (parent) {\n parent.classList.remove('active');\n const parent2 = parent.parentElement;\n this._removeAllClass('mm-active');\n this._removeAllClass('mm-show');\n if (parent2) {\n parent2.classList.remove('active');\n const parent3 = parent2.parentElement;\n if (parent3) {\n parent3.classList.remove('active');\n const parent4 = parent3.parentElement;\n if (parent4) {\n parent4.classList.remove('active');\n const parent5 = parent4.parentElement;\n if (parent5) {\n parent5.classList.remove('active');\n const menuelement = document.getElementById(\n 'topnav-menu-content'\n );\n if (menuelement !== null)\n if (menuelement.classList.contains('show'))\n document\n .getElementById('topnav-menu-content')!\n .classList.remove('show');\n }\n }\n }\n }\n }\n };\n\n // activate menu item based on location\n const links: any = document.getElementsByClassName('side-nav-link-ref');\n let matchingMenuItem = null;\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < links.length; i++) {\n // reset menu\n resetParent(links[i]);\n }\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < links.length; i++) {\n // tslint:disable-next-line: no-string-literal\n if (location.pathname === links[i]['pathname']) {\n matchingMenuItem = links[i];\n break;\n }\n }\n\n if (matchingMenuItem) {\n const parent = matchingMenuItem.parentElement;\n if (parent) {\n parent.classList.add('active');\n const parent2 = parent.parentElement;\n if (parent2) {\n parent2.classList.add('active');\n const parent3 = parent2.parentElement;\n if (parent3) {\n parent3.classList.add('active');\n const parent4 = parent3.parentElement;\n if (parent4) {\n parent4.classList.add('active');\n const parent5 = parent4.parentElement;\n if (parent5) {\n parent5.classList.add('active');\n }\n }\n }\n }\n }\n }\n }\n\n /**\n * remove active and mm-active class\n */\n _removeAllClass(className: any) {\n const els = document.getElementsByClassName(className);\n while (els[0]) {\n els[0].classList.remove(className);\n }\n }\n\n /**\n * Topbar Light-Dark Mode Change\n */\n changeMode(mode: string) {\n this.mode = mode;\n this.eventService.broadcast('changeMode', mode);\n\n switch (mode) {\n case 'light':\n document.body.setAttribute('data-layout-mode', \"light\");\n document.body.setAttribute('data-sidebar', \"light\");\n break;\n case 'dark':\n document.body.setAttribute('data-layout-mode', \"dark\");\n document.body.setAttribute('data-sidebar', \"dark\");\n break;\n default:\n document.body.setAttribute('data-layout-mode', \"light\");\n break;\n }\n }\n\n /**\n * Returns true or false if given menu item has child or not\n * @param item menuItem\n */\n hasItems(item: MenuItem) {\n return item.subItems !== undefined ? item.subItems.length > 0 : false;\n }\n\n /**\n * On mobile toggle button clicked\n */\n toggleMobileMenu() {\n if (window.screen.width <= 1024) {\n document.getElementById('navbarNav')?.classList.toggle('show');\n }\n }\n\n /**\n * Bootsrap validation form submit method\n */\n validSubmit() {\n this.submit = true;\n }\n\n /**\n * Returns form\n */\n get form() {\n return this.validationform.controls;\n }\n\n /**\n * Bootstrap tooltip form validation submit method\n */\n formSubmit() {\n this.formsubmit = true;\n }\n\n /**\n * returns tooltip validation form\n */\n get formData() {\n return this.signUpform.controls;\n }\n\n /**\n * Window scroll method\n */\n // tslint:disable-next-line: typedef\n windowScroll() {\n const navbar = document.querySelector('.navbar');\n if (document.documentElement.scrollTop > 40) {\n navbar?.classList.add('navbar-stuck');\n document.querySelector('.btn-scroll-top')?.classList.add('show');\n }\n else {\n navbar?.classList.remove('navbar-stuck');\n document.querySelector('.btn-scroll-top')?.classList.remove('show');\n }\n }\n\n /**\n * Demos Onclick\n */\n demosDroupDownClick() {\n document.querySelector('.demos')?.classList.toggle('show');\n }\n\n openLicenceModal(): void {\n this.modalService.open(LicenceModalComponent);\n }\n}\n","\n
\n
\n \n \"Finder\"\n \n \n Ajouter ma licence\n \n
\n \n\n
\n
\n
\n\n\n\n \n \n
\n \n
\n
\n

Hey there!
Welcome back.

\"Illustartion\"\n
Don't have an account? Sign up here
\n
\n
Sign in with GoogleSign in with Facebook\n
\n
\n
Or
\n
\n
\n
\n
\n \n \n
Please enter you email.
\n
\n
\n
\n Forgot password?\n
\n
\n \n
Please enter you password.
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n \n \n
\n \n
\n
\n

Join Finder.
Get premium benefits:

\n
    \n
  • Add and promote your listings
  • \n
  • Easily manage your wishlist
  • \n
  • Leave reviews
  • \n
\"Illustartion\"\n
Already have an account? Sign in
\n
\n
Sign in with GoogleSign in with Facebook\n
\n
\n
Or
\n
\n
\n
\n
\n \n \n
Please enter you full name.
\n
\n
\n \n \n
Please enter you email.
\n
\n
\n \n
\n \n
Please enter you password.
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { MenuItem } from './menu.model';\r\n\r\nexport const MENU: MenuItem[] = [\r\n {\r\n id: 1,\r\n label: 'Accueil',\r\n link: '/'\r\n },\r\n {\r\n id: 2,\r\n label: 'Entreprises',\r\n link: '/catalog/grid',\r\n type: 'entreprises'\r\n },\r\n {\r\n id: 3,\r\n label: 'Pharmacies',\r\n link: '/catalog/grid',\r\n type: 'pharmacies'\r\n },\r\n {\r\n id: 3,\r\n label: 'Institutions',\r\n link: '/catalog/grid',\r\n type: 'institutions'\r\n },\r\n {\r\n id: 4,\r\n label: 'Offres publics/privés',\r\n link: '/catalog/offres',\r\n },\r\n {\r\n id: 5,\r\n label: 'Textes Officiels',\r\n link: '/catalog/gov',\r\n },\r\n];\r\n","import { Component } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LicenceService } from '../../core/services/licence.service';\nimport { ValidKey } from '../../core/models/key.model';\n\n@Component({\n selector: 'app-licence-modal',\n templateUrl: './licence-modal.component.html'\n})\nexport class LicenceModalComponent {\n licenceKey: string = '';\n error: string = '';\n success: string = '';\n\n constructor(\n public activeModal: NgbActiveModal,\n private licenceService: LicenceService\n ) {}\n\n verifyLicence(): void {\n const validKeys: ValidKey[] = ['PHARM2024', 'ENTRP2024', 'OFFRE2024', 'GOUV2024', 'FULL2024'];\n\n if (validKeys.includes(this.licenceKey as ValidKey)) {\n if (this.licenceService.verifyLicenceKey(this.licenceKey as ValidKey)) {\n this.success = 'Licence activée avec succès !';\n this.error = '';\n setTimeout(() => this.activeModal.close('success'), 1500);\n } else {\n this.error = 'Clé de licence invalide';\n this.success = '';\n }\n } else {\n this.error = 'Clé de licence invalide';\n this.success = '';\n }\n }\n} ","
\n

Activer une licence

\n \n
\n
\n
\n \n \n
\n @if(error){\n
{{error}}
\n }\n @if(success){\n
{{success}}
\n }\n
\n
\n \n \n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';\n\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\n\n// Component\nimport { HeaderComponent } from './header/header.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component';\nimport { LicenceModalComponent } from './licence-modal/licence-modal.component';\n\n@NgModule({\n declarations: [\n HeaderComponent,\n FooterComponent,\n BreadcrumbsComponent,\n LicenceModalComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n NgbDropdownModule,\n ScrollToModule.forRoot()\n ],\n exports: [HeaderComponent, FooterComponent, BreadcrumbsComponent, LicenceModalComponent]\n})\nexport class SharedModule { }\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: true,\n apiUrl: 'https://api.annuaireduniger.com/api'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\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"],"names":["RouterModule","GridComponent","routes","path","loadChildren","then","m","PagesModule","AuthModule","ExtrapagesModule","component","AppRoutingModule","_","_2","_3","forRoot","imports","i1","exports","AppComponent","constructor","title","selectors","decls","vars","template","AppComponent_Template","rf","ctx","i0","ɵɵelement","BrowserModule","HttpClientModule","GoogleMapsModule","AppModule","bootstrap","declarations","map","BehaviorSubject","environment","DataService","http","apiUrl","imageBaseUrl","currentPage","defaultLogo","sortByName","items","sort","a","b","nameA","libelle","nom","toLowerCase","nameB","localeCompare","getDomains","get","pipe","domains","domain","getDomainById","id","getEnterprises","params","enterprises","enterprise","getEnterpriseById","getEnterprisesBySubSector","subSectorId","getEvents","events","event","getInstitutions","institutions","institution","getPharmacies","getAdvertisements","ads","ad","getSectors","sectors","sector","getSectorsByDomain","domainId","getSubSectors","sectorId","getAnnouncements","search","query","q","ɵɵinject","HttpClient","factory","ɵfac","providedIn","Subject","filter","EventService","handler","broadcast","type","payload","next","subscribe","callback","LicenceService","accessState","pharmacies","entreprises","offres","gouvernement","accessState$","asObservable","savedState","localStorage","getItem","JSON","parse","verifyLicenceKey","key","validKeys","currentState","value","forEach","setItem","stringify","isDomainAccessible","from","LocationService","getCurrentPosition","Promise","resolve","reject","navigator","geolocation","calculateDistance","lat1","lon1","lat2","lon2","R","dLat","deg2rad","dLon","Math","sin","cos","c","atan2","sqrt","d","round","deg","PI","calculateEnterpriseDistance","position","latitude","longitude","coords","parseFloat","toString","forkJoin","LicenceModalComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","GridComponent_Conditional_3_Template_button_click_8_listener","ɵɵrestoreView","_r16","ctx_r15","ɵɵnextContext","ɵɵresetView","openLicenceModal","GridComponent_ng_template_23_div_0_Template_input_ngModelChange_2_listener","$event","_r23","ctx_r22","filterGarde","ctx_r24","onGardeToggleChange","ɵɵadvance","ɵɵproperty","ctx_r17","city_r25","ɵɵtextInterpolate","district_r30","ɵɵtemplate","GridComponent_ng_template_23_div_0_Template","GridComponent_ng_template_23_Template_select_change_4_listener","_r36","_r18","ɵɵreference","ctx_r35","onLocationChange","ɵɵrepeaterCreate","GridComponent_ng_template_23_For_9_Template","ɵɵrepeaterTrackByIdentity","GridComponent_ng_template_23_Template_select_change_10_listener","_r20","ctx_r37","onDistrictChange","GridComponent_ng_template_23_For_15_Template","ctx_r2","currentDataType","ɵɵrepeater","cities","selectedLocation","availableDistricts","marker_r38","label","ad_r40","lien_whatsapp","ɵɵsanitizeUrl","lien_facebook","GridComponent_div_34_For_3_ng_template_0_Conditional_8_Template","GridComponent_div_34_For_3_ng_template_0_Conditional_9_Template","description","ɵɵconditional","GridComponent_div_34_For_3_ng_template_0_Template","GridComponent_div_34_For_3_Template","_forTrack0","ctx_r4","advertisements","ɵɵtextInterpolate1","ctx_r6","error","domain_r51","GridComponent_Conditional_57_For_5_Template_div_click_1_listener","restoredCtx","_r63","sector_r57","$implicit","ctx_r62","onSectorChange","ɵɵclassProp","ctx_r56","selectedSector","GridComponent_Conditional_57_For_5_Template","ctx_r9","GridComponent_Conditional_58_For_5_Template_div_click_1_listener","_r71","subSector_r65","ctx_r70","onSubSectorChange","ctx_r64","selectedSubSector","GridComponent_Conditional_58_For_5_Template","ctx_r10","subSectors","enterprise_r72","distance","GridComponent_For_61_span_13_Template","GridComponent_For_61_span_14_Template","adresse","region","telephone","GridComponent_button_63_Template_button_click_0_listener","_r83","ctx_r82","loadMore","GridComponent_button_63_span_1_Template","GridComponent_button_63_span_2_Template","ctx_r12","isLoadingMore","GridComponent_Conditional_69_Template_button_click_7_listener","_r85","ctx_r84","dataService","locationService","route","router","licenceService","modalService","dataCount","hasMoreData","searchQuery","isLoading","categoryMap","districts","minValue","maxValue","options","floor","ceil","translate","allEnterprises","allPharmacies","allInstitutions","PAGE_SIZE","filteredData","showGardeFilter","mapOptions","center","lat","lng","zoom","mapTypeId","markers","pendingType","showWhatsAppOptions","hasAccess","state","ngOnInit","breadCrumbItems","link","active","loadInitialData","document","body","classList","remove","queryParams","normalizedType","length","find","onDomainChange","undefined","loadEnterprises","loadAdvertisements","loadAllData","console","data","page","sourceData","item","garde","e","selectedDistrict","sousecteur_id","totalPages","start","end","paginatedData","slice","selectedDomain","parseInt","domainName","navigate","relativeTo","queryParamsHandling","includes","onSearch","FilterSidebar","getElementById","toggle","querySelector","SidebarHide","openMapModal","initializeMap","closeMapModel","add","SortFilter","sortField","sortBy","replace","categoryClick","categoryName","preventDefault","location","district","categoryDownClick","target","categoryText","textContent","valueChange","isMin","onSearchInput","searchValue","trim","Number","text","color","centerMap","getSearchTitle","modalRef","open","ɵɵdirectiveInject","i2","i3","ActivatedRoute","Router","i4","i5","NgbModal","consts","GridComponent_Template","GridComponent_Conditional_3_Template","GridComponent_Template_button_click_10_listener","GridComponent_Template_input_ngModelChange_15_listener","term","GridComponent_ng_template_23_Template","GridComponent_Template_button_click_29_listener","GridComponent_map_marker_32_Template","GridComponent_div_34_Template","GridComponent_Template_a_click_38_listener","GridComponent_div_47_Template","GridComponent_div_48_Template","GridComponent_Template_select_change_51_listener","_r86","_r7","GridComponent_For_56_Template","GridComponent_Conditional_57_Template","GridComponent_Conditional_58_Template","GridComponent_For_61_Template","GridComponent_button_63_Template","GridComponent_Template_button_click_65_listener","GridComponent_Template_div_click_68_listener","GridComponent_Conditional_69_Template","GridComponent_Conditional_70_Template","_r1","finalize","ctx_r1","ɵɵpureFunction0","_c0","ɵɵpureFunction1","_c1","domain_r8","ɵɵpropertyInterpolate","Home2Component_section_76_For_3_Template","ɵɵrepeaterTrackByIndex","categoriesData","ɵɵelementContainerStart","ɵɵelementContainerEnd","enterprise_r13","Home2Component_For_87_ng_container_13_Template","Home2Component_For_87_ng_template_14_Template","ɵɵtemplateRefExtractor","data_r22","ɵɵstyleMapInterpolate1","data_r27","date","Home2Component","berlinData","eventsData","adsData","announcement","berlin","slidesToShow","slidesToScroll","arrows","infinite","responsive","breakpoint","settings","afterChange","lastSlide","currentSlide","initialSlide","slidesPerView","spaceBetween","centeredSlides","navigation","pagination","loop","breakpoints","adsConfig","dots","speed","autoplay","autoplaySpeed","blogs","loadData","addEventListener","input","city","innerText","categories","featured","announcements","Home2Component_Template","Home2Component_div_74_Template","Home2Component_div_75_Template","Home2Component_section_76_Template","Home2Component_For_87_Template","Home2Component_For_93_Template","Home2Component_For_237_Template","ɵɵnamespaceSVG","ɵɵnamespaceHTML","DashboardModule","CatalogModule","AccountModule","VendorModule","PagesRoutingModule","forChild","CommonModule","FlatpickrModule","SharedModule","LightboxModule","item_r1","BreadcrumbsComponent_For_3_Conditional_2_Template","BreadcrumbsComponent_For_3_Conditional_3_Template","BreadcrumbsComponent","inputs","breadcrumbItems","BreadcrumbsComponent_Template","BreadcrumbsComponent_For_3_Template","FooterComponent_div_92_Template_button_click_1_listener","_r2","redirectToWhatsApp","FooterComponent_div_92_Template_button_click_3_listener","ctx_r3","FooterComponent","sidebarShow","toggleWhatsAppOptions","message","phoneNumber","url","encodeURIComponent","window","FooterComponent_Template","FooterComponent_Template_button_click_90_listener","FooterComponent_div_92_Template","Validators","NavigationEnd","MENU","HeaderComponent_For_10_Template_a_click_1_listener","_r11","onMenuClick","item_r5","HeaderComponent_ng_template_11_Template_button_click_1_listener","_r14","modal_r12","dismiss","HeaderComponent_ng_template_11_Template_a_click_11_listener","_r4","secondModal","close","HeaderComponent_ng_template_11_Template_form_ngSubmit_25_listener","validSubmit","HeaderComponent_ng_template_11_Template_span_click_44_listener","ctx_r18","toggleLoginPassField","validationform","_c2","submit","form","errors","loginPassfield","ɵɵpureFunction2","_c3","HeaderComponent_ng_template_13_Template_button_click_1_listener","_r21","modal_r19","HeaderComponent_ng_template_13_Template_a_click_24_listener","toggleModal","HeaderComponent_ng_template_13_Template_form_ngSubmit_38_listener","formSubmit","HeaderComponent_ng_template_13_Template_span_click_62_listener","ctx_r25","toggleSignUpPassField","HeaderComponent_ng_template_13_Template_span_click_70_listener","ctx_r26","toggleSignUpCPassField","signUpform","formsubmit","formData","signupPassfield","signupCPassfield","HeaderComponent","eventService","formBuilder","menuItems","activateMenu","group","email","required","password","name","staticDataModal","size","centered","toggleSecondModal","nextEl","nextElementSibling","parentEl","parentNode","ngAfterViewInit","resetParent","el","parent","parentElement","parent2","_removeAllClass","parent3","parent4","parent5","menuelement","contains","links","getElementsByClassName","matchingMenuItem","i","pathname","className","els","changeMode","mode","setAttribute","hasItems","subItems","toggleMobileMenu","screen","width","controls","windowScroll","navbar","documentElement","scrollTop","demosDroupDownClick","UntypedFormBuilder","viewQuery","HeaderComponent_Query","HeaderComponent_Template_header_scroll_0_listener","ɵɵresolveWindow","HeaderComponent_Template_a_click_4_listener","HeaderComponent_For_10_Template","HeaderComponent_ng_template_11_Template","HeaderComponent_ng_template_13_Template","ctx_r0","success","activeModal","licenceKey","verifyLicence","setTimeout","NgbActiveModal","LicenceModalComponent_Template","LicenceModalComponent_Template_button_click_3_listener","LicenceModalComponent_Template_input_ngModelChange_8_listener","LicenceModalComponent_Conditional_9_Template","LicenceModalComponent_Conditional_10_Template","LicenceModalComponent_Template_button_click_12_listener","LicenceModalComponent_Template_button_click_14_listener","FormsModule","ReactiveFormsModule","ScrollToModule","NgbDropdownModule","production","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}