Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 1x 1x 1x 1x 1x 1x 1x 1x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 3x 3x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 39x 3x 2x 3x 1x 1x 39x 39x 39x 39x 39x 39x 39x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 39x | import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable, inject } from '@angular/core';
import { environment } from '@environments/environment';
@Injectable({
providedIn: 'root',
})
export class SharedDataService {
private http = inject(HttpClient);
private tripMenus: any;
private isLoaded = false;
headers: HttpHeaders = new HttpHeaders({
Accept: 'application/vnd.api+json',
'Content-Type': 'application/vnd.api+json',
});
async loadTripMenus(): Promise<any> {
if (!this.isLoaded) {
try {
const response: any = await this.getTripMenu();
this.tripMenus = response.menu_trips_data[0].menus;
this.isLoaded = true;
} catch (error) {
console.error('Error fetching trip data:', error);
}
}
return this.tripMenus;
}
getTripMenus(): any {
return this.tripMenus;
}
isDataLoaded(): boolean {
return this.isLoaded;
}
getTripMenu(): Promise<string[]> {
return new Promise<string[]>((resolve, reject) => {
this.http
.get<any>(environment.apiBaseUrl + '/v3/marketing/menu_trips', {
headers: this.headers,
})
.subscribe(
(response) => {
if (response.data) {
resolve(response.data);
} else {
reject('No data found'); // or handle this case as you see fit
}
},
(error) => reject(error), // Properly forward the error
);
});
}
getTripPageMenu(): any {
return new Promise<any>((resolve, reject) => {
this.http.get<any>(environment.apiBaseUrl + '/v3/marketing/tour_destinations').subscribe(
(response) => {
if (response.success) {
resolve(response.data);
} else {
reject();
}
},
(error) => {
reject(error);
},
);
});
}
}
|