{"version":3,"file":"main.3822906cb441c3a8.js","mappings":"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","sources":["./src/app/api.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/shared/UI/dailogPopUp/idle-warning-dialog.component.ts","./src/app/shared/constants/constants.ts","./src/app/shared/interceptor/api.interceptor.ts","./src/app/shared/models/customer-insights.model.ts","./src/app/sign-in/service/auth.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n CustomerInfo,\n CustomerProfile,\n CustomerProfileResponse,\n} from './shared/models/customer';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport {\n CheckEmailResponse,\n GoogleData,\n LoginData,\n RegisterResponse,\n} from './shared/models/login.models';\nimport {\n BaseResponse,\n CountriesResp,\n GetCountryByCodeResp,\n ImgResponse,\n} from './shared/models/api.models';\nimport { PasswordForm } from './shared/models/setting.models';\nimport {\n ByWhomResponse,\n GearI,\n GearResponse,\n OrganizerForgotPasswordInfo,\n OrganizerResetPasswordInfo,\n OrganizerSignUpInfo,\n OrganizersMeInfo,\n OrganizersMeInfoResponse,\n OrganizerVerifyOTPInfo,\n OrganizerVerifyOTPResponseInfo,\n SearchOrganizersResponse,\n TeamMemberList,\n} from './shared/models/organizer.models';\nimport {\n CreateTripResponse,\n TransactionPriceItem,\n Trip,\n TripDaysResponse,\n TripDetailPricesResponse,\n TripPageInfoResponse,\n TripPricesResponse,\n TripResponse,\n TripTransactionResponse,\n TripTravelersResponse,\n TripType,\n} from './shared/models/trip.models';\nimport {\n MyReviewResponse,\n NewReviewItem,\n OrganizerReviewResponse,\n RatingResponse,\n RatingTripsResponse,\n ReviewI,\n TripReviewsResponse,\n} from './shared/models/review.models';\nimport { CheckTripsIsBookedResponse } from './shared/models/booking.models';\nimport { Points } from './shared/UI/maps/service/maps.service';\nimport { NotificationResponse } from './shared/models/notification.models';\nimport { BehaviorSubject, map, Observable, tap } from 'rxjs';\nimport {\n AgeGroupBookingObj,\n AgeGroupBookingReportData,\n AllPackageBookingData,\n ApiResponse,\n AverageRevenuePerPackageData,\n CustomerData,\n CustomerDemographics,\n CustomerInsights,\n CustomerInsightsModel,\n CustomerReview,\n CustomerReviewsResponse,\n ExtraServiceRevenueData,\n FilterParams,\n OrganizerTrips,\n PackageAvailabilityData,\n PackageBookingData,\n PackagePerformance,\n PackagePerformanceReportData,\n PaginatedData,\n PaymentStatusReport,\n PendingTripBookingTrips,\n PopularDestinationData,\n TotalSalesData,\n TotalSalesReportData,\n TripBookingData,\n TripCancellation,\n TripCancellationData,\n TripData,\n UpcomingTripBookingTrips,\n} from './shared/models/customer-insights.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n constructor(private readonly httpService: HttpClient) { }\n public isFromProfile = false;\n\n public warningBanner = new BehaviorSubject(false);\n public accomodationWarning = new BehaviorSubject(false);\n\n public orgProfile = {\n id: '',\n name: '',\n };\n\n private getAuthHeaders() {\n const token = localStorage.getItem('reset_token'); // or sessionStorage, depending on where it's stored\n return new HttpHeaders({\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n });\n }\n\n customerLogin(loginData: LoginData) {\n return this.httpService.post(\n `${environment.URL}customers/login`,\n loginData\n );\n }\n\n customerSignUp(customerInfo: CustomerInfo) {\n return this.httpService.post(\n `${environment.URL}customers/signup`,\n customerInfo\n );\n }\n\n customerUpdatePassword(passwordForm: PasswordForm) {\n return this.httpService.patch(\n `${environment.URL}customers/me/password`,\n passwordForm\n );\n }\n\n customerLoginGoogle(googleData: any) {\n const formData = new FormData();\n for (const key in googleData) {\n if (googleData.hasOwnProperty(key)) {\n formData.append(key, googleData[key]);\n }\n }\n return this.httpService.post(\n `${environment.URL}customers/login/google`,\n formData,\n { withCredentials: false }\n );\n }\n\n organizerLoginGoogle(googleData: any) {\n const formData = new FormData();\n for (const key in googleData) {\n if (googleData.hasOwnProperty(key)) {\n formData.append(key, googleData[key]);\n }\n }\n return this.httpService.post(\n `${environment.URL}organizers/login/google`,\n formData,\n { withCredentials: false }\n );\n }\n\n organizerSignUp(organizerInfo: OrganizerSignUpInfo) {\n return this.httpService.post(\n `${environment.URL}organizers/signup`,\n organizerInfo\n );\n }\n\n organizerForgotPassword(organizerInfo: OrganizerForgotPasswordInfo) {\n return this.httpService.post(\n `${environment.URL}organizers/getOtp/reset-password`,\n organizerInfo\n );\n }\n\n CustomerForgotPassword(organizerInfo: OrganizerForgotPasswordInfo) {\n return this.httpService.post(\n `${environment.URL}customers/getOtp/reset-password`,\n organizerInfo\n );\n }\n\n organizerEmailOTPPassword(organizerInfo: OrganizerForgotPasswordInfo) {\n return this.httpService.post(\n `${environment.URL}organizers/getOtp`,\n organizerInfo\n );\n }\n\n CustomerEmailOTPPassword(organizerInfo: OrganizerForgotPasswordInfo) {\n return this.httpService.post(\n `${environment.URL}customers/getOtp`,\n organizerInfo\n );\n }\n\n organizerVerifyOTP(organizerInfo: OrganizerVerifyOTPInfo) {\n return this.httpService.post(\n `${environment.URL}organizers/verifyOtp`,\n organizerInfo\n );\n }\n\n CustomerVerifyOTP(organizerInfo: OrganizerVerifyOTPInfo) {\n return this.httpService.post(\n `${environment.URL}customers/verifyOtp`,\n organizerInfo\n );\n }\n\n organizerEmailVerifyOTP(organizerInfo: OrganizerVerifyOTPInfo) {\n return this.httpService.post(\n `${environment.URL}organizers/verifyEmail`,\n organizerInfo\n );\n }\n\n CustomerEmailVerifyOTP(organizerInfo: OrganizerVerifyOTPInfo) {\n return this.httpService.post(\n `${environment.URL}customers/verifyEmail`,\n organizerInfo\n );\n }\n\n organizerResetPassword(organizerInfo: OrganizerResetPasswordInfo) {\n const headers = this.getAuthHeaders();\n return this.httpService.post(\n `${environment.URL}organizers/reset-password`,\n organizerInfo,\n { headers }\n );\n }\n\n CustomerResetPassword(organizerInfo: OrganizerResetPasswordInfo) {\n const headers = this.getAuthHeaders();\n return this.httpService.post(\n `${environment.URL}customers/reset-password`,\n organizerInfo,\n { headers }\n );\n }\n\n customerCheckEmail(email: string) {\n return this.httpService.post(\n `${environment.URL}customers/check-email`,\n { email: email }\n );\n }\n\n organizerCheckEmail(email: string) {\n return this.httpService.post(\n `${environment.URL}organizers/check-email`,\n { email: email }\n );\n }\n\n customerUpdateProfile(customerProfile: CustomerProfile) {\n return this.httpService.patch(\n `${environment.URL}customers/me`,\n customerProfile\n );\n }\n\n getCountries() {\n return this.httpService.get(\n 'https://countriesnow.space/api/v0.1/countries/flag/images'\n );\n }\n\n getCountryOfCode(code: string) {\n return this.httpService.get(\n `https://restcountries.com/v3.1/alpha/${code}`\n );\n }\n\n createTrip(newTrip: Trip, trip_status: number) {\n // Get isPublic from localStorage (assuming it is stored as a string)\n let isPublic = localStorage.getItem('isTripVisible');\n // If isPublic is found in localStorage, convert it to a number (either 0 or 1)\n if (isPublic == 'true') {\n newTrip.is_public = true;\n } else {\n // If isPublic is not found, default to 0\n newTrip.is_public = false;\n }\n // Create HttpParams with trip_status as a query parameter (keeping it as a number)\n const params = new HttpParams().set('trip_status', trip_status.toString());\n // Make the API request with the updated newTrip object\n return this.httpService\n .post(`${environment.URL}trips`, newTrip, { params })\n .pipe(\n // On success, remove tripType from localStorage and return the response\n tap((response) => {\n localStorage.removeItem('isTripVisible');\n return response;\n })\n );\n }\n\n getTripsOrganizers() {\n return this.httpService.get(\n `${environment.URL}organizers/me/trips`\n );\n }\n\n getOrganizerBankDetails() {\n return this.httpService.get(\n `${environment.URL}organizers/me/account-details/get-account-details`\n );\n }\n\n getMarginFees() {\n return this.httpService.get(\n `${environment.URL}organizers/me/margin-fees/get-margin-fees`\n );\n }\n\n addBankDetails(data: any) {\n return this.httpService.post(\n `${environment.URL}organizers/me/account-details/add-account-details`,\n data\n );\n }\n\n uploadImg(file: File, type: string) {\n return this.httpService.post(\n `${environment.URL}media/images?type=${type}`,\n file\n );\n }\n\n getOrganizersMe() {\n return this.httpService.get(\n `${environment.URL}organizers/profile`\n );\n }\n\n organizerCheckUsername(name: string) {\n return this.httpService.post(\n `${environment.URL}organizers/check-username`,\n { username: name }\n );\n }\n\n organizersUpdateProfile(organizersProfile: OrganizersMeInfo) {\n return this.httpService.patch(\n `${environment.URL}organizers/profile`,\n organizersProfile\n );\n }\n\n organizerChangePassword(passwordForm: PasswordForm) {\n return this.httpService.patch(\n `${environment.URL}organizers/me/password`,\n passwordForm\n );\n }\n\n getCustomersMe() {\n return this.httpService.get(\n `${environment.URL}customers/me`\n );\n }\n\n // getWhenTrips() {\n // return this.httpService.get(`${environment.URL}trips/when`);\n // }\n\n getWhenTrips(limit: number, offset: number) {\n return this.httpService.get(\n `${environment.URL}trips/when?limit=${limit}&offset=${offset}`\n );\n }\n\n getTripById(id: string, adminToken?: string) {\n let params = new HttpParams();\n\n if (adminToken) {\n params = params.set('adminToken', adminToken);\n }\n return this.httpService.get(\n `${environment.URL}trips/${id}`,\n { params }\n );\n }\n\n organizerLogin(loginData: LoginData) {\n return this.httpService.post(\n `${environment.URL}organizers/login`,\n loginData\n );\n }\n\n updateStatusTrip(tripId: number, status: number) {\n return this.httpService.patch(\n `${environment.URL}trips/${tripId}/status`,\n { status: status }\n );\n }\n\n getDaysOfTrips(tripId: number) {\n return this.httpService.get(\n `${environment.URL}trips/${tripId}/days`\n );\n }\n\n getPricesOfTrips(tripId: number) {\n return this.httpService.get(\n `${environment.URL}trips/${tripId}/prices-booking-details`\n // `${environment.URL}trips/${tripId}/prices`\n );\n }\n\n getDetailPricesOfTrips(tripId: number) {\n return this.httpService.get(\n `${environment.URL}trips/${tripId}/prices-booking-details`\n );\n }\n\n getTripTransactionDetails(\n tripId: number,\n customerId: number,\n price_item_id: number\n ) {\n return this.httpService.get(\n `${environment.URL}trips/transaction/trip/${tripId}/customer/${customerId}/price_item/${price_item_id}`\n );\n }\n\n getTripReviews(tripId: number) {\n return this.httpService.get(\n `${environment.URL}trips/${tripId}/reviews?limit=10&offset=0`\n );\n }\n\n getWhereTrips(northEast: Points, southWest: Points) {\n return this.httpService.get(\n `${environment.URL}trips/where?min_lng=${northEast.lng}&&min_lat=${northEast.lat}&max_lng=${southWest.lng}&max_lat=${southWest.lat}`\n );\n }\n\n getFirstWhereTrips(northEast: Points) {\n return this.httpService.get(\n `${environment.URL}trips/closest?lng=${northEast.lng}&lat=${northEast.lat}`\n );\n }\n\n getByWhomPage() {\n return this.httpService.get(`${environment.URL}trips/whom`);\n }\n\n getOrganizersProfileById(id: string) {\n return this.httpService.get(\n `${environment.URL}organizers/${id}`\n );\n }\n\n getOrganizersReview(id: string) {\n return this.httpService.get(\n `${environment.URL}organizers/${id}/reviews?limit=2&offset=0`\n );\n }\n\n getOrganizersTrips(id: string) {\n return this.httpService.get(\n `${environment.URL}organizers/${id}/trips`\n );\n }\n\n getOrganizersRating(ids: number[]) {\n return this.httpService.get(\n `${environment.URL}organizers/rating?organizers=${encodeURIComponent(\n ids.join(',')\n )}`\n );\n }\n\n getTripsRating(ids: number[]) {\n return this.httpService.get(\n `${environment.URL}trips/rating?trips=${encodeURIComponent(\n ids.join(',')\n )}`\n );\n }\n\n setFavoriteTrip(id: number) {\n return this.httpService.post(\n `${environment.URL}customers/me/trips/favorite/${id}`,\n {}\n );\n }\n\n deleteFavoriteTrip(id: number) {\n return this.httpService.delete(\n `${environment.URL}customers/me/trips/favorite/${id}`\n );\n }\n\n getFutureTrips() {\n return this.httpService.get(\n `${environment.URL}customers/me/trips/future?limit=10&offset=0`\n );\n }\n\n getCompletedTrips() {\n return this.httpService.get(\n `${environment.URL}customers/me/trips/completed?limit=10&offset=0`\n );\n }\n\n getFavoriteTrips() {\n return this.httpService.get(\n `${environment.URL}customers/me/trips/favorite`\n );\n }\n\n getCancelledTrips() {\n return this.httpService.get(\n `${environment.URL}customers/me/trips/cancelled`\n );\n }\n\n organizersSwitchRole() {\n return this.httpService.post(\n `${environment.URL}organizers/me/switch-role`,\n {}\n );\n }\n\n customerSwitchRole() {\n return this.httpService.post(\n `${environment.URL}customers/me/switch-role`,\n {}\n );\n }\n\n addGear(gear: GearI[]) {\n return this.httpService.post(\n `${environment.URL}organizers/me/gear`,\n { gear: gear }\n );\n }\n\n getGear() {\n return this.httpService.get(\n `${environment.URL}organizers/me/gear`\n );\n }\n\n deleteGear(id: number) {\n return this.httpService.delete(\n `${environment.URL}organizers/me/gear/${id}`\n );\n }\n\n deletePhoto(photoPath: string) {\n return this.httpService.delete(\n `${environment.URL}media/images?path=${photoPath}`\n );\n }\n\n createTransaction(transactionDetails: any) {\n return this.httpService.post(\n `${environment.URL}payments/transaction`,\n transactionDetails\n );\n }\n\n createTripReview(review: NewReviewItem, tripId: string) {\n return this.httpService.post(\n `${environment.URL}trips/${tripId}/reviews`,\n review\n );\n }\n\n createOrganizerReview(review: NewReviewItem, organizerId: string) {\n return this.httpService.post(\n `${environment.URL}organizers/${organizerId}/reviews`,\n review\n );\n }\n\n updateTrip(id: string, newTrip: Trip, trip_status: number | null) {\n let params = new HttpParams();\n if (trip_status !== null) {\n params = params.set('trip_status', trip_status.toString());\n }\n return this.httpService.patch(`${environment.URL}trips/${id}`, newTrip, {\n params,\n });\n }\n\n updateTripType(id: string, newTrip: TripType, trip_status: number) {\n // Create HttpParams with trip_status as a query parameter (keeping it as a number)\n const params = new HttpParams().set('trip_status', trip_status.toString());\n return this.httpService.patch(`${environment.URL}trips/${id}`, newTrip, {\n params,\n });\n }\n\n deleteTrip(id: string) {\n return this.httpService.delete(`${environment.URL}trips/${id}`);\n }\n\n getMyTripReview(id: number) {\n return this.httpService.get(\n `${environment.URL}trips/${id}/reviews/my`\n );\n }\n\n getMyOrganizerReview(id: number) {\n return this.httpService.get(\n `${environment.URL}organizers/${id}/reviews/my`\n );\n }\n\n patchTripReview(review: NewReviewItem, tripId: string) {\n return this.httpService.patch(\n `${environment.URL}trips/${tripId}/reviews`,\n review\n );\n }\n\n patchOrganizerReview(review: NewReviewItem, id: string) {\n return this.httpService.patch(\n `${environment.URL}organizers/${id}/reviews`,\n review\n );\n }\n\n getTravelers(id: number) {\n return this.httpService.get(\n `${environment.URL}trips/${id}/travelers`\n );\n }\n\n checkTripsIsBooked(id: number) {\n return this.httpService.get(\n `${environment.URL}trips/${id}/check-booking`\n );\n }\n\n searchOrganizers(organizerName: string) {\n return this.httpService.get(\n `${environment.URL}organizers?q=${organizerName}&limit=10`\n );\n }\n\n getNotifications(role: string, lang: string) {\n const params = new HttpParams().set('lang', lang);\n return this.httpService.get(\n `${environment.URL}${role}/me/notifications`,\n { params }\n );\n }\n\n readNotification(role: string, ids: number[]) {\n return this.httpService.post(\n `${environment.URL\n }${role}/me/notifications/read?notifications=${encodeURIComponent(\n ids.join(',')\n )}`,\n {}\n );\n }\n\n getCustomerInsights() {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/customer-insights/customers-insights`\n )\n .pipe(\n map(\n (response) =>\n new CustomerInsightsModel(response.data['customer-insights'])\n )\n );\n }\n\n getTripReport(\n limit: number,\n offset: number\n ): Observable> {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get & { total_items: number }>(\n `${environment.URL}organizers/me/travel-dates-availability/trip`,\n { params }\n )\n .pipe(\n map((response) => ({\n data: response.data.trips,\n total: response.total_items,\n }))\n );\n }\n\n // New method for downloading all trips data\n downloadTripReport(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/travel-dates-availability/trip`\n )\n .pipe(map((response) => response.data.trips));\n }\n\n getTotalSales(startDate: string, endDate: string): Observable {\n const params = { startDate, endDate };\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/sales-booking-overview/get-total-sales`,\n { params }\n )\n .pipe(map((response) => response.data.TotalSalesReport));\n }\n\n getTotalRevenue() {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/revenue-profit/total-sale\n`\n )\n .pipe(map((response) => response.data.totalSales));\n }\n\n getAverageRevenuePerPackage(limit: number, offset: number) {\n return this.httpService\n .get<{ data: AverageRevenuePerPackageData; total_items: number }>(\n `${environment.URL}organizers/me/revenue-profit/average-revenue-per-package`,\n {\n params: { limit: limit.toString(), offset: offset.toString() },\n }\n )\n .pipe(\n map((response) => ({\n data: response.data.TripsAverageRevenue,\n total: response.total_items,\n }))\n );\n }\n\n downloadAverageRevenuePerPackage() {\n return this.httpService\n .get<{ data: AverageRevenuePerPackageData; total_items: number }>(\n `${environment.URL}organizers/me/revenue-profit/average-revenue-per-package`\n )\n .pipe(\n map((response) => ({\n data: response.data.TripsAverageRevenue,\n total: response.total_items,\n }))\n );\n }\n\n getExtraServiceRevenueCount() {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/revenue-profit/extra-services-booking-count`\n )\n .pipe(map((response) => response.data.ExtraServices));\n }\n\n getUpcomingTripReport(\n limit: number,\n offset: number\n ): Observable> {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get<\n ApiResponse<{ UpcomingTripsBookingStatus: TripBookingData[] }> & {\n total_items: number;\n }\n >(\n `${environment.URL}organizers/me/booking-status-management/upcoming-trip-booking-status`,\n {\n params,\n }\n )\n .pipe(\n map((response) => ({\n data: response.data.UpcomingTripsBookingStatus,\n total: response.total_items,\n }))\n );\n }\n\n getPendingTripReport(\n limit: number,\n offset: number\n ): Observable> {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get<\n ApiResponse<{ PendingTripsBookingStatus: TripBookingData[] }> & {\n total_items: number;\n }\n >(\n `${environment.URL}organizers/me/booking-status-management/pending-trip-booking-status`,\n {\n params,\n }\n )\n .pipe(\n map((response) => ({\n data: response.data.PendingTripsBookingStatus,\n total: response.total_items,\n }))\n );\n }\n\n getCancelledTripReport(\n limit: number,\n offset: number\n ): Observable> {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get<\n ApiResponse<{ TripCancellationReport: TripCancellation[] }> & {\n total_items: number;\n }\n >(\n `${environment.URL}organizers/me/booking-status-management/get-trip-cancellation-report\n`,\n {\n params,\n }\n )\n .pipe(\n map((response) => ({\n data: response.data.TripCancellationReport,\n total: response.total_items,\n }))\n );\n }\n\n // For downloading all records\n downloadUpcomingTripsReport(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/booking-status-management/upcoming-trip-booking-status`\n )\n .pipe(map((response) => response.data.UpcomingTripsBookingStatus));\n }\n\n downloadCancelledTripsReport(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/booking-status-management/get-trip-cancellation-report\n`\n )\n .pipe(map((response) => response.data.TripCancellationReport));\n }\n\n downloadPendingTripsReport(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/booking-status-management/pending-trip-booking-status`\n )\n .pipe(map((response) => response.data.PendingTripsBookingStatus));\n }\n\n getPackagePerformance(limit: number): Observable {\n const params = new HttpParams().set('limit', limit.toString());\n\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/package-performance/package-performance`,\n { params }\n )\n .pipe(map((response) => response.data.PackagePerformance));\n }\n\n downloadTopPerformingTrips(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/package-performance/package-performance`\n )\n .pipe(\n map((response) => response.data.PackagePerformance.top_performing_trips)\n );\n }\n\n downloadUnderperformingTrips(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/package-performance/package-performance`\n )\n .pipe(\n map(\n (response) => response.data.PackagePerformance.underperforming_trips\n )\n );\n }\n\n getPackageAvailability(limit: number): Observable {\n const params = new HttpParams().set('limit', limit.toString());\n\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/package-performance/package-availability`,\n { params }\n )\n .pipe(\n map((response) => {\n return response.data.PackageAvailibility;\n })\n );\n }\n\n downloadPackageAvailabilityReport(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/package-performance/package-availability`\n )\n .pipe(map((response) => response.data.PackageAvailibility));\n }\n\n getPopularBookingDestination() {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/package-performance/popular-destination-booking-percentage`\n )\n .pipe(\n map((response) => {\n return response.data.popularDestination;\n })\n );\n }\n\n getBookingReportsAgeGroup(\n limit: number,\n offset: number\n ): Observable> {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get<\n ApiResponse<{ AgeGroupBookingReport: AgeGroupBookingObj[] }> & {\n total_items: number;\n }\n >(\n `${environment.URL}organizers/me/sales-booking-overview/get-bookingreports-age-group`,\n {\n params,\n }\n )\n .pipe(\n map((response) => ({\n data: response.data.AgeGroupBookingReport,\n total: response.total_items,\n }))\n );\n }\n\n downloadBookingReportsAgeGroup(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/sales-booking-overview/get-bookingreports-age-group`\n )\n .pipe(map((response) => response.data.AgeGroupBookingReport));\n }\n\n getPackageBookingCounts(\n limit: number,\n offset: number\n ): Observable> {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get<\n ApiResponse<{ AllPackageBookingCount: PackageBookingData[] }> & {\n total_items: number;\n }\n >(\n `${environment.URL}organizers/me/sales-booking-overview/get-package-booking-counts`,\n {\n params,\n }\n )\n .pipe(\n map((response) => ({\n data: response.data.AllPackageBookingCount,\n total: response.total_items,\n }))\n );\n }\n\n downloadBookingReport() {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/sales-booking-overview/get-package-booking-counts`\n )\n .pipe(map((response) => response.data.AllPackageBookingCount));\n }\n\n getSeasonBookingCounts(limit: number, offset: number): Observable {\n const params = new HttpParams()\n .set('limit', limit.toString())\n .set('offset', offset.toString());\n\n return this.httpService\n .get(\n `${environment.URL}organizers/me/sales-booking-overview/get-season-booking-report`,\n {\n params,\n }\n )\n .pipe(\n map((response) => ({\n data: response.data['season-booking-report'],\n total: response.data.total_items,\n }))\n );\n }\n\n downloadSeasonBookingReport() {\n return this.httpService\n .get(\n `${environment.URL}organizers/me/sales-booking-overview/get-season-booking-report`\n )\n .pipe(map((response) => response.data['season-booking-report']));\n }\n\n // apiTranslate(text: string) {\n // return this.httpService.post(`https://libretranslate.com/translate`, {q: text, source: 'en', target: 'ar', format: 'text'});\n // }\n getCustomerDemographics(\n filters?: FilterParams,\n limit?: number,\n offset?: number\n ): Observable> {\n let params = new HttpParams();\n // Add pagination parameters\n if (limit !== undefined) {\n params = params.set('limit', limit.toString());\n }\n if (offset !== undefined) {\n params = params.set('offset', offset.toString());\n }\n\n // Add filter parameters\n if (filters) {\n if (filters.limit !== undefined) {\n params = params.set('limit', filters.limit.toString());\n }\n if (filters.offset !== undefined) {\n params = params.set('offset', filters.offset.toString());\n }\n if (filters.gender) {\n params = params.set('gender', filters.gender.toLowerCase());\n }\n if (filters.location) {\n params = params.set('location', filters.location);\n }\n if (filters.age_min !== undefined) {\n params = params.set('age_min', filters.age_min.toString());\n }\n if (filters.age_max !== undefined) {\n params = params.set('age_max', filters.age_max.toString());\n }\n }\n\n return this.httpService\n .get & { total_items: number }>(\n `${environment.URL}organizers/me/customer-insights/customers-demographics`,\n { params }\n )\n .pipe(\n map((response) => ({\n data: response.data.customers_demographics,\n total: response.total_items,\n }))\n );\n }\n\n // Download full customer demographics data\n downloadCustomerDemographics(\n filters?: FilterParams\n ): Observable {\n let params = new HttpParams();\n\n // Add filter parameters for download\n if (filters) {\n if (filters.limit !== undefined) {\n params = params.set('limit', filters.limit.toString());\n }\n if (filters.offset !== undefined) {\n params = params.set('offset', filters.offset.toString());\n }\n if (filters.gender) {\n params = params.set('gender', filters.gender.toLowerCase());\n }\n if (filters.location) {\n params = params.set('location', filters.location);\n }\n if (filters.age_min !== undefined) {\n params = params.set('age_min', filters.age_min.toString());\n }\n if (filters.age_max !== undefined) {\n params = params.set('age_max', filters.age_max.toString());\n }\n }\n\n // Add export flag to get all records\n params = params.set('export', 'true');\n\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/customer-insights/customers-demographics`,\n { params }\n )\n .pipe(map((response) => response.data.customers_demographics));\n }\n\n // Customer Reviews Methods\n getCustomerReviews(\n limit?: number,\n offset?: number,\n tripId?: string\n ): Observable> {\n let params = new HttpParams();\n\n // Add pagination parameters\n if (limit !== undefined) {\n params = params.set('limit', limit.toString());\n }\n if (offset !== undefined) {\n params = params.set('offset', offset.toString());\n }\n\n // Add trip filter if specified\n if (tripId) {\n params = params.set('trip_id', tripId);\n }\n\n return this.httpService\n .get & { total_items: number }>(\n `${environment.URL}organizers/me/customer-insights/customers-reviews`,\n { params }\n )\n .pipe(\n map((response) => ({\n data: response.data.customers_review\n ? response.data.customers_review\n : [],\n total: response.total_items,\n }))\n );\n }\n\n // Download full reviews data\n downloadCustomerReviews(tripId?: string): Observable {\n let params = new HttpParams();\n\n // Add trip filter if specified\n if (tripId) {\n params = params.set('trip_id', tripId);\n }\n\n // Add export flag to get all records\n params = params.set('export', 'true');\n\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/customer-insights/customers-reviews`,\n { params }\n )\n .pipe(map((response) => response.data.customers_review));\n }\n\n recordTripViewCountByCustomer(trip_id: number, customer_id: number) {\n return this.httpService.post(\n `${environment.URL}trips/record-trip-view`,\n {},\n {\n params: {\n trip_id: trip_id.toString(),\n customer_id: customer_id.toString(),\n },\n }\n );\n }\n\n cancelTrip(trip_id: number, reason: string) {\n return this.httpService.delete>(\n `${environment.URL}organizers/me/trip/${trip_id}`,\n {\n body: { cancellation_reason_for_organizer: reason }, // Add reason as the request body\n }\n );\n }\n\n OrganizerMarketVisibility() {\n return this.httpService.post(\n `${environment.URL}organizers/me/request/market-visibility`,\n {\n // send_request_for_market_visibility: is_visible\n } // Pass an empty object if no body is required\n );\n }\n\n toggleOrganizerMarketVisibility(is_visible: number, id: string) {\n return this.httpService.patch(\n `${environment.URL}organizers/me/request/market-visibility/${is_visible}`,\n {\n // send_request_for_market_visibility: is_visible,\n } // Pass an empty object if no body is required\n );\n }\n\n getTeamMembers() {\n return this.httpService\n .get & { total_items: number }>(\n `${environment.URL}organizers/team-members/get-all-team-members`\n )\n .pipe(\n map((response) => ({\n data: response.data.team_members || [], // Ensure 'team_members' is not undefined\n total: response.total_items, // Extract 'total_items' from the response\n }))\n );\n }\n\n addTeamMember(team_member: any) {\n return this.httpService.post(\n `${environment.URL}organizers/team-members/add-team-member`,\n team_member\n );\n }\n\n getRoles() {\n return this.httpService.get(`${environment.URL}organizers/role`).pipe(\n map((response) => ({\n data: response.data.Role || [], // Ensure 'team_members' is not undefined\n total: response.total_items, // Extract 'total_items' from the response\n }))\n );\n }\n\n getPermissions() {\n return this.httpService\n .get(`${environment.URL}organizers/permissions`)\n .pipe(\n map((response) => ({\n data: response.data.Permissions || [], // Ensure 'team_members' is not undefined\n total: response.total_items, // Extract 'total_items' from the response\n }))\n );\n }\n\n createRole(data: any): Observable {\n const url = `${environment.URL}organizers/role`;\n return this.httpService.post(url, data);\n }\n\n // Delete a role\n deleteRole(id: number): Observable {\n const url = `${environment.URL}organizers/role/${id}`;\n return this.httpService.delete(url);\n }\n\n // Update an existing role\n updateRole(id: number, data: any): Observable {\n const url = `${environment.URL}organizers/role/${id}`;\n return this.httpService.patch(url, data);\n }\n\n // Update Organizer\n updateOrganizer(id: number, data: any): Observable {\n const url = `${environment.URL}organizers/team-members/update-team-member?id=${id}`; // Verify endpoint with your backend\n return this.httpService.patch(url, data);\n }\n\n cancelCustomerTrip(trip_id: number, reason: string) {\n return this.httpService.delete>(\n `${environment.URL}customers/me/trips/${trip_id}`,\n {\n body: { cancellation_reason_for_customer: reason }, // Add reason as the request body\n }\n );\n }\n getMarketVisibility(): Observable {\n const url = `${environment.URL}organizers/me/request/market-visibility`; // Verify endpoint with your backend\n return this.httpService.get(url);\n }\n\n getPaymentStatusReport(): Observable {\n return this.httpService\n .get>(\n `${environment.URL}organizers/me/payment-transaction/get-payment-status-report`\n )\n .pipe(map((response) => response.data));\n }\n\n getTermsContent(terms_type: number): Observable {\n const params = new HttpParams().set('terms_type', terms_type.toString());\n return this.httpService.get(`${environment.URL}documents/get-terms`, {\n params,\n });\n }\n\n getFaqs(): Observable {\n return this.httpService.get(`${environment.URL}documents/get-faqs`);\n }\n\n getTripNotificationValues(): Observable {\n const url = `${environment.URL}organizers/setting/trip-approval`;\n return this.httpService.get(url);\n }\n\n updateTimeZone(timezone: string): Observable {\n const url = `${environment.URL}customers/me/timezone`;\n return this.httpService.patch(url, timezone);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: 'sign-in',\n loadChildren: () =>\n import('./sign-in/modules/sing-in.module').then((m) => m.SignInModule),\n },\n {\n path: '',\n loadChildren: () =>\n import('./layout/modules/layout.module').then((m) => m.LayoutModule),\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, Renderer2, OnDestroy, HostListener } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LANGUAGE_KEY, LOGIN_SESSION_KEY, USER_LOGIN_ROLE } from './shared/constants/constants';\nimport { environment } from 'src/environments/environment';\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\nimport { Keepalive } from '@ng-idle/keepalive';\nimport { Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { IdleWarningDialogComponent } from './shared/UI/dailogPopUp/idle-warning-dialog.component';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnDestroy {\n title = 'tripsFrontend';\n idleState = 'Not started';\n timedOut = false;\n lastPing?: Date;\n remainingTime: number = 0;\n private dialogRef: any = null;\n defaultLang = localStorage.getItem('defaultLanguage') || 'en';\n constructor(\n private translateService: TranslateService,\n private renderer: Renderer2,\n private idle: Idle,\n private keepalive: Keepalive,\n private router: Router,\n private dialog: MatDialog\n ) { \n // Set idle timeout (in seconds)\n idle.setIdle(1800); // 30 minutes of inactivity\n idle.setTimeout(15); // 15 seconds countdown before logout\n \n try {\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n } catch (error) {\n }\n\n // Keep alive configuration\n keepalive.interval(15);\n \n // When user becomes idle\n idle.onIdleStart.subscribe(() => {\n this.idleState = 'You have been idle!';\n this.showWarningDialog();\n });\n\n // During countdown\n idle.onTimeoutWarning.subscribe((countdown) => {\n this.remainingTime = countdown;\n \n // Update dialog countdown if it exists\n if (this.dialogRef) {\n this.dialogRef.componentInstance.remainingTime = countdown;\n }\n });\n\n // When timeout happens\n idle.onTimeout.subscribe(() => {\n this.idleState = 'Timed out!';\n this.timedOut = true;\n \n // Close the dialog if it's open\n if (this.dialogRef) {\n this.dialogRef.close();\n this.dialogRef = null;\n }\n \n this.logout();\n });\n\n // When user resets activity\n idle.onIdleEnd.subscribe(() => {\n this.idleState = 'No longer idle.';\n \n // Close the dialog if it's open as the user is active again\n if (this.dialogRef) {\n this.dialogRef.close();\n this.dialogRef = null;\n }\n });\n\n // Start the idle detection\n this.startWatching();\n }\n\n // Event listeners for common user interactions\n @HostListener('document:mousemove')\n @HostListener('document:keydown')\n @HostListener('document:click')\n @HostListener('document:touchstart')\n @HostListener('document:wheel')\n resetIdleState() {\n if (this.idle.isIdling()) {\n }\n this.idle.watch();\n }\n\n ngOnInit(): void {\n const language = localStorage.getItem(LANGUAGE_KEY);\n if (language === 'ar') {\n document.body.classList.add('rtl');\n this.renderer.setAttribute(document.documentElement, 'dir', 'rtl');\n this.translateService.use('ar');\n }\n if (!!language) {\n this.translateService.setDefaultLang(language);\n } else {\n this.translateService.setDefaultLang('en');\n localStorage.setItem(LANGUAGE_KEY, 'en');\n this.translateService.use('en');\n }\n\n const apiKey = environment.GOOGLE_MAP_API_KEY;\n const script = document.createElement('script');\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&language=${language}&libraries=places,marker&callback=Function.prototype&loading=async`;\n document.head.appendChild(script);\n }\n\n startWatching() {\n try {\n this.idle.watch();\n this.idleState = 'Started watching.';\n this.timedOut = false;\n } catch (error) {\n console.error('Error starting idle watch:', error);\n }\n }\n\n stopWatching() {\n this.idle.stop();\n this.idleState = 'Stopped watching.';\n }\n\n ngOnDestroy() {\n this.stopWatching();\n // Close dialog if it's open\n if (this.dialogRef) {\n this.dialogRef.close();\n this.dialogRef = null;\n }\n }\n\n showWarningDialog() {\n // Only show dialog if one isn't already open\n if (!this.dialogRef) {\n this.dialogRef = this.dialog.open(IdleWarningDialogComponent, {\n width: '400px',\n disableClose: true, // Prevent closing by clicking outside\n data: { countdown: this.remainingTime || this.idle.getTimeout() }\n });\n\n // Handle dialog close\n this.dialogRef.afterClosed().subscribe((result: string) => {\n if (result === 'stay') {\n // User clicked \"Stay Logged In\"\n this.resetIdleState();\n } else if (result === 'logout' || result === 'timeout') {\n // User clicked \"Logout\" or timer expired\n this.logout();\n }\n this.dialogRef = null;\n });\n }\n }\n\n logout() {\n localStorage.removeItem(USER_LOGIN_ROLE);\n localStorage.removeItem(LOGIN_SESSION_KEY);\n localStorage.clear();\n\n localStorage.setItem(LANGUAGE_KEY, this.defaultLang);\n this.router.navigate([`/when`]);\n window.location.reload();\n }\n}","\n","import { importProvidersFrom, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { register } from 'swiper/element/bundle';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\nimport { UserInterceptor } from './shared/interceptor/api.interceptor';\nimport { AuthService } from './sign-in/service/auth.service';\nimport { ApiService } from './api.service';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { SocialLoginModule, SocialAuthServiceConfig } from '@abacritt/angularx-social-login';\nimport {\n GoogleLoginProvider,\n} from '@abacritt/angularx-social-login';\nimport { environment } from 'src/environments/environment';\nimport { NgIdleModule } from '@ng-idle/core';\nimport { Keepalive } from '@ng-idle/keepalive';\n\n\nexport function httpTranslateLoaderFactory(http: HttpClient){\n return new TranslateHttpLoader(http)\n}\n\nregister();\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n MatNativeDateModule,\n NgIdleModule.forRoot(),\n HttpClientModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory:httpTranslateLoaderFactory,\n deps: [HttpClient]\n }\n })\n ],\n providers: [\n AuthService,\n Keepalive,\n ApiService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: UserInterceptor,\n multi: true,\n },\n importProvidersFrom(MatDialogModule),\n {\n provide: 'SocialAuthServiceConfig',\n useValue: {\n autoLogin: false,\n lang: 'en',\n providers: [\n {\n id: GoogleLoginProvider.PROVIDER_ID,\n provider: new GoogleLoginProvider(\n environment.GOOGLE_CLIENT_ID\n )\n },\n ],\n onError: (err) => {\n console.error(err);\n }\n } as SocialAuthServiceConfig,\n }\n\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { interval, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-idle-warning-dialog',\n standalone: true,\n template: `\n
\n

Session Timeout Warning

\n \n
\n access_time\n
\n \n
\n You've been inactive for some time.\n
\n \n
\n Your session will expire in:\n
\n \n
\n {{remainingTime}} seconds\n
\n \n
\n \n \n
\n
\n `,\n styles: [`\n .idle-warning-container {\n padding: 24px;\n min-width: 320px;\n max-width: 400px;\n }\n \n .dialog-title {\n text-align: center;\n font-weight: bold;\n margin-bottom: 16px;\n color: #333;\n }\n \n .warning-icon {\n text-align: center;\n margin: 16px 0;\n }\n \n .warning-icon mat-icon {\n font-size: 48px;\n height: 48px;\n width: 48px;\n color: #f44336;\n }\n \n .warning-message, .expiry-message {\n text-align: center;\n margin: 12px 0;\n color: #555;\n }\n \n .timer-display {\n font-size: 28px;\n font-weight: bold;\n text-align: center;\n color: #f44336;\n margin: 24px 0;\n }\n \n .dialog-actions {\n display: flex;\n justify-content: center;\n margin-top: 24px;\n gap:10px;\n }\n \n .logout-btn {\n padding: 10px 16px;\n border: 1px solid #f44336;\n background-color: transparent;\n color: #f44336;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 500;\n transition: all 0.2s ease;\n }\n \n .logout-btn:hover {\n background-color: rgba(244, 67, 54, 0.1);\n }\n \n .stay-btn {\n padding: 10px 16px;\n border: none;\n background-color: #4caf50;\n color: white;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 500;\n transition: all 0.2s ease;\n }\n \n .stay-btn:hover {\n background-color: #43a047;\n }\n `],\n imports: [MatDialogModule, MatIconModule]\n})\nexport class IdleWarningDialogComponent implements OnInit, OnDestroy {\n remainingTime: number;\n private timerSubscription?: Subscription;\n \n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { countdown: number }\n ) {\n this.remainingTime = data.countdown;\n \n // Add body overflow hidden when dialog opens\n document.body.style.overflow = 'hidden';\n }\n \n ngOnInit(): void {\n // Update the countdown timer every second\n this.timerSubscription = interval(1000).subscribe(() => {\n this.remainingTime--;\n \n // Close the dialog when timer reaches zero\n if (this.remainingTime <= 0) {\n this.dialogRef.close('timeout');\n }\n });\n }\n \n stayLoggedIn(): void {\n this.dialogRef.close('stay');\n }\n \n logout(): void {\n this.dialogRef.close('logout');\n }\n \n ngOnDestroy(): void {\n // Reset body overflow when dialog closes\n document.body.style.overflow = 'auto';\n \n if (this.timerSubscription) {\n this.timerSubscription.unsubscribe();\n }\n }\n}","export const LOGIN_SESSION_KEY = 'loginSessionID';\nexport const CUSTOMER_REGISTRATION_INFO_KEY = 'CustomerRegistrationInfo';\nexport const ORGANIZER_REGISTRATION_INFO_KEY = 'OrganizerRegistrationInfo';\nexport const USER_LOGIN_ROLE = 'UserLoginRole';\nexport const ORGANIZER_ROLE_ID = '1';\nexport const CUSTOMER_ROLE_ID = '0';\nexport const LANGUAGE_KEY = 'defaultLanguage';\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LOGIN_SESSION_KEY } from '../constants/constants';\nimport { Observable, catchError, throwError } from 'rxjs';\n\n@Injectable()\nexport class UserInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n const userIsLoggedIn = !!localStorage.getItem(LOGIN_SESSION_KEY);\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\n if (userIsLoggedIn) {\n const token = localStorage.getItem(LOGIN_SESSION_KEY) as string;\n\n const modifiedReq = req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n 'Timezone': timezone\n },\n });\n\n return next.handle(modifiedReq).pipe(\n catchError((error) => {\n if (error instanceof HttpErrorResponse && error.status === 401) {\n localStorage.removeItem(LOGIN_SESSION_KEY);\n window.location.reload();\n }\n\n return throwError(error);\n })\n );\n }\n\n return next.handle(req);\n }\n}\n","export interface ApiResponse {\n code: number;\n data: T;\n}\n\nexport interface CustomerInsights {\n 'customer-insights': {\n total_customers: string;\n new_customers: string;\n repeated_customers: string;\n };\n}\n\nexport class CustomerInsightsModel {\n totalCustomers: number;\n newCustomers: number;\n repeatedCustomers: number;\n\n constructor(data: CustomerInsights['customer-insights']) {\n this.totalCustomers = parseInt(data.total_customers, 10);\n this.newCustomers = parseInt(data.new_customers, 10);\n this.repeatedCustomers = parseInt(data.repeated_customers, 10);\n }\n\n get customerRetentionRate(): number {\n return this.totalCustomers > 0\n ? (this.repeatedCustomers / this.totalCustomers) * 100\n : 0;\n }\n\n get newCustomerRate(): number {\n return this.totalCustomers > 0\n ? (this.newCustomers / this.totalCustomers) * 100\n : 0;\n }\n}\n\nexport interface CustomerDemographics {\n customers_demographics: CustomerData[];\n}\n\nexport interface CustomerData {\n name: string;\n age: number;\n location: string;\n gender: string;\n}\n\nexport interface FilterParams {\n gender?: string;\n location?: string;\n age_min?: number;\n age_max?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface OrganizerTrips {\n trips: TripData[];\n}\n\nexport interface TripData {\n title: string;\n description: string;\n location: string;\n start_date: string;\n end_date: string;\n seats_booked: number;\n max_travelers: number;\n status: string;\n}\n\nexport interface UpcomingTripBookingTrips {\n UpcomingTripsBookingStatus: TripBookingData[];\n}\n\nexport interface TripBookingData {\n customer_name?: string;\n package_name?: string;\n trip_start_date?: string;\n trip_end_date?: string;\n payment_status?: string;\n booked_seats?: string;\n total_seats?: string;\n package_title?: string;\n}\n\nexport interface PendingTripBookingTrips {\n PendingTripsBookingStatus: TripBookingData[];\n}\n\nexport interface TripCancellationData {\n TripCancellationReport: TripCancellation[];\n}\n\nexport interface PaymentStatusReport {\n report: {\n paid_percentage: number;\n pending_percentage: number;\n installment_percentage: number;\n };\n}\n\nexport interface TripCancellation {\n customer_name: string;\n package_name: string;\n cancellation_date: string;\n reason_for_cancellation: string;\n}\n\nexport interface AllPackageBookingData {\n AllPackageBookingCount: PackageBookingData[];\n}\n\nexport interface PackageBookingData {\n trip_id: string;\n title: string;\n booking_count: number;\n performance_type?: string;\n}\n\nexport interface TotalSalesReportData {\n TotalSalesReport: number;\n}\n\nexport interface TotalSalesData {\n totalSales: number;\n}\n\nexport interface AverageRevenuePerPackageData {\n TripsAverageRevenue: TripsAverageRevenue[];\n}\n\nexport interface ExtraServiceRevenueData {\n ExtraServices: ExtraServiceObject[];\n}\n\nexport interface ExtraServiceObject {\n extraServices: string;\n bookingCounts: number;\n}\nexport interface TripsAverageRevenue {\n trip_id: string;\n package_name: string;\n booking_count: number;\n total_revenue: number;\n average_revenue_per_booking: number;\n}\n\nexport interface PaginatedUpcomingTripsResponse\n extends ApiResponse<{ UpcomingTripsBookingStatus: TripBookingData[] }> {\n total_items: number;\n}\n\nexport interface PaginatedPendingTripsResponse\n extends ApiResponse<{ PendingTripsBookingStatus: TripBookingData[] }> {\n total_items: number;\n}\n\nexport interface PaginatedCancellationTripsResponse\n extends ApiResponse<{ TripCancellationReport: TripCancellation[] }> {\n total_items: number;\n}\n\nexport interface PaginatedData {\n data: T[];\n total: number;\n}\n\nexport interface PackagePerformance {\n top_performing_trips: PackageBookingData[];\n underperforming_trips: PackageBookingData[];\n}\n\nexport interface PackagePerformanceReportData {\n PackagePerformance: PackagePerformance;\n}\n\nexport interface PackageAvailabilityData {\n PackageAvailibility: TripBookingData[];\n}\n\nexport interface PopularDestinationData {\n popularDestination: PopularDestinationObject[];\n}\n\nexport interface PopularDestinationObject {\n location: string;\n aggregated_booking_percentage: number;\n}\n\nexport interface AgeGroupBookingReportData {\n AgeGroupBookingReport: AgeGroupBookingObj[];\n}\n\nexport interface AgeGroupBookingObj {\n age_group: string;\n booking_count: number;\n}\n\nexport interface CustomerReview {\n trip: any;\n review_text: string;\n review_rating: number;\n review_date: string;\n customer_name: string;\n package_name: string;\n}\n\nexport interface CustomerReviewsResponse {\n customers_review: CustomerReview[];\n total: number;\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from 'src/app/api.service';\nimport {\n CUSTOMER_ROLE_ID,\n LOGIN_SESSION_KEY,\n ORGANIZER_ROLE_ID,\n USER_LOGIN_ROLE,\n} from 'src/app/shared/constants/constants';\nimport { environment } from 'src/environments/environment';\nimport { BehaviorSubject } from 'rxjs';\n\ndeclare var google: any;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private roleId = CUSTOMER_ROLE_ID;\n private isGoogleInitialized = new BehaviorSubject(false);\n private readonly GOOGLE_BUTTON_CONFIG = {\n theme: \"outline\",\n size: \"large\",\n };\n\n constructor(\n private router: Router,\n private apiService: ApiService,\n ) {\n this.setRoleBasedOnPath();\n this.initializeGoogleSignIn();\n }\n\n private setRoleBasedOnPath(): void {\n if (this.router.url.includes('/sign-in/create-account')) {\n this.roleId = CUSTOMER_ROLE_ID;\n } else if (this.router.url.includes('/sign-in/organizer/create-account')) {\n this.roleId = ORGANIZER_ROLE_ID;\n }\n }\n private initializeGoogleSignIn() {\n if (typeof google !== 'undefined' && google.accounts) {\n this.setupGoogleClient();\n } else {\n console.warn('Google client not loaded, retrying...');\n setTimeout(() => this.initializeGoogleSignIn(), 1000);\n }\n }\n\n private setupGoogleClient() {\n google.accounts.id.initialize({\n client_id: environment.GOOGLE_CLIENT_ID,\n callback: this.handleCredentialResponse.bind(this),\n auto_select: true,\n });\n this.isGoogleInitialized.next(true);\n }\n\n initGoogleLogin(retries = 10, delay = 500) {\n const button = document.getElementById(\"google-btn\");\n if (!button) {\n if (retries > 0) {\n setTimeout(() => this.initGoogleLogin(retries - 1, delay), delay);\n } else {\n console.error(\"Failed to find Google button after maximum retries\");\n }\n return;\n }\n \n google.accounts.id.initialize({\n client_id: environment.GOOGLE_CLIENT_ID,\n callback: this.handleCredentialResponse.bind(this),\n });\n \n google.accounts.id.renderButton(button, {\n theme: \"outline\",\n size: \"large\",\n });\n \n google.accounts.id.prompt(); // Ensures the login prompt is triggered automatically\n }\n \n\n loginGoogle() {\n if (!this.isGoogleInitialized.value) {\n console.error('Google client not initialized');\n return;\n }\n\n google.accounts.id.prompt((notification: any) => {\n if (notification.isNotDisplayed() || notification.isSkippedMoment()) {\n const googleBtn = document.getElementById('google-btn');\n if (googleBtn) {\n google.accounts.id.renderButton(\n googleBtn,\n this.GOOGLE_BUTTON_CONFIG\n );\n }\n }\n });\n }\n\n private handleCredentialResponse(response: any) {\n const loginPayload = {\n credential: response.credential\n };\n\n const loginObservable = this.roleId === CUSTOMER_ROLE_ID\n ? this.apiService.customerLoginGoogle(loginPayload)\n : this.apiService.organizerLoginGoogle(loginPayload);\n\n loginObservable.subscribe({\n next: (response) => {\n localStorage.setItem(USER_LOGIN_ROLE, this.roleId);\n localStorage.setItem(LOGIN_SESSION_KEY, response.data.token);\n this.router.navigate([\n this.roleId === CUSTOMER_ROLE_ID ? '/when' : '/organizer/dashboard'\n ]);\n },\n error: (error) => {\n console.error(`${this.roleId === CUSTOMER_ROLE_ID ? 'Customer' : 'Organizer'} login error:`, error);\n }\n });\n }\n\n private generateRandomString(): string {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const length = 32;\n const result = Array.from({ length }, () => \n characters.charAt(Math.floor(Math.random() * characters.length))\n ).join('');\n \n this.setCookie('g_csrf_token', result, 1);\n return result;\n }\n\n private setCookie(name: string, value: string, days: number): void {\n const date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n const expires = `expires=${date.toUTCString()}`;\n document.cookie = `${name}=${value};${expires};path=/`;\n }\n\n setRole(role: string): void {\n this.roleId = role;\n }\n}","export const environment = {\n production: true,\n URL: 'https://api.joyn.travel/',\n GOOGLE_CLIENT_ID:\n '432539520415-u1gm592s4gvhgrr095i7qjh7fg2mggtc.apps.googleusercontent.com',\n GOOGLE_MAP_API_KEY: 'AIzaSyDmM3icovbJVXJfB-W-TLy__XZpNkOLonQ',\n REDIRECT_URL: 'https://joyn.travel/',\n BACKET_URL: \"https://joyntrips.fra1.digitaloceanspaces.com/\",\n PG_CODES: ['knet', 'credit-card'],\n};","import 'core-js/es/symbol';\nimport 'core-js/es/object';\nimport 'core-js/es/function';\nimport 'core-js/es/parse-int';\nimport 'core-js/es/parse-float';\nimport 'core-js/es/number';\nimport 'core-js/es/math';\nimport 'core-js/es/string';\nimport 'core-js/es/date';\nimport 'core-js/es/array';\nimport 'core-js/es/regexp';\nimport 'core-js/es/map';\nimport 'core-js/es/weak-map';\nimport 'core-js/es/set';\nimport 'core-js/es/promise';\nimport 'core-js/es/reflect';\n\nimport 'core-js/es/object/entries';\nimport 'core-js/es/object/values';\n\nimport 'core-js/es/array/from';\n\nimport 'zone.js';\n\nimport dialogPolyfill from 'dialog-polyfill';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const dialogs = document.querySelectorAll(\"dialog\");\n dialogs.forEach(dialog => {\n dialogPolyfill.registerDialog(dialog);\n });\n});\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));"],"names":["HttpHeaders","HttpParams","environment","BehaviorSubject","map","tap","CustomerInsightsModel","ApiService","constructor","httpService","isFromProfile","warningBanner","accomodationWarning","orgProfile","id","name","getAuthHeaders","token","localStorage","getItem","Authorization","customerLogin","loginData","post","URL","customerSignUp","customerInfo","customerUpdatePassword","passwordForm","patch","customerLoginGoogle","googleData","formData","FormData","key","hasOwnProperty","append","withCredentials","organizerLoginGoogle","organizerSignUp","organizerInfo","organizerForgotPassword","CustomerForgotPassword","organizerEmailOTPPassword","CustomerEmailOTPPassword","organizerVerifyOTP","CustomerVerifyOTP","organizerEmailVerifyOTP","CustomerEmailVerifyOTP","organizerResetPassword","headers","CustomerResetPassword","customerCheckEmail","email","organizerCheckEmail","customerUpdateProfile","customerProfile","getCountries","get","getCountryOfCode","code","createTrip","newTrip","trip_status","isPublic","is_public","params","set","toString","pipe","response","removeItem","getTripsOrganizers","getOrganizerBankDetails","getMarginFees","addBankDetails","data","uploadImg","file","type","getOrganizersMe","organizerCheckUsername","username","organizersUpdateProfile","organizersProfile","organizerChangePassword","getCustomersMe","getWhenTrips","limit","offset","getTripById","adminToken","organizerLogin","updateStatusTrip","tripId","status","getDaysOfTrips","getPricesOfTrips","getDetailPricesOfTrips","getTripTransactionDetails","customerId","price_item_id","getTripReviews","getWhereTrips","northEast","southWest","lng","lat","getFirstWhereTrips","getByWhomPage","getOrganizersProfileById","getOrganizersReview","getOrganizersTrips","getOrganizersRating","ids","encodeURIComponent","join","getTripsRating","setFavoriteTrip","deleteFavoriteTrip","delete","getFutureTrips","getCompletedTrips","getFavoriteTrips","getCancelledTrips","organizersSwitchRole","customerSwitchRole","addGear","gear","getGear","deleteGear","deletePhoto","photoPath","createTransaction","transactionDetails","createTripReview","review","createOrganizerReview","organizerId","updateTrip","updateTripType","deleteTrip","getMyTripReview","getMyOrganizerReview","patchTripReview","patchOrganizerReview","getTravelers","checkTripsIsBooked","searchOrganizers","organizerName","getNotifications","role","lang","readNotification","getCustomerInsights","getTripReport","trips","total","total_items","downloadTripReport","getTotalSales","startDate","endDate","TotalSalesReport","getTotalRevenue","totalSales","getAverageRevenuePerPackage","TripsAverageRevenue","downloadAverageRevenuePerPackage","getExtraServiceRevenueCount","ExtraServices","getUpcomingTripReport","UpcomingTripsBookingStatus","getPendingTripReport","PendingTripsBookingStatus","getCancelledTripReport","TripCancellationReport","downloadUpcomingTripsReport","downloadCancelledTripsReport","downloadPendingTripsReport","getPackagePerformance","PackagePerformance","downloadTopPerformingTrips","top_performing_trips","downloadUnderperformingTrips","underperforming_trips","getPackageAvailability","PackageAvailibility","downloadPackageAvailabilityReport","getPopularBookingDestination","popularDestination","getBookingReportsAgeGroup","AgeGroupBookingReport","downloadBookingReportsAgeGroup","getPackageBookingCounts","AllPackageBookingCount","downloadBookingReport","getSeasonBookingCounts","downloadSeasonBookingReport","getCustomerDemographics","filters","undefined","gender","toLowerCase","location","age_min","age_max","customers_demographics","downloadCustomerDemographics","getCustomerReviews","customers_review","downloadCustomerReviews","recordTripViewCountByCustomer","trip_id","customer_id","cancelTrip","reason","body","cancellation_reason_for_organizer","OrganizerMarketVisibility","toggleOrganizerMarketVisibility","is_visible","getTeamMembers","team_members","addTeamMember","team_member","getRoles","Role","getPermissions","Permissions","createRole","url","deleteRole","updateRole","updateOrganizer","cancelCustomerTrip","cancellation_reason_for_customer","getMarketVisibility","getPaymentStatusReport","getTermsContent","terms_type","getFaqs","getTripNotificationValues","updateTimeZone","timezone","i0","ɵɵinject","i1","HttpClient","factory","ɵfac","providedIn","RouterModule","routes","path","loadChildren","then","m","SignInModule","LayoutModule","AppRoutingModule","forRoot","imports","exports","LANGUAGE_KEY","LOGIN_SESSION_KEY","USER_LOGIN_ROLE","DEFAULT_INTERRUPTSOURCES","IdleWarningDialogComponent","AppComponent","translateService","renderer","idle","keepalive","router","dialog","title","idleState","timedOut","remainingTime","dialogRef","defaultLang","setIdle","setTimeout","setInterrupts","error","interval","onIdleStart","subscribe","showWarningDialog","onTimeoutWarning","countdown","componentInstance","onTimeout","close","logout","onIdleEnd","startWatching","resetIdleState","isIdling","watch","ngOnInit","language","document","classList","add","setAttribute","documentElement","use","setDefaultLang","setItem","apiKey","GOOGLE_MAP_API_KEY","script","createElement","src","head","appendChild","console","stopWatching","stop","ngOnDestroy","open","width","disableClose","getTimeout","afterClosed","result","clear","navigate","window","reload","ɵɵdirectiveInject","TranslateService","Renderer2","i2","Idle","i3","Keepalive","i4","Router","i5","MatDialog","selectors","hostBindings","AppComponent_HostBindings","rf","ctx","ɵɵlistener","AppComponent_mousemove_HostBindingHandler","ɵɵresolveDocument","AppComponent_keydown_HostBindingHandler","AppComponent_click_HostBindingHandler","AppComponent_touchstart_HostBindingHandler","AppComponent_wheel_HostBindingHandler","ɵɵelement","importProvidersFrom","BrowserModule","register","BrowserAnimationsModule","MatNativeDateModule","HTTP_INTERCEPTORS","HttpClientModule","UserInterceptor","AuthService","TranslateHttpLoader","TranslateLoader","TranslateModule","MatDialogModule","GoogleLoginProvider","NgIdleModule","httpTranslateLoaderFactory","http","AppModule","bootstrap","provide","useClass","multi","useValue","autoLogin","providers","PROVIDER_ID","provider","GOOGLE_CLIENT_ID","onError","err","loader","useFactory","deps","declarations","MAT_DIALOG_DATA","MatIconModule","style","overflow","timerSubscription","stayLoggedIn","unsubscribe","MatDialogRef","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","IdleWarningDialogComponent_Template","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","IdleWarningDialogComponent_Template_button_click_13_listener","IdleWarningDialogComponent_Template_button_click_15_listener","ɵɵadvance","ɵɵtextInterpolate1","MatIcon","styles","CUSTOMER_REGISTRATION_INFO_KEY","ORGANIZER_REGISTRATION_INFO_KEY","ORGANIZER_ROLE_ID","CUSTOMER_ROLE_ID","HttpErrorResponse","catchError","throwError","intercept","req","next","userIsLoggedIn","Intl","DateTimeFormat","resolvedOptions","timeZone","modifiedReq","clone","setHeaders","handle","totalCustomers","parseInt","total_customers","newCustomers","new_customers","repeatedCustomers","repeated_customers","customerRetentionRate","newCustomerRate","apiService","roleId","isGoogleInitialized","GOOGLE_BUTTON_CONFIG","theme","size","setRoleBasedOnPath","initializeGoogleSignIn","includes","google","accounts","setupGoogleClient","warn","initialize","client_id","callback","handleCredentialResponse","bind","auto_select","initGoogleLogin","retries","delay","button","getElementById","renderButton","prompt","loginGoogle","value","notification","isNotDisplayed","isSkippedMoment","googleBtn","loginPayload","credential","loginObservable","generateRandomString","characters","length","Array","from","charAt","Math","floor","random","setCookie","days","date","Date","setTime","getTime","expires","toUTCString","cookie","setRole","production","REDIRECT_URL","BACKET_URL","PG_CODES","dialogPolyfill","addEventListener","dialogs","querySelectorAll","forEach","registerDialog","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}