ng-easycommerce-v18 0.2.7 → 0.2.8

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;
@@ -51,12 +54,15 @@ export class ApiConstantsService {
51
54
  * URL del backend para realizar las peticiones
52
55
  */
53
56
  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;
57
+ // Verificar si estamos en el navegador (no en SSR)
58
+ if (typeof window !== 'undefined') {
59
+ // Primero intenta leer de window.__env (configurado por Docker)
60
+ const windowEnv = window.__env;
61
+ if (windowEnv?.apiUrl) {
62
+ return windowEnv.apiUrl;
63
+ }
58
64
  }
59
- // Fallback al environment
65
+ // Fallback al environment (funciona tanto en servidor como navegador)
60
66
  return this.environment.apiUrl ?? '';
61
67
  }
62
68
  /**
@@ -89,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
89
95
  providedIn: 'root'
90
96
  }]
91
97
  }], ctorParameters: () => [] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmNvbnN0YW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUN2QixhQUFhLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLFVBQVUsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFaEU7O09BRUc7SUFDSyxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2pCLGdFQUFnRTtRQUNoRSxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU8sUUFBUSxDQUFTO0lBQ3pCOztPQUVHO0lBQ0ksTUFBTSxDQUFTO0lBRXRCOztPQUVHO0lBQ2EsWUFBWSxHQUFXLFdBQVcsQ0FBQztJQUNuRDs7T0FFRztJQUNhLE9BQU8sR0FBVyxNQUFNLENBQUM7SUFFekM7UUFDQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2pCLGdFQUFnRTtRQUNoRSxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN6QixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFDRDs7O09BR0c7SUFDSSxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxJQUFZLElBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQSxDQUFDO0lBRXBELFNBQVMsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO0lBQ0ksVUFBVSxHQUFVLFFBQVEsQ0FBQztJQUM3QixXQUFXLEdBQVUsU0FBUyxDQUFDO3dHQWxGcEMsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFTlZJUk9OTUVOVF9UT0tFTiB9IGZyb20gJy4uL3Byb3ZpZGVycyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUuY29uc3RhbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2lvIHF1ZSBwcm92ZWUgZGUgZGF0b3MgcXVlIGVzdGFuIHJlbGFjaW9uYWRvIGNvbiBsYXMgcGV0aWNpb25lcyBhIGxhIEFQSVxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlIHtcclxuXHRwcml2YXRlIF9sb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBsb3MgZGF0b3MgcHJvdmlzdG8gcG9yIGVsIGZyb250ZW5kIGVuIGVsIGFyY2hpdm8gZW52aXJvbm1lbnQudHNcclxuXHQgKi9cclxuXHRwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTik7XHJcblx0XHJcblx0LyoqXHJcblx0ICogQ2FuYWwgYWN0dWFsIGRlbCBmcm9udGVuZFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQ0hBTk5FTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0Y29uc3Qgd2luZG93RW52ID0gKHdpbmRvdyBhcyBhbnkpLl9fZW52O1xyXG5cdFx0aWYgKHdpbmRvd0Vudj8uY2hhbm5lbCkge1xyXG5cdFx0XHRyZXR1cm4gd2luZG93RW52LmNoYW5uZWw7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIEZhbGxiYWNrIGFsIGVudmlyb25tZW50XHJcblx0XHRyZXR1cm4gdGhpcy5fY2hhbm5lbDtcclxuXHR9XHJcblx0XHJcblx0cHVibGljIHNldCBDSEFOTkVMKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX2NoYW5uZWwgPSB2YWx1ZTtcclxuXHR9XHJcblx0XHJcblx0cHJpdmF0ZSBfY2hhbm5lbDogc3RyaW5nO1xyXG5cdC8qKlxyXG5cdCAqIExvY2FsZSBhY3R1YWwgZGVsIGZyb250ZW5kXHJcblx0ICovXHJcblx0cHVibGljIExPQ0FMRTogc3RyaW5nO1xyXG5cdFxyXG5cdC8qKlxyXG5cdCAqIFVSTCBwYXJhIGxhcyBwZXRpY2lvbmVzIGEgc2hvcC1hcGlcclxuXHQgKi9cclxuXHRwdWJsaWMgcmVhZG9ubHkgU0hPUF9BUElfVVJMOiBzdHJpbmcgPSAnc2hvcC1hcGkvJztcclxuXHQvKipcclxuXHQgKiBVUkwgcGFyYSBsYXMgcGV0aWNpb25lcyBhIGNtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWFkb25seSBDTVNfVVJMOiBzdHJpbmcgPSAnY21zLyc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy5fY2hhbm5lbCA9IHRoaXMuZW52aXJvbm1lbnQuY2hhbm5lbDtcclxuXHRcdHRoaXMuTE9DQUxFID0gdGhpcy5lbnZpcm9ubWVudC5sb2NhbGU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVUkwgZGVsIGJhY2tlbmQgcGFyYSByZWFsaXphciBsYXMgcGV0aWNpb25lc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQVBJX1VSTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0Y29uc3Qgd2luZG93RW52ID0gKHdpbmRvdyBhcyBhbnkpLl9fZW52O1xyXG5cdFx0aWYgKHdpbmRvd0Vudj8uYXBpVXJsKSB7XHJcblx0XHRcdHJldHVybiB3aW5kb3dFbnYuYXBpVXJsO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBGYWxsYmFjayBhbCBlbnZpcm9ubWVudFxyXG5cdFx0cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBpVXJsID8/ICcnO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBiYXNlXHJcblx0ICogQHJldHVybnMge3N0cmluZ31cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0VXJsQmFzZSgpOiBzdHJpbmcgeyBcclxuXHRcdHJldHVybiB0aGlzLkFQSV9VUkw7XHJcblx0fSBcclxuXHQvKipcclxuXHQgKiBDYW1iaWEgZWwgY2FuYWwgYWN0dWFsXHJcblx0ICogQHBhcmFtIGNvZGVcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgc2V0Q2hhbm5lbChjb2RlOiBzdHJpbmcpOnZvaWR7IHRoaXMuQ0hBTk5FTCA9IGNvZGU7fSBcclxuXHJcblx0cHVibGljIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6dm9pZHtcclxuXHRcdHRoaXMuX2xvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuTE9DQUxFX0tFWSwgbG9jYWxlKTtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZS51c2UobG9jYWxlLnNwbGl0KCdfJylbMF0pXHJcblx0XHR0aGlzLkxPQ0FMRSA9IGxvY2FsZTtcclxuXHR9XHJcblxyXG5cdC8vU3RvcmFnZSBrZXlcclxuXHRwcml2YXRlIHJlYWRvbmx5IExPQ0FMRV9LRVk6c3RyaW5nID0gJ0xPQ0FMRSc7XHJcblx0cHJpdmF0ZSByZWFkb25seSBDSEFOTkVMX0tFWTpzdHJpbmcgPSAnQ0hBTk5FTCc7XHJcbn1cclxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmNvbnN0YW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUd2RDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUN2QixhQUFhLEdBQXdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLFVBQVUsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFaEU7O09BRUc7SUFDSyxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2pCLG1EQUFtRDtRQUNuRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ25DLGdFQUFnRTtZQUNoRSxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1lBQ3hDLElBQUksU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDMUIsQ0FBQztRQUNGLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxRQUFRLENBQVM7SUFDekI7O09BRUc7SUFDSSxNQUFNLENBQVM7SUFFdEI7O09BRUc7SUFDYSxZQUFZLEdBQVcsV0FBVyxDQUFDO0lBQ25EOztPQUVHO0lBQ2EsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUV6QztRQUNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDakIsbURBQW1EO1FBQ25ELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbkMsZ0VBQWdFO1lBQ2hFLE1BQU0sU0FBUyxHQUFJLE1BQWMsQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN6QixDQUFDO1FBQ0YsQ0FBQztRQUVELHNFQUFzRTtRQUN0RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ksVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckIsQ0FBQztJQUNEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsSUFBWSxJQUFRLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUEsQ0FBQztJQUVwRCxTQUFTLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBRUQsYUFBYTtJQUNJLFVBQVUsR0FBVSxRQUFRLENBQUM7SUFDN0IsV0FBVyxHQUFVLFNBQVMsQ0FBQzt3R0F4RnBDLG1CQUFtQjs0R0FBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRU5WSVJPTk1FTlRfVE9LRU4gfSBmcm9tICcuLi9wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlLmNvbnN0YW50cy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNpbyBxdWUgcHJvdmVlIGRlIGRhdG9zIHF1ZSBlc3RhbiByZWxhY2lvbmFkbyBjb24gbGFzIHBldGljaW9uZXMgYSBsYSBBUElcclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgQXBpQ29uc3RhbnRzU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpQ29uc3RhbnRzU2VydmljZSB7XHJcblx0cHJpdmF0ZSBfbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcblx0LyoqXHJcblx0ICogQ29udGllbmUgbG9zIGRhdG9zIHByb3Zpc3RvIHBvciBlbCBmcm9udGVuZCBlbiBlbCBhcmNoaXZvIGVudmlyb25tZW50LnRzXHJcblx0ICovXHJcblx0cHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQgPSBpbmplY3QoRU5WSVJPTk1FTlRfVE9LRU4pO1xyXG5cdFxyXG5cdC8qKlxyXG5cdCAqIENhbmFsIGFjdHVhbCBkZWwgZnJvbnRlbmRcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IENIQU5ORUwoKTogc3RyaW5nIHtcclxuXHRcdC8vIFZlcmlmaWNhciBzaSBlc3RhbW9zIGVuIGVsIG5hdmVnYWRvciAobm8gZW4gU1NSKVxyXG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdC8vIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIHdpbmRvdy5fX2VudiAoY29uZmlndXJhZG8gcG9yIERvY2tlcilcclxuXHRcdFx0Y29uc3Qgd2luZG93RW52ID0gKHdpbmRvdyBhcyBhbnkpLl9fZW52O1xyXG5cdFx0XHRpZiAod2luZG93RW52Py5jaGFubmVsKSB7XHJcblx0XHRcdFx0cmV0dXJuIHdpbmRvd0Vudi5jaGFubmVsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIEZhbGxiYWNrIGFsIGVudmlyb25tZW50XHJcblx0XHRyZXR1cm4gdGhpcy5fY2hhbm5lbDtcclxuXHR9XHJcblx0XHJcblx0cHVibGljIHNldCBDSEFOTkVMKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX2NoYW5uZWwgPSB2YWx1ZTtcclxuXHR9XHJcblx0XHJcblx0cHJpdmF0ZSBfY2hhbm5lbDogc3RyaW5nO1xyXG5cdC8qKlxyXG5cdCAqIExvY2FsZSBhY3R1YWwgZGVsIGZyb250ZW5kXHJcblx0ICovXHJcblx0cHVibGljIExPQ0FMRTogc3RyaW5nO1xyXG5cdFxyXG5cdC8qKlxyXG5cdCAqIFVSTCBwYXJhIGxhcyBwZXRpY2lvbmVzIGEgc2hvcC1hcGlcclxuXHQgKi9cclxuXHRwdWJsaWMgcmVhZG9ubHkgU0hPUF9BUElfVVJMOiBzdHJpbmcgPSAnc2hvcC1hcGkvJztcclxuXHQvKipcclxuXHQgKiBVUkwgcGFyYSBsYXMgcGV0aWNpb25lcyBhIGNtc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWFkb25seSBDTVNfVVJMOiBzdHJpbmcgPSAnY21zLyc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy5fY2hhbm5lbCA9IHRoaXMuZW52aXJvbm1lbnQuY2hhbm5lbDtcclxuXHRcdHRoaXMuTE9DQUxFID0gdGhpcy5lbnZpcm9ubWVudC5sb2NhbGU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBVUkwgZGVsIGJhY2tlbmQgcGFyYSByZWFsaXphciBsYXMgcGV0aWNpb25lc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgQVBJX1VSTCgpOiBzdHJpbmcge1xyXG5cdFx0Ly8gVmVyaWZpY2FyIHNpIGVzdGFtb3MgZW4gZWwgbmF2ZWdhZG9yIChubyBlbiBTU1IpXHJcblx0XHRpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0Ly8gUHJpbWVybyBpbnRlbnRhIGxlZXIgZGUgd2luZG93Ll9fZW52IChjb25maWd1cmFkbyBwb3IgRG9ja2VyKVxyXG5cdFx0XHRjb25zdCB3aW5kb3dFbnYgPSAod2luZG93IGFzIGFueSkuX19lbnY7XHJcblx0XHRcdGlmICh3aW5kb3dFbnY/LmFwaVVybCkge1xyXG5cdFx0XHRcdHJldHVybiB3aW5kb3dFbnYuYXBpVXJsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIEZhbGxiYWNrIGFsIGVudmlyb25tZW50IChmdW5jaW9uYSB0YW50byBlbiBzZXJ2aWRvciBjb21vIG5hdmVnYWRvcilcclxuXHRcdHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwaVVybCA/PyAnJztcclxuXHR9XHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSBsYSB1cmwgYmFzZVxyXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9XHJcblx0ICovXHJcblx0cHVibGljIGdldFVybEJhc2UoKTogc3RyaW5nIHsgXHJcblx0XHRyZXR1cm4gdGhpcy5BUElfVVJMO1xyXG5cdH0gXHJcblx0LyoqXHJcblx0ICogQ2FtYmlhIGVsIGNhbmFsIGFjdHVhbFxyXG5cdCAqIEBwYXJhbSBjb2RlXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIHNldENoYW5uZWwoY29kZTogc3RyaW5nKTp2b2lkeyB0aGlzLkNIQU5ORUwgPSBjb2RlO30gXHJcblxyXG5cdHB1YmxpYyBzZXRMb2NhbGUobG9jYWxlOiBzdHJpbmcpOnZvaWR7XHJcblx0XHR0aGlzLl9sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkxPQ0FMRV9LRVksIGxvY2FsZSk7XHJcblx0XHR0aGlzLl90cmFuc2xhdGUudXNlKGxvY2FsZS5zcGxpdCgnXycpWzBdKVxyXG5cdFx0dGhpcy5MT0NBTEUgPSBsb2NhbGU7XHJcblx0fVxyXG5cclxuXHQvL1N0b3JhZ2Uga2V5XHJcblx0cHJpdmF0ZSByZWFkb25seSBMT0NBTEVfS0VZOnN0cmluZyA9ICdMT0NBTEUnO1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgQ0hBTk5FTF9LRVk6c3RyaW5nID0gJ0NIQU5ORUwnO1xyXG59XHJcbiJdfQ==
@@ -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;
@@ -91,12 +94,15 @@ class ApiConstantsService {
91
94
  * URL del backend para realizar las peticiones
92
95
  */
93
96
  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;
97
+ // Verificar si estamos en el navegador (no en SSR)
98
+ if (typeof window !== 'undefined') {
99
+ // Primero intenta leer de window.__env (configurado por Docker)
100
+ const windowEnv = window.__env;
101
+ if (windowEnv?.apiUrl) {
102
+ return windowEnv.apiUrl;
103
+ }
98
104
  }
99
- // Fallback al environment
105
+ // Fallback al environment (funciona tanto en servidor como navegador)
100
106
  return this.environment.apiUrl ?? '';
101
107
  }
102
108
  /**