ng-easycommerce-v18 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,10 +19,13 @@ export class ApiConstantsService {
19
19
  * Canal actual del frontend
20
20
  */
21
21
  get CHANNEL() {
22
- // Primero intenta leer de window.__env (configurado por Docker)
23
- const windowEnv = window.__env;
24
- if (windowEnv?.channel) {
25
- return windowEnv.channel;
22
+ // Verificar si estamos en el navegador (no en SSR)
23
+ if (typeof window !== 'undefined') {
24
+ // Primero intenta leer de window.__env (configurado por Docker)
25
+ const windowEnv = window.__env;
26
+ if (windowEnv?.channel) {
27
+ return windowEnv.channel;
28
+ }
26
29
  }
27
30
  // Fallback al environment
28
31
  return this._channel;
@@ -44,20 +47,32 @@ export class ApiConstantsService {
44
47
  */
45
48
  CMS_URL = 'cms/';
46
49
  constructor() {
50
+ console.log('🚀 ApiConstantsService inicializando...');
47
51
  this._channel = this.environment.channel;
48
52
  this.LOCALE = this.environment.locale;
53
+ console.log('🌍 Environment:', this.environment);
54
+ // Verificar si window.__env existe
55
+ if (typeof window !== 'undefined') {
56
+ console.log('🪟 window.__env:', window.__env);
57
+ }
49
58
  }
50
59
  /**
51
60
  * URL del backend para realizar las peticiones
52
61
  */
53
62
  get API_URL() {
54
- // Primero intenta leer de window.__env (configurado por Docker)
55
- const windowEnv = window.__env;
56
- if (windowEnv?.apiUrl) {
57
- return windowEnv.apiUrl;
63
+ // Verificar si estamos en el navegador (no en SSR)
64
+ if (typeof window !== 'undefined') {
65
+ // Primero intenta leer de window.__env (configurado por Docker)
66
+ const windowEnv = window.__env;
67
+ if (windowEnv?.apiUrl) {
68
+ console.log('🐳 API_URL desde Docker:', windowEnv.apiUrl);
69
+ return windowEnv.apiUrl;
70
+ }
58
71
  }
59
- // Fallback al environment
60
- return this.environment.apiUrl ?? '';
72
+ // Fallback al environment (para SSR y como backup)
73
+ const apiUrl = this.environment.apiUrl ?? '';
74
+ console.log('📦 API_URL desde environment:', apiUrl);
75
+ return apiUrl;
61
76
  }
62
77
  /**
63
78
  * Retorna la url base
@@ -89,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
89
104
  providedIn: 'root'
90
105
  }]
91
106
  }], ctorParameters: () => [] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmNvbnN0YW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUN2QixhQUFhLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLFVBQVUsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFaEU7O09BRUc7SUFDSyxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2pCLGdFQUFnRTtRQUNoRSxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU8sUUFBUSxDQUFTO0lBQ3pCOztPQUVHO0lBQ0ksTUFBTSxDQUFTO0lBRXRCOztPQUVHO0lBQ2EsWUFBWSxHQUFXLFdBQVcsQ0FBQztJQUNuRDs7T0FFRztJQUNhLE9BQU8sR0FBVyxNQUFNLENBQUM7SUFFekM7UUFDQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2pCLGdFQUFnRTtRQUNoRSxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN6QixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFDRDs7O09BR0c7SUFDSSxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxJQUFZLElBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQSxDQUFDO0lBRXBELFNBQVMsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO0lBQ0ksVUFBVSxHQUFVLFFBQVEsQ0FBQztJQUM3QixXQUFXLEdBQVUsU0FBUyxDQUFDO3dHQWxGcEMsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVF9UT0tFTiB9IGZyb20gJy4uL3Byb3ZpZGVycyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUuY29uc3RhbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2lvIHF1ZSBwcm92ZWUgZGUgZGF0b3MgcXVlIGVzdGFuIHJlbGFjaW9uYWRvIGNvbiBsYXMgcGV0aWNpb25lcyBhIGxhIEFQSVxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlIHtcclxuXHRwcml2YXRlIF9sb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBsb3MgZGF0b3MgcHJvdmlzdG8gcG9yIGVsIGZyb250ZW5kIGVuIGVsIGFyY2hpdm8gZW52aXJvbm1lbnQudHNcclxuXHQgKi9cclxuXHRwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTik7XHJcblx0XHJcblx0LyoqXHJcblx0ICogQ2FuYWwgYWN0dWFsIGRlbCBmcm9udGVuZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQ0hBTk5FTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0Y29uc3Qgd2luZG93RW52ID0gKHdpbmRvdyBhcyBhbnkpLl9fZW52O1xyXG5cdFx0aWYgKHdpbmRvd0Vudj8uY2hhbm5lbCkge1xyXG5cdFx0XHRyZXR1cm4gd2luZG93RW52LmNoYW5uZWw7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIEZhbGxiYWNrIGFsIGVudmlyb25tZW50XHJcblx0XHRyZXR1cm4gdGhpcy5fY2hhbm5lbDtcclxuXHR9XHJcblx0XHJcblx0cHVibGljIHNldCBDSEFOTkVMKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX2NoYW5uZWwgPSB2YWx1ZTtcclxuXHR9XHJcblx0XHJcblx0cHJpdmF0ZSBfY2hhbm5lbDogc3RyaW5nO1xyXG5cdC8qKlxyXG5cdCAqIExvY2FsZSBhY3R1YWwgZGVsIGZyb250ZW5kXHJcblx0ICovXHJcblx0cHVibGljIExPQ0FMRTogc3RyaW5nO1xyXG5cdFxyXG5cdC8qKlxyXG5cdCAqIFVSTCBwYXJhIGxhcyBwZXRpY2lvbmVzIGEgc2hvcC1hcGlcclxuXHQgKi9cclxuXHRwdWJsaWMgcmVhZG9ubHkgU0hPUF9BUElfVVJMOiBzdHJpbmcgPSAnc2hvcC1hcGkvJztcclxuXHQvKipcclxuXHQgKiBVUkwgcGFyYSBsYXMgcGV0aWNpb25lcyBhIGNtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWFkb25seSBDTVNfVVJMOiBzdHJpbmcgPSAnY21zLyc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy5fY2hhbm5lbCA9IHRoaXMuZW52aXJvbm1lbnQuY2hhbm5lbDtcclxuXHRcdHRoaXMuTE9DQUxFID0gdGhpcy5lbnZpcm9ubWVudC5sb2NhbGU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVUkwgZGVsIGJhY2tlbmQgcGFyYSByZWFsaXphciBsYXMgcGV0aWNpb25lc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQVBJX1VSTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0Y29uc3Qgd2luZG93RW52ID0gKHdpbmRvdyBhcyBhbnkpLl9fZW52O1xyXG5cdFx0aWYgKHdpbmRvd0Vudj8uYXBpVXJsKSB7XHJcblx0XHRcdHJldHVybiB3aW5kb3dFbnYuYXBpVXJsO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBGYWxsYmFjayBhbCBlbnZpcm9ubWVudFxyXG5cdFx0cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBpVXJsID8/ICcnO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBiYXNlXHJcblx0ICogQHJldHVybnMge3N0cmluZ31cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0VXJsQmFzZSgpOiBzdHJpbmcgeyBcclxuXHRcdHJldHVybiB0aGlzLkFQSV9VUkw7XHJcblx0fSBcclxuXHQvKipcclxuXHQgKiBDYW1iaWEgZWwgY2FuYWwgYWN0dWFsXHJcblx0ICogQHBhcmFtIGNvZGVcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgc2V0Q2hhbm5lbChjb2RlOiBzdHJpbmcpOnZvaWR7IHRoaXMuQ0hBTk5FTCA9IGNvZGU7fSBcclxuXHJcblx0cHVibGljIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6dm9pZHtcclxuXHRcdHRoaXMuX2xvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuTE9DQUxFX0tFWSwgbG9jYWxlKTtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZS51c2UobG9jYWxlLnNwbGl0KCdfJylbMF0pXHJcblx0XHR0aGlzLkxPQ0FMRSA9IGxvY2FsZTtcclxuXHR9XHJcblxyXG5cdC8vU3RvcmFnZSBrZXlcclxuXHRwcml2YXRlIHJlYWRvbmx5IExPQ0FMRV9LRVk6c3RyaW5nID0gJ0xPQ0FMRSc7XHJcblx0cHJpdmF0ZSByZWFkb25seSBDSEFOTkVMX0tFWTpzdHJpbmcgPSAnQ0hBTk5FTCc7XHJcbn1cclxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmNvbnN0YW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUN2QixhQUFhLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLFVBQVUsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFaEU7O09BRUc7SUFDSyxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2pCLG1EQUFtRDtRQUNuRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ25DLGdFQUFnRTtZQUNoRSxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1lBQ3hDLElBQUksU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDMUIsQ0FBQztRQUNGLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxRQUFRLENBQVM7SUFDekI7O09BRUc7SUFDSSxNQUFNLENBQVM7SUFFdEI7O09BRUc7SUFDYSxZQUFZLEdBQVcsV0FBVyxDQUFDO0lBQ25EOztPQUVHO0lBQ2EsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUV6QztRQUNDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFakQsbUNBQW1DO1FBQ25DLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRyxNQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNGLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNqQixtREFBbUQ7UUFDbkQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxnRUFBZ0U7WUFDaEUsTUFBTSxTQUFTLEdBQUksTUFBYyxDQUFDLEtBQUssQ0FBQztZQUN4QyxJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN6QixDQUFDO1FBQ0YsQ0FBQztRQUVELG1EQUFtRDtRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRDs7O09BR0c7SUFDSSxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxJQUFZLElBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQSxDQUFDO0lBRXBELFNBQVMsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO0lBQ0ksVUFBVSxHQUFVLFFBQVEsQ0FBQztJQUM3QixXQUFXLEdBQVUsU0FBUyxDQUFDO3dHQWxHcEMsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVF9UT0tFTiB9IGZyb20gJy4uL3Byb3ZpZGVycyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUuY29uc3RhbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2lvIHF1ZSBwcm92ZWUgZGUgZGF0b3MgcXVlIGVzdGFuIHJlbGFjaW9uYWRvIGNvbiBsYXMgcGV0aWNpb25lcyBhIGxhIEFQSVxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlIHtcclxuXHRwcml2YXRlIF9sb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBsb3MgZGF0b3MgcHJvdmlzdG8gcG9yIGVsIGZyb250ZW5kIGVuIGVsIGFyY2hpdm8gZW52aXJvbm1lbnQudHNcclxuXHQgKi9cclxuXHRwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTik7XHJcblx0XHJcblx0LyoqXHJcblx0ICogQ2FuYWwgYWN0dWFsIGRlbCBmcm9udGVuZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQ0hBTk5FTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gVmVyaWZpY2FyIHNpIGVzdGFtb3MgZW4gZWwgbmF2ZWdhZG9yIChubyBlbiBTU1IpXHJcblx0XHRpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0XHRjb25zdCB3aW5kb3dFbnYgPSAod2luZG93IGFzIGFueSkuX19lbnY7XHJcblx0XHRcdGlmICh3aW5kb3dFbnY/LmNoYW5uZWwpIHtcclxuXHRcdFx0XHRyZXR1cm4gd2luZG93RW52LmNoYW5uZWw7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Ly8gRmFsbGJhY2sgYWwgZW52aXJvbm1lbnRcclxuXHRcdHJldHVybiB0aGlzLl9jaGFubmVsO1xyXG5cdH1cclxuXHRcclxuXHRwdWJsaWMgc2V0IENIQU5ORUwodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5fY2hhbm5lbCA9IHZhbHVlO1xyXG5cdH1cclxuXHRcclxuXHRwcml2YXRlIF9jaGFubmVsOiBzdHJpbmc7XHJcblx0LyoqXHJcblx0ICogTG9jYWxlIGFjdHVhbCBkZWwgZnJvbnRlbmRcclxuXHQgKi9cclxuXHRwdWJsaWMgTE9DQUxFOiBzdHJpbmc7XHJcblx0XHJcblx0LyoqXHJcblx0ICogVVJMIHBhcmEgbGFzIHBldGljaW9uZXMgYSBzaG9wLWFwaVxyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWFkb25seSBTSE9QX0FQSV9VUkw6IHN0cmluZyA9ICdzaG9wLWFwaS8nO1xyXG5cdC8qKlxyXG5cdCAqIFVSTCBwYXJhIGxhcyBwZXRpY2lvbmVzIGEgY21zXHJcblx0ICovXHJcblx0cHVibGljIHJlYWRvbmx5IENNU19VUkw6IHN0cmluZyA9ICdjbXMvJztcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRjb25zb2xlLmxvZygn8J+agCBBcGlDb25zdGFudHNTZXJ2aWNlIGluaWNpYWxpemFuZG8uLi4nKTtcclxuXHRcdHRoaXMuX2NoYW5uZWwgPSB0aGlzLmVudmlyb25tZW50LmNoYW5uZWw7XHJcblx0XHR0aGlzLkxPQ0FMRSA9IHRoaXMuZW52aXJvbm1lbnQubG9jYWxlO1xyXG5cdFx0Y29uc29sZS5sb2coJ/CfjI0gRW52aXJvbm1lbnQ6JywgdGhpcy5lbnZpcm9ubWVudCk7XHJcblx0XHRcclxuXHRcdC8vIFZlcmlmaWNhciBzaSB3aW5kb3cuX19lbnYgZXhpc3RlXHJcblx0XHRpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0Y29uc29sZS5sb2coJ/Cfqp8gd2luZG93Ll9fZW52OicsICh3aW5kb3cgYXMgYW55KS5fX2Vudik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVUkwgZGVsIGJhY2tlbmQgcGFyYSByZWFsaXphciBsYXMgcGV0aWNpb25lc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQVBJX1VSTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gVmVyaWZpY2FyIHNpIGVzdGFtb3MgZW4gZWwgbmF2ZWdhZG9yIChubyBlbiBTU1IpXHJcblx0XHRpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0XHRjb25zdCB3aW5kb3dFbnYgPSAod2luZG93IGFzIGFueSkuX19lbnY7XHJcblx0XHRcdGlmICh3aW5kb3dFbnY/LmFwaVVybCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCfwn5CzIEFQSV9VUkwgZGVzZGUgRG9ja2VyOicsIHdpbmRvd0Vudi5hcGlVcmwpO1xyXG5cdFx0XHRcdHJldHVybiB3aW5kb3dFbnYuYXBpVXJsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIEZhbGxiYWNrIGFsIGVudmlyb25tZW50IChwYXJhIFNTUiB5IGNvbW8gYmFja3VwKVxyXG5cdFx0Y29uc3QgYXBpVXJsID0gdGhpcy5lbnZpcm9ubWVudC5hcGlVcmwgPz8gJyc7XHJcblx0XHRjb25zb2xlLmxvZygn8J+TpiBBUElfVVJMIGRlc2RlIGVudmlyb25tZW50OicsIGFwaVVybCk7XHJcblx0XHRyZXR1cm4gYXBpVXJsO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBiYXNlXHJcblx0ICogQHJldHVybnMge3N0cmluZ31cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0VXJsQmFzZSgpOiBzdHJpbmcgeyBcclxuXHRcdHJldHVybiB0aGlzLkFQSV9VUkw7XHJcblx0fSBcclxuXHQvKipcclxuXHQgKiBDYW1iaWEgZWwgY2FuYWwgYWN0dWFsXHJcblx0ICogQHBhcmFtIGNvZGVcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgc2V0Q2hhbm5lbChjb2RlOiBzdHJpbmcpOnZvaWR7IHRoaXMuQ0hBTk5FTCA9IGNvZGU7fSBcclxuXHJcblx0cHVibGljIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6dm9pZHtcclxuXHRcdHRoaXMuX2xvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuTE9DQUxFX0tFWSwgbG9jYWxlKTtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZS51c2UobG9jYWxlLnNwbGl0KCdfJylbMF0pXHJcblx0XHR0aGlzLkxPQ0FMRSA9IGxvY2FsZTtcclxuXHR9XHJcblxyXG5cdC8vU3RvcmFnZSBrZXlcclxuXHRwcml2YXRlIHJlYWRvbmx5IExPQ0FMRV9LRVk6c3RyaW5nID0gJ0xPQ0FMRSc7XHJcblx0cHJpdmF0ZSByZWFkb25seSBDSEFOTkVMX0tFWTpzdHJpbmcgPSAnQ0hBTk5FTCc7XHJcbn1cclxuIl19
@@ -59,10 +59,13 @@ class ApiConstantsService {
59
59
  * Canal actual del frontend
60
60
  */
61
61
  get CHANNEL() {
62
- // Primero intenta leer de window.__env (configurado por Docker)
63
- const windowEnv = window.__env;
64
- if (windowEnv?.channel) {
65
- return windowEnv.channel;
62
+ // Verificar si estamos en el navegador (no en SSR)
63
+ if (typeof window !== 'undefined') {
64
+ // Primero intenta leer de window.__env (configurado por Docker)
65
+ const windowEnv = window.__env;
66
+ if (windowEnv?.channel) {
67
+ return windowEnv.channel;
68
+ }
66
69
  }
67
70
  // Fallback al environment
68
71
  return this._channel;
@@ -84,20 +87,32 @@ class ApiConstantsService {
84
87
  */
85
88
  CMS_URL = 'cms/';
86
89
  constructor() {
90
+ console.log('🚀 ApiConstantsService inicializando...');
87
91
  this._channel = this.environment.channel;
88
92
  this.LOCALE = this.environment.locale;
93
+ console.log('🌍 Environment:', this.environment);
94
+ // Verificar si window.__env existe
95
+ if (typeof window !== 'undefined') {
96
+ console.log('🪟 window.__env:', window.__env);
97
+ }
89
98
  }
90
99
  /**
91
100
  * URL del backend para realizar las peticiones
92
101
  */
93
102
  get API_URL() {
94
- // Primero intenta leer de window.__env (configurado por Docker)
95
- const windowEnv = window.__env;
96
- if (windowEnv?.apiUrl) {
97
- return windowEnv.apiUrl;
103
+ // Verificar si estamos en el navegador (no en SSR)
104
+ if (typeof window !== 'undefined') {
105
+ // Primero intenta leer de window.__env (configurado por Docker)
106
+ const windowEnv = window.__env;
107
+ if (windowEnv?.apiUrl) {
108
+ console.log('🐳 API_URL desde Docker:', windowEnv.apiUrl);
109
+ return windowEnv.apiUrl;
110
+ }
98
111
  }
99
- // Fallback al environment
100
- return this.environment.apiUrl ?? '';
112
+ // Fallback al environment (para SSR y como backup)
113
+ const apiUrl = this.environment.apiUrl ?? '';
114
+ console.log('📦 API_URL desde environment:', apiUrl);
115
+ return apiUrl;
101
116
  }
102
117
  /**
103
118
  * Retorna la url base