@softpak/components 21.2.0-capwesome.4 → 21.2.0-capwesome.6

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.
@@ -10,7 +10,7 @@ import { createActionGroup, props, createFeature, createReducer, on, createSelec
10
10
  import { TranslatePipe, TranslateService } from '@ngx-translate/core';
11
11
  import { map, of, from } from 'rxjs';
12
12
  import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
13
- import { spxTextChange, spxTextLiveUpdateChannelSetFailed } from '@softpak/components/spx-translate';
13
+ import { spxTextChange, spxTextLiveUpdateChannelSetFailedWithReason, spxTextLiveUpdateChannelSetFailed } from '@softpak/components/spx-translate';
14
14
  import { toSignal } from '@angular/core/rxjs-interop';
15
15
  import { Actions, createEffect, ofType } from '@ngrx/effects';
16
16
  import { spxToasterActions, SpxToasterAutoCloseSpeedEnum } from '@softpak/components/spx-toaster';
@@ -166,29 +166,59 @@ class Effects {
166
166
  }
167
167
  return from(App.getInfo()).pipe(switchMap((binaryInfo) => from(LiveUpdate.setChannel({
168
168
  channel: `${action.channelType}-${getBinaryVersionGroup(binaryInfo.version)}.x`
169
- })).pipe(map$1(() => true), catchError((err) => {
170
- captureMessage(`SPX Channel setChannel Error: ${JSON.stringify(err)}`);
171
- return of(false);
169
+ })).pipe(map$1(() => ({ setChannelSucceeded: true })), catchError((err) => {
170
+ const errorReason = this.getReadableErrorReason(err);
171
+ captureMessage(`SPX Channel setChannel Error: ${errorReason}`);
172
+ return of({ errorReason, setChannelSucceeded: false });
172
173
  }))), tap(() => {
173
174
  this.router.navigate([spxUpdateUrl]);
174
- }), map$1((setChannelSucceeded) => setChannelSucceeded
175
+ }), map$1((result) => result.setChannelSucceeded
175
176
  ? spxToasterActions.createSuccess({
176
177
  autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,
177
178
  messageText: action.channel?.brand,
178
179
  })
179
- : spxToasterActions.createWarning({
180
+ : spxToasterActions.createError({
180
181
  autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,
181
- messageText: this.translateService.instant(spxTextLiveUpdateChannelSetFailed),
182
+ messageText: result.errorReason
183
+ ? this.translateService.instant(spxTextLiveUpdateChannelSetFailedWithReason, { reason: result.errorReason })
184
+ : this.translateService.instant(spxTextLiveUpdateChannelSetFailed),
182
185
  })), catchError((err) => {
183
- captureMessage(`SPX Channel Error: ${JSON.stringify(err)}`);
186
+ const errorReason = this.getReadableErrorReason(err);
187
+ captureMessage(`SPX Channel Error: ${errorReason}`);
184
188
  this.router.navigate([spxUpdateUrl]);
185
- return of(spxToasterActions.createWarning({
189
+ return of(spxToasterActions.createError({
186
190
  autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,
187
- messageText: this.translateService.instant(spxTextLiveUpdateChannelSetFailed),
191
+ messageText: errorReason
192
+ ? this.translateService.instant(spxTextLiveUpdateChannelSetFailedWithReason, { reason: errorReason })
193
+ : this.translateService.instant(spxTextLiveUpdateChannelSetFailed),
188
194
  }));
189
195
  }));
190
196
  })), { dispatch: true });
191
197
  }
198
+ getReadableErrorReason(err) {
199
+ if (err instanceof Error && err.message?.trim()) {
200
+ return err.message.trim();
201
+ }
202
+ if (typeof err === 'string' && err.trim()) {
203
+ return err.trim();
204
+ }
205
+ if (err && typeof err === 'object') {
206
+ const withMessage = err;
207
+ if (typeof withMessage.message === 'string' && withMessage.message.trim()) {
208
+ return withMessage.message.trim();
209
+ }
210
+ try {
211
+ const serialized = JSON.stringify(err);
212
+ if (serialized && serialized !== '{}') {
213
+ return serialized.length > 180 ? `${serialized.slice(0, 177)}...` : serialized;
214
+ }
215
+ }
216
+ catch {
217
+ // ignore serialization errors
218
+ }
219
+ }
220
+ return '';
221
+ }
192
222
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
193
223
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects }); }
194
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-channel-selection.mjs","sources":["../../../../projects/softpak/components/spx-channel-selection/store/spx-channel.actions.ts","../../../../projects/softpak/components/spx-channel-selection/store/spx-channel.reducer.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator/spx-channel-indicator.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator/spx-channel-indicator.component.html","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-guard.ts","../../../../projects/softpak/components/spx-channel-selection/store/spx-channel.effects.ts","../../../../projects/softpak/components/spx-channel-selection/softpak-components-spx-channel-selection.ts"],"sourcesContent":["import { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { createActionGroup, props } from '@ngrx/store';\n\nexport const spxChannelActions = createActionGroup({\n source: 'SpxChannel',\n events: {\n Choose: props<{ channel: SpxAppChannelI; channelType: SpxAppChannelTypeEnum; }>(),\n Initialize: props<{ channels: SpxAppChannelI[]; }>(),\n },\n});\n","import { SpxAppChannelI, SpxAppChannelTypeEnum, SpxChannelTypeI } from '@softpak/components/spx-app-configuration';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { createFeature, createReducer, createSelector, on } from '@ngrx/store';\n\nimport { Capacitor } from '@capacitor/core';\nimport { spxChannelActions } from './spx-channel.actions';\n\nexport const initialState: StateI = {\n previousChannel: null,\n channel: null,\n channelType: null,\n channels: [],\n};\n\nexport interface StateI {\n previousChannel: SpxAppChannelI | null;\n channel: SpxAppChannelI | null;\n channels: SpxAppChannelI[];\n channelType: SpxChannelTypeI | null;\n}\n\nconst determineActiveChannel = (channels: SpxAppChannelI[]): SpxAppChannelI | null => {\n if (SpxStorage.getSetting(SpxStorageKeyEnum.brand) && SpxStorage.getSetting(SpxStorageKeyEnum.channelType)) {\n const channelResult = channels.find(channel => channel.brand === SpxStorage.getSetting(SpxStorageKeyEnum.brand) && channel.channelTypes.some((e: SpxChannelTypeI) => e.name === SpxStorage.getSetting(SpxStorageKeyEnum.channelType) as SpxAppChannelTypeEnum));\n if (channelResult) {\n return channelResult;\n } else {\n const defaultBrandResult = channels.find(channel => channel.default);\n if (defaultBrandResult) {\n return defaultBrandResult;\n } else {\n SpxStorage.clearSetting(SpxStorageKeyEnum.brand);\n return null;\n }\n }\n } else {\n const defaultBrandResult = channels.find(channel => channel.default);\n if (defaultBrandResult) {\n return defaultBrandResult;\n }\n return null;\n }\n}\n\nexport default createFeature({\n name: 'spxChannel',\n extraSelectors: ({ selectChannel }) => ({\n selectCompanyName: createSelector(selectChannel, (channel) => channel?.brand),\n }),\n reducer: createReducer(\n initialState,\n on(spxChannelActions.choose, (state, { channel, channelType }): StateI => {\n SpxStorage.setSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.brand, channel?.brand);\n SpxStorage.setSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.channelType, channelType);\n return {\n ...state,\n previousChannel: state.channel,\n channel,\n };\n }),\n on(spxChannelActions.initialize, (state, { channels }): StateI => {\n\n let channelType: SpxChannelTypeI | null = null;\n\n if (SpxStorage.getSetting(SpxStorageKeyEnum.channelType)) {\n channelType = { name: SpxStorage.getSetting(SpxStorageKeyEnum.channelType) as SpxAppChannelTypeEnum };\n }\n else {\n channelType = { name: Capacitor.getPlatform() === 'web' ? SpxAppChannelTypeEnum.webLive : SpxAppChannelTypeEnum.production }; // Default to production if no type is set\n }\n\n return {\n ...state,\n channel: determineActiveChannel(channels),\n channels: channels.slice().sort((a, b) => a.brand.localeCompare(b.brand)),\n channelType: channelType,\n }\n }),\n ),\n});\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { Capacitor } from '@capacitor/core';\nimport { NavController } from '@ionic/angular/standalone';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { Store } from '@ngrx/store';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { map } from 'rxjs';\nimport spxChannelReducer from '../../store/spx-channel.reducer';\nimport { spxTextChange } from '@softpak/components/spx-translate';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nexport const spxChannelSelectionUrl = 'wlc';\n\n@Component({\n selector: 'spx-channel-indicator',\n templateUrl: './spx-channel-indicator.component.html',\n imports: [\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SpxChannelIndicatorComponent {\n private readonly navController = inject(NavController);\n private readonly store = inject(Store);\n protected readonly channel = this.store.selectSignal(spxChannelReducer.selectChannel);\n protected readonly channelType = toSignal(this.store.select(spxChannelReducer.selectChannelType).pipe(\n map(channelType => channelType?.name)\n ));\n protected readonly spxTextChange = spxTextChange;\n\n protected onChange() {\n this.navController.navigateRoot([spxChannelSelectionUrl]);\n }\n\n protected canShowChannelType() {\n return Capacitor.getPlatform() !== 'web';\n }\n}\n","<div class=\"bg-white p-3 rounded flex gap-3 items-center text-black\">\n <div class=\"grow\">\n <div class=\"text-lg font-bold\">{{ channel()?.brand }}</div>\n @if (canShowChannelType() && channelType() !== 'Production') {\n <div class=\"text-base text-gray-600\">{{ channelType() }}</div>\n }\n </div>\n <spx-button (click)=\"onChange()\" [spxType]=\"'button'\">{{ spxTextChange | translate | capitalize }}</spx-button>\n</div>","import { Router } from '@angular/router';\nimport { inject, Injectable } from '@angular/core';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { spxChannelSelectionUrl } from './spx-channel-indicator/spx-channel-indicator.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SpxChannelGuard {\n\n private readonly router = inject(Router);\n\n canActivate(): boolean {\n if (\n !SpxStorage.getSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.brand) ||\n !SpxStorage.getSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.channelType)\n ) {\n this.router.navigate([spxChannelSelectionUrl]);\n return false;\n }\n return true;\n }\n}\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Injectable, inject } from '@angular/core';\nimport { SpxToasterAutoCloseSpeedEnum, spxToasterActions } from '@softpak/components/spx-toaster';\n\nimport { App } from '@capacitor/app';\nimport { Capacitor } from '@capacitor/core';\nimport { LiveUpdate } from \"@capawesome/capacitor-live-update\";\nimport { Router } from '@angular/router';\nimport { captureMessage } from '@sentry/angular';\nimport { getBinaryVersionGroup } from '@softpak/components/spx-helpers';\nimport { spxChannelActions } from './spx-channel.actions';\nimport { spxUpdateUrl } from '@softpak/components/spx-update';\nimport { TranslateService } from '@ngx-translate/core';\nimport { spxTextLiveUpdateChannelSetFailed } from '@softpak/components/spx-translate';\nimport { from, of } from 'rxjs';\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class Effects {\n private readonly actions$ = inject(Actions);\n private readonly router = inject(Router);\n private readonly translateService = inject(TranslateService);\n\n onChoose$ =\n createEffect(() =>\n this.actions$.pipe(\n ofType(spxChannelActions.choose),\n switchMap((action) => {\n if (Capacitor.getPlatform() === 'web') {\n const channelType = action.channel.channelTypes.find(channelType => channelType.name === action.channelType)!;\n if (channelType.webUrl && !window.location.href.includes('http://localhost') && window.location.href.replace(channelType.webUrl!, '').replace(channelType.oldWebUrl!, '').split('/').at(0) !== '') {\n window.location.href = channelType.webUrl!;\n } else {\n this.router.navigate(['tabs/hme']);\n }\n return of(spxToasterActions.createSuccess({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: action.channel?.brand,\n }));\n }\n return from(App.getInfo()).pipe(\n switchMap((binaryInfo) => from(LiveUpdate.setChannel({\n channel: `${action.channelType}-${getBinaryVersionGroup(binaryInfo.version)}.x`\n })).pipe(\n map(() => true),\n catchError((err) => {\n captureMessage(`SPX Channel setChannel Error: ${JSON.stringify(err)}`);\n return of(false);\n }),\n )),\n tap(() => {\n this.router.navigate([spxUpdateUrl]);\n }),\n map((setChannelSucceeded) => setChannelSucceeded\n ? spxToasterActions.createSuccess({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: action.channel?.brand,\n })\n : spxToasterActions.createWarning({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: this.translateService.instant(spxTextLiveUpdateChannelSetFailed),\n })),\n catchError((err) => {\n captureMessage(`SPX Channel Error: ${JSON.stringify(err)}`);\n this.router.navigate([spxUpdateUrl]);\n return of(spxToasterActions.createWarning({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: this.translateService.instant(spxTextLiveUpdateChannelSetFailed),\n }));\n }),\n );\n }),\n ), { dispatch: true });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["spxChannelReducer","map"],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-channel-selection.mjs","sources":["../../../../projects/softpak/components/spx-channel-selection/store/spx-channel.actions.ts","../../../../projects/softpak/components/spx-channel-selection/store/spx-channel.reducer.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator/spx-channel-indicator.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator/spx-channel-indicator.component.html","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-guard.ts","../../../../projects/softpak/components/spx-channel-selection/store/spx-channel.effects.ts","../../../../projects/softpak/components/spx-channel-selection/softpak-components-spx-channel-selection.ts"],"sourcesContent":["import { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { createActionGroup, props } from '@ngrx/store';\n\nexport const spxChannelActions = createActionGroup({\n source: 'SpxChannel',\n events: {\n Choose: props<{ channel: SpxAppChannelI; channelType: SpxAppChannelTypeEnum; }>(),\n Initialize: props<{ channels: SpxAppChannelI[]; }>(),\n },\n});\n","import { SpxAppChannelI, SpxAppChannelTypeEnum, SpxChannelTypeI } from '@softpak/components/spx-app-configuration';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { createFeature, createReducer, createSelector, on } from '@ngrx/store';\n\nimport { Capacitor } from '@capacitor/core';\nimport { spxChannelActions } from './spx-channel.actions';\n\nexport const initialState: StateI = {\n previousChannel: null,\n channel: null,\n channelType: null,\n channels: [],\n};\n\nexport interface StateI {\n previousChannel: SpxAppChannelI | null;\n channel: SpxAppChannelI | null;\n channels: SpxAppChannelI[];\n channelType: SpxChannelTypeI | null;\n}\n\nconst determineActiveChannel = (channels: SpxAppChannelI[]): SpxAppChannelI | null => {\n if (SpxStorage.getSetting(SpxStorageKeyEnum.brand) && SpxStorage.getSetting(SpxStorageKeyEnum.channelType)) {\n const channelResult = channels.find(channel => channel.brand === SpxStorage.getSetting(SpxStorageKeyEnum.brand) && channel.channelTypes.some((e: SpxChannelTypeI) => e.name === SpxStorage.getSetting(SpxStorageKeyEnum.channelType) as SpxAppChannelTypeEnum));\n if (channelResult) {\n return channelResult;\n } else {\n const defaultBrandResult = channels.find(channel => channel.default);\n if (defaultBrandResult) {\n return defaultBrandResult;\n } else {\n SpxStorage.clearSetting(SpxStorageKeyEnum.brand);\n return null;\n }\n }\n } else {\n const defaultBrandResult = channels.find(channel => channel.default);\n if (defaultBrandResult) {\n return defaultBrandResult;\n }\n return null;\n }\n}\n\nexport default createFeature({\n name: 'spxChannel',\n extraSelectors: ({ selectChannel }) => ({\n selectCompanyName: createSelector(selectChannel, (channel) => channel?.brand),\n }),\n reducer: createReducer(\n initialState,\n on(spxChannelActions.choose, (state, { channel, channelType }): StateI => {\n SpxStorage.setSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.brand, channel?.brand);\n SpxStorage.setSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.channelType, channelType);\n return {\n ...state,\n previousChannel: state.channel,\n channel,\n };\n }),\n on(spxChannelActions.initialize, (state, { channels }): StateI => {\n\n let channelType: SpxChannelTypeI | null = null;\n\n if (SpxStorage.getSetting(SpxStorageKeyEnum.channelType)) {\n channelType = { name: SpxStorage.getSetting(SpxStorageKeyEnum.channelType) as SpxAppChannelTypeEnum };\n }\n else {\n channelType = { name: Capacitor.getPlatform() === 'web' ? SpxAppChannelTypeEnum.webLive : SpxAppChannelTypeEnum.production }; // Default to production if no type is set\n }\n\n return {\n ...state,\n channel: determineActiveChannel(channels),\n channels: channels.slice().sort((a, b) => a.brand.localeCompare(b.brand)),\n channelType: channelType,\n }\n }),\n ),\n});\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { Capacitor } from '@capacitor/core';\nimport { NavController } from '@ionic/angular/standalone';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { Store } from '@ngrx/store';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { map } from 'rxjs';\nimport spxChannelReducer from '../../store/spx-channel.reducer';\nimport { spxTextChange } from '@softpak/components/spx-translate';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\nexport const spxChannelSelectionUrl = 'wlc';\n\n@Component({\n selector: 'spx-channel-indicator',\n templateUrl: './spx-channel-indicator.component.html',\n imports: [\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SpxChannelIndicatorComponent {\n private readonly navController = inject(NavController);\n private readonly store = inject(Store);\n protected readonly channel = this.store.selectSignal(spxChannelReducer.selectChannel);\n protected readonly channelType = toSignal(this.store.select(spxChannelReducer.selectChannelType).pipe(\n map(channelType => channelType?.name)\n ));\n protected readonly spxTextChange = spxTextChange;\n\n protected onChange() {\n this.navController.navigateRoot([spxChannelSelectionUrl]);\n }\n\n protected canShowChannelType() {\n return Capacitor.getPlatform() !== 'web';\n }\n}\n","<div class=\"bg-white p-3 rounded flex gap-3 items-center text-black\">\n <div class=\"grow\">\n <div class=\"text-lg font-bold\">{{ channel()?.brand }}</div>\n @if (canShowChannelType() && channelType() !== 'Production') {\n <div class=\"text-base text-gray-600\">{{ channelType() }}</div>\n }\n </div>\n <spx-button (click)=\"onChange()\" [spxType]=\"'button'\">{{ spxTextChange | translate | capitalize }}</spx-button>\n</div>","import { Router } from '@angular/router';\nimport { inject, Injectable } from '@angular/core';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { spxChannelSelectionUrl } from './spx-channel-indicator/spx-channel-indicator.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SpxChannelGuard {\n\n private readonly router = inject(Router);\n\n canActivate(): boolean {\n if (\n !SpxStorage.getSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.brand) ||\n !SpxStorage.getSetting<SpxStorageKeyEnum>(SpxStorageKeyEnum.channelType)\n ) {\n this.router.navigate([spxChannelSelectionUrl]);\n return false;\n }\n return true;\n }\n}\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Injectable, inject } from '@angular/core';\nimport { SpxToasterAutoCloseSpeedEnum, spxToasterActions } from '@softpak/components/spx-toaster';\n\nimport { App } from '@capacitor/app';\nimport { Capacitor } from '@capacitor/core';\nimport { LiveUpdate } from \"@capawesome/capacitor-live-update\";\nimport { Router } from '@angular/router';\nimport { captureMessage } from '@sentry/angular';\nimport { getBinaryVersionGroup } from '@softpak/components/spx-helpers';\nimport { spxChannelActions } from './spx-channel.actions';\nimport { spxUpdateUrl } from '@softpak/components/spx-update';\nimport { TranslateService } from '@ngx-translate/core';\nimport { spxTextLiveUpdateChannelSetFailed, spxTextLiveUpdateChannelSetFailedWithReason } from '@softpak/components/spx-translate';\nimport { from, of } from 'rxjs';\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class Effects {\n private readonly actions$ = inject(Actions);\n private readonly router = inject(Router);\n private readonly translateService = inject(TranslateService);\n\n onChoose$ =\n createEffect(() =>\n this.actions$.pipe(\n ofType(spxChannelActions.choose),\n switchMap((action) => {\n if (Capacitor.getPlatform() === 'web') {\n const channelType = action.channel.channelTypes.find(channelType => channelType.name === action.channelType)!;\n if (channelType.webUrl && !window.location.href.includes('http://localhost') && window.location.href.replace(channelType.webUrl!, '').replace(channelType.oldWebUrl!, '').split('/').at(0) !== '') {\n window.location.href = channelType.webUrl!;\n } else {\n this.router.navigate(['tabs/hme']);\n }\n return of(spxToasterActions.createSuccess({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: action.channel?.brand,\n }));\n }\n return from(App.getInfo()).pipe(\n switchMap((binaryInfo) => from(LiveUpdate.setChannel({\n channel: `${action.channelType}-${getBinaryVersionGroup(binaryInfo.version)}.x`\n })).pipe(\n map((): { errorReason?: string; setChannelSucceeded: boolean } => ({ setChannelSucceeded: true })),\n catchError((err) => {\n const errorReason = this.getReadableErrorReason(err);\n captureMessage(`SPX Channel setChannel Error: ${errorReason}`);\n return of<{ errorReason?: string; setChannelSucceeded: boolean }>({ errorReason, setChannelSucceeded: false });\n }),\n )),\n tap(() => {\n this.router.navigate([spxUpdateUrl]);\n }),\n map((result) => result.setChannelSucceeded\n ? spxToasterActions.createSuccess({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: action.channel?.brand,\n })\n : spxToasterActions.createError({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: result.errorReason\n ? this.translateService.instant(spxTextLiveUpdateChannelSetFailedWithReason, { reason: result.errorReason })\n : this.translateService.instant(spxTextLiveUpdateChannelSetFailed),\n })),\n catchError((err) => {\n const errorReason = this.getReadableErrorReason(err);\n captureMessage(`SPX Channel Error: ${errorReason}`);\n this.router.navigate([spxUpdateUrl]);\n return of(spxToasterActions.createError({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: errorReason\n ? this.translateService.instant(spxTextLiveUpdateChannelSetFailedWithReason, { reason: errorReason })\n : this.translateService.instant(spxTextLiveUpdateChannelSetFailed),\n }));\n }),\n );\n }),\n ), { dispatch: true });\n\n private getReadableErrorReason(err: unknown): string {\n if (err instanceof Error && err.message?.trim()) {\n return err.message.trim();\n }\n if (typeof err === 'string' && err.trim()) {\n return err.trim();\n }\n if (err && typeof err === 'object') {\n const withMessage = err as { message?: unknown };\n if (typeof withMessage.message === 'string' && withMessage.message.trim()) {\n return withMessage.message.trim();\n }\n try {\n const serialized = JSON.stringify(err);\n if (serialized && serialized !== '{}') {\n return serialized.length > 180 ? `${serialized.slice(0, 177)}...` : serialized;\n }\n } catch {\n // ignore serialization errors\n }\n }\n return '';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["spxChannelReducer","map"],"mappings":"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"}
@@ -27,6 +27,20 @@ const spxTextDateMayNotBeFuture = "spxTextDateMayNotBeFuture";
27
27
  const spxTextDateMayNotBePast = "spxTextDateMayNotBePast";
28
28
  const spxTextInvalidCode = "spxTextInvalidCode";
29
29
  const spxTextLiveUpdateChannelSetFailed = "spxTextLiveUpdateChannelSetFailed";
30
+ const spxTextLiveUpdateChannelSetFailedWithReason = "spxTextLiveUpdateChannelSetFailedWithReason";
31
+ const spxTextLiveUpdateCheckFailed = "spxTextLiveUpdateCheckFailed";
32
+ const spxTextLiveUpdateCheckFailedWithReason = "spxTextLiveUpdateCheckFailedWithReason";
33
+ const spxTextUpdateAppVersion = "spxTextUpdateAppVersion";
34
+ const spxTextUpdateBinaryVersionGroup = "spxTextUpdateBinaryVersionGroup";
35
+ const spxTextUpdateBuildVersion = "spxTextUpdateBuildVersion";
36
+ const spxTextUpdateLiveBundle = "spxTextUpdateLiveBundle";
37
+ const spxTextUpdateLiveChannel = "spxTextUpdateLiveChannel";
38
+ const spxTextUpdateStatus = "spxTextUpdateStatus";
39
+ const spxTextUpdateStatusCompleted = "spxTextUpdateStatusCompleted";
40
+ const spxTextUpdateStatusFailed = "spxTextUpdateStatusFailed";
41
+ const spxTextUpdateStatusPreparing = "spxTextUpdateStatusPreparing";
42
+ const spxTextUpdateStatusSyncing = "spxTextUpdateStatusSyncing";
43
+ const spxTextUpdateVersionInfo = "spxTextUpdateVersionInfo";
30
44
 
31
45
  const SpxTranslateEn = {
32
46
  [spxTextCheckingForUpdates]: 'checking for updates',
@@ -58,6 +72,20 @@ const SpxTranslateEn = {
58
72
  [spxTextDateMayNotBePast]: "The selected date may not be in the past.",
59
73
  [spxTextInvalidCode]: "The {{codeName}} code {{codeCode}} does not exist.",
60
74
  [spxTextLiveUpdateChannelSetFailed]: "Channel selected, but live update channel could not be set.",
75
+ [spxTextLiveUpdateChannelSetFailedWithReason]: "Channel selected, but live update channel could not be set: {{reason}}.",
76
+ [spxTextLiveUpdateCheckFailed]: "Unable to check for updates right now. Please try again later.",
77
+ [spxTextLiveUpdateCheckFailedWithReason]: "Unable to check for updates: {{reason}}.",
78
+ [spxTextUpdateStatus]: "status",
79
+ [spxTextUpdateStatusPreparing]: "preparing update check",
80
+ [spxTextUpdateStatusSyncing]: "synchronizing update information",
81
+ [spxTextUpdateStatusCompleted]: "update check completed",
82
+ [spxTextUpdateStatusFailed]: "update check failed",
83
+ [spxTextUpdateVersionInfo]: "version information",
84
+ [spxTextUpdateAppVersion]: "app version",
85
+ [spxTextUpdateBuildVersion]: "build version",
86
+ [spxTextUpdateBinaryVersionGroup]: "binary version group",
87
+ [spxTextUpdateLiveChannel]: "live update channel",
88
+ [spxTextUpdateLiveBundle]: "downloaded live bundle",
61
89
  };
62
90
 
63
91
  const SpxTranslateNl = {
@@ -90,11 +118,25 @@ const SpxTranslateNl = {
90
118
  [spxTextDateMayNotBeFuture]: "De geselecteerde datum mag niet in de toekomst liggen.",
91
119
  [spxTextDateMayNotBePast]: "De geselecteerde datum mag niet in het verleden liggen.",
92
120
  [spxTextLiveUpdateChannelSetFailed]: "Kanaal geselecteerd, maar het live update kanaal kon niet worden ingesteld.",
121
+ [spxTextLiveUpdateChannelSetFailedWithReason]: "Kanaal geselecteerd, maar het live update kanaal kon niet worden ingesteld: {{reason}}.",
122
+ [spxTextLiveUpdateCheckFailed]: "Kan nu niet op updates controleren. Probeer het later opnieuw.",
123
+ [spxTextLiveUpdateCheckFailedWithReason]: "Kan nu niet op updates controleren: {{reason}}.",
124
+ [spxTextUpdateStatus]: "status",
125
+ [spxTextUpdateStatusPreparing]: "updatecontrole voorbereiden",
126
+ [spxTextUpdateStatusSyncing]: "update-informatie synchroniseren",
127
+ [spxTextUpdateStatusCompleted]: "updatecontrole voltooid",
128
+ [spxTextUpdateStatusFailed]: "updatecontrole mislukt",
129
+ [spxTextUpdateVersionInfo]: "versie-informatie",
130
+ [spxTextUpdateAppVersion]: "app-versie",
131
+ [spxTextUpdateBuildVersion]: "build-versie",
132
+ [spxTextUpdateBinaryVersionGroup]: "binaire versiegroep",
133
+ [spxTextUpdateLiveChannel]: "live update kanaal",
134
+ [spxTextUpdateLiveBundle]: "gedownloade live bundle",
93
135
  };
94
136
 
95
137
  /**
96
138
  * Generated bundle index. Do not edit.
97
139
  */
98
140
 
99
- export { SpxTranslateEn, SpxTranslateNl, spxText404PageNotFound, spxTextChange, spxTextChannel, spxTextCheckingForUpdates, spxTextChooseFuture, spxTextChoosePast, spxTextChooseValidMonth, spxTextCompany, spxTextDateMayNotBeFuture, spxTextDateMayNotBePast, spxTextGoHome, spxTextInvalidCode, spxTextLiveUpdateChannelSetFailed, spxTextOneMomentPlease, spxTextOpenAppStore, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextPatchAvailable, spxTextPatternNotValid, spxTextReadyToBeInstalled, spxTextRequired, spxTextSelect, spxTextSelectYourCompany, spxTextTooHigh, spxTextTooLong, spxTextTooLow, spxTextTooShort, spxTextUpdate, spxTextUpdateAvailable };
141
+ export { SpxTranslateEn, SpxTranslateNl, spxText404PageNotFound, spxTextChange, spxTextChannel, spxTextCheckingForUpdates, spxTextChooseFuture, spxTextChoosePast, spxTextChooseValidMonth, spxTextCompany, spxTextDateMayNotBeFuture, spxTextDateMayNotBePast, spxTextGoHome, spxTextInvalidCode, spxTextLiveUpdateChannelSetFailed, spxTextLiveUpdateChannelSetFailedWithReason, spxTextLiveUpdateCheckFailed, spxTextLiveUpdateCheckFailedWithReason, spxTextOneMomentPlease, spxTextOpenAppStore, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextPatchAvailable, spxTextPatternNotValid, spxTextReadyToBeInstalled, spxTextRequired, spxTextSelect, spxTextSelectYourCompany, spxTextTooHigh, spxTextTooLong, spxTextTooLow, spxTextTooShort, spxTextUpdate, spxTextUpdateAppVersion, spxTextUpdateAvailable, spxTextUpdateBinaryVersionGroup, spxTextUpdateBuildVersion, spxTextUpdateLiveBundle, spxTextUpdateLiveChannel, spxTextUpdateStatus, spxTextUpdateStatusCompleted, spxTextUpdateStatusFailed, spxTextUpdateStatusPreparing, spxTextUpdateStatusSyncing, spxTextUpdateVersionInfo };
100
142
  //# sourceMappingURL=softpak-components-spx-translate.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-translate.mjs","sources":["../../../../projects/softpak/components/spx-translate/spx-translate._const.ts","../../../../projects/softpak/components/spx-translate/spx-translate.en.ts","../../../../projects/softpak/components/spx-translate/spx-translate.nl.ts","../../../../projects/softpak/components/spx-translate/softpak-components-spx-translate.ts"],"sourcesContent":["export const spxTextCheckingForUpdates = 'spxTextCheckingForUpdates';\nexport const spxTextOneMomentPlease = 'spxTextOneMomentPlease';\nexport const spxTextPatchAvailable = 'spxTextPatchAvailable';\nexport const spxTextUpdateAvailable = 'spxTextUpdateAvailable';\nexport const spxTextReadyToBeInstalled = 'spxTextReadyToBeInstalled';\nexport const spxTextUpdate = 'spxTextUpdate';\nexport const spxTextOpenAppStore = 'spxTextOpenAppStore';\nexport const spxTextChannel = 'spxTextChannel';\nexport const spxTextCompany = 'spxTextCompany';\nexport const spxTextSelect = 'spxTextSelect';\nexport const spxTextSelectYourCompany = 'spxSelectYourCompany';\nexport const spxTextChange = 'spxTextChange';\nexport const spxText404PageNotFound = \"spxText404PageNotFound\";\nexport const spxTextPageNotFound = \"spxTextPageNotFound\";\nexport const spxTextPageNotFoundDescription = \"spxTextPageNotFoundDescription\";\nexport const spxTextGoHome = \"spxTextGoHome\";\nexport const spxTextTooLong = \"spxTextTooLong\";\nexport const spxTextTooShort = \"spxTextTooShort\";\nexport const spxTextTooHigh = \"spxTextTooHigh\";\nexport const spxTextTooLow = \"spxTextTooLow\";\nexport const spxTextPatternNotValid = \"spxTextPatternNotValid\";\nexport const spxTextRequired = \"spxTextRequired\";\nexport const spxTextChoosePast = \"spxTextChoosePast\";\nexport const spxTextChooseFuture = \"spxTextChooseFuture\";\nexport const spxTextChooseValidMonth = \"spxTextChooseValidMonth\";\nexport const spxTextDateMayNotBeFuture = \"spxTextDateMayNotBeFuture\";\nexport const spxTextDateMayNotBePast = \"spxTextDateMayNotBePast\";\nexport const spxTextInvalidCode = \"spxTextInvalidCode\";\nexport const spxTextLiveUpdateChannelSetFailed = \"spxTextLiveUpdateChannelSetFailed\";\n\nexport interface SpxTranslateI {\n [spxTextChange]: string;\n [spxTextCheckingForUpdates]: string;\n [spxTextOneMomentPlease]: string;\n [spxTextPatchAvailable]: string;\n [spxTextUpdateAvailable]: string;\n [spxTextReadyToBeInstalled]: string;\n [spxTextUpdate]: string;\n [spxTextOpenAppStore]: string;\n [spxTextChannel]: string;\n [spxTextCompany]: string;\n [spxTextSelect]: string;\n [spxTextSelectYourCompany]: string;\n [spxText404PageNotFound]: string;\n [spxTextPageNotFound]: string;\n [spxTextPageNotFoundDescription]: string;\n [spxTextGoHome]: string;\n [spxTextInvalidCode]: string;\n [spxTextTooLong]: string;\n [spxTextTooShort]: string;\n [spxTextTooHigh]: string;\n [spxTextTooLow]: string;\n [spxTextPatternNotValid]: string;\n [spxTextRequired]: string;\n [spxTextChoosePast]: string;\n [spxTextChooseFuture]: string;\n [spxTextChooseValidMonth]: string;\n [spxTextDateMayNotBeFuture]: string;\n [spxTextDateMayNotBePast]: string;\n [spxTextInvalidCode]: string;\n [spxTextLiveUpdateChannelSetFailed]: string;\n}\n","import { spxText404PageNotFound, spxTextChange, spxTextChannel, spxTextCheckingForUpdates, spxTextChooseFuture, spxTextChoosePast, spxTextChooseValidMonth, spxTextCompany, spxTextDateMayNotBeFuture, spxTextDateMayNotBePast, spxTextGoHome, spxTextInvalidCode, spxTextLiveUpdateChannelSetFailed, spxTextOneMomentPlease, spxTextOpenAppStore, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextPatchAvailable, spxTextPatternNotValid, spxTextReadyToBeInstalled, spxTextRequired, spxTextSelect, spxTextSelectYourCompany, spxTextTooHigh, spxTextTooLong, spxTextTooLow, spxTextTooShort, spxTextUpdate, spxTextUpdateAvailable, SpxTranslateI } from \"./spx-translate._const\";\n\nexport const SpxTranslateEn: SpxTranslateI = {\n [spxTextCheckingForUpdates]: 'checking for updates',\n [spxTextOneMomentPlease]: 'one moment please',\n [spxTextReadyToBeInstalled]: 'ready to be installed',\n [spxTextPatchAvailable]: 'patch available',\n [spxTextUpdateAvailable]: 'update available',\n [spxTextUpdate]: 'update',\n [spxTextOpenAppStore]: 'open app store',\n [spxTextChannel]: 'channel',\n [spxTextCompany]: 'company',\n [spxTextSelect]: 'select',\n [spxTextSelectYourCompany]: 'select your company',\n [spxTextChange]: 'change',\n [spxText404PageNotFound]: \"404 page not found\",\n [spxTextPageNotFound]: \"Page not found\",\n [spxTextPageNotFoundDescription]: \"Sorry, the page you’re looking for doesn’t exist or has been moved.\",\n [spxTextGoHome]: \"Go home\",\n [spxTextTooLong]: \"'{{fieldLabel}}' is too long (the maximum length is {{error}})\",\n [spxTextTooShort]: \"'{{fieldLabel}}' is too short (the minimum length is {{error}})\",\n [spxTextTooHigh]: \"The value of '{{fieldLabel}}' is too high, the maximum is {{error}}.\",\n [spxTextTooLow]: \"The value of '{{fieldLabel}}' is too low, the minimum is {{error}}.\",\n [spxTextPatternNotValid]: \"The pattern of '{{fieldLabel}}' is not valid.\",\n [spxTextRequired]: \"The field '{{fieldLabel}}' is required.\",\n [spxTextChoosePast]: \"Please choose a year between 1991 and the current year.\",\n [spxTextChooseFuture]: \"Please choose a year between the current year and 2050.\",\n [spxTextChooseValidMonth]: \"Please choose a valid month (a value between 01 and 12).\",\n [spxTextDateMayNotBeFuture]: \"The selected date may not be in the future.\",\n [spxTextDateMayNotBePast]: \"The selected date may not be in the past.\",\n [spxTextInvalidCode]: \"The {{codeName}} code {{codeCode}} does not exist.\",\n [spxTextLiveUpdateChannelSetFailed]: \"Channel selected, but live update channel could not be set.\",\n}\n","import { spxText404PageNotFound, spxTextChange, spxTextChannel, spxTextCheckingForUpdates, spxTextChooseFuture, spxTextChoosePast, spxTextChooseValidMonth, spxTextCompany, spxTextDateMayNotBeFuture, spxTextDateMayNotBePast, spxTextGoHome, spxTextInvalidCode, spxTextLiveUpdateChannelSetFailed, spxTextOneMomentPlease, spxTextOpenAppStore, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextPatchAvailable, spxTextPatternNotValid, spxTextReadyToBeInstalled, spxTextRequired, spxTextSelect, spxTextSelectYourCompany, spxTextTooHigh, spxTextTooLong, spxTextTooLow, spxTextTooShort, spxTextUpdate, spxTextUpdateAvailable, SpxTranslateI } from \"./spx-translate._const\";\n\nexport const SpxTranslateNl: SpxTranslateI = {\n [spxTextCheckingForUpdates]: 'controleren op updates',\n [spxTextOneMomentPlease]: 'een moment geduld alstublieft',\n [spxTextReadyToBeInstalled]: 'ready to be installed',\n [spxTextPatchAvailable]: 'patch available',\n [spxTextUpdateAvailable]: 'update available',\n [spxTextUpdate]: 'updaten',\n [spxTextOpenAppStore]: 'open app store',\n [spxTextChannel]: 'kanaal',\n [spxTextCompany]: 'bedrijf',\n [spxTextSelect]: 'selecteer',\n [spxTextSelectYourCompany]: 'selecteer uw bedrijf',\n [spxTextChange]: 'wissel',\n [spxText404PageNotFound]: \"404 pagina niet gevonden\",\n [spxTextPageNotFound]: \"Pagina niet gevonden\",\n [spxTextPageNotFoundDescription]: \"Sorry, de pagina die u zoekt bestaat niet of is verplaatst.\",\n [spxTextGoHome]: \"Ga naar het hoofdscherm\",\n [spxTextInvalidCode]: \"De {{codeName}} code {{codeCode}} is ongeldig.\",\n [spxTextTooLong]: \"De waarde van '{{fieldLabel}}' is te lang (de maximale lengte is {{error}}).\",\n [spxTextTooShort]: \"De waarde van '{{fieldLabel}}' is te kort (de minimale lengte is {{error}}).\",\n [spxTextTooHigh]: \"De waarde van '{{fieldLabel}}' is te hoog (de maximale waarde is {{error}}).\",\n [spxTextTooLow]: \"De waarde van '{{fieldLabel}}' is te laag (de minimale waarde is {{error}}).\",\n [spxTextPatternNotValid]: \"Het patroon van '{{fieldLabel}}' is ongeldig.\",\n [spxTextRequired]: \"Het veld '{{fieldLabel}}' is verplicht.\",\n [spxTextChoosePast]: \"Kies een jaar tussen 1991 en het huidige jaar.\",\n [spxTextChooseFuture]: \"Kies een jaar tussen het huidige jaar en 2050.\",\n [spxTextChooseValidMonth]: \"Kies een geldige maand (een waarde tussen 01 en 12).\",\n [spxTextDateMayNotBeFuture]: \"De geselecteerde datum mag niet in de toekomst liggen.\",\n [spxTextDateMayNotBePast]: \"De geselecteerde datum mag niet in het verleden liggen.\",\n [spxTextLiveUpdateChannelSetFailed]: \"Kanaal geselecteerd, maar het live update kanaal kon niet worden ingesteld.\",\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-translate.mjs","sources":["../../../../projects/softpak/components/spx-translate/spx-translate._const.ts","../../../../projects/softpak/components/spx-translate/spx-translate.en.ts","../../../../projects/softpak/components/spx-translate/spx-translate.nl.ts","../../../../projects/softpak/components/spx-translate/softpak-components-spx-translate.ts"],"sourcesContent":["export const spxTextCheckingForUpdates = 'spxTextCheckingForUpdates';\nexport const spxTextOneMomentPlease = 'spxTextOneMomentPlease';\nexport const spxTextPatchAvailable = 'spxTextPatchAvailable';\nexport const spxTextUpdateAvailable = 'spxTextUpdateAvailable';\nexport const spxTextReadyToBeInstalled = 'spxTextReadyToBeInstalled';\nexport const spxTextUpdate = 'spxTextUpdate';\nexport const spxTextOpenAppStore = 'spxTextOpenAppStore';\nexport const spxTextChannel = 'spxTextChannel';\nexport const spxTextCompany = 'spxTextCompany';\nexport const spxTextSelect = 'spxTextSelect';\nexport const spxTextSelectYourCompany = 'spxSelectYourCompany';\nexport const spxTextChange = 'spxTextChange';\nexport const spxText404PageNotFound = \"spxText404PageNotFound\";\nexport const spxTextPageNotFound = \"spxTextPageNotFound\";\nexport const spxTextPageNotFoundDescription = \"spxTextPageNotFoundDescription\";\nexport const spxTextGoHome = \"spxTextGoHome\";\nexport const spxTextTooLong = \"spxTextTooLong\";\nexport const spxTextTooShort = \"spxTextTooShort\";\nexport const spxTextTooHigh = \"spxTextTooHigh\";\nexport const spxTextTooLow = \"spxTextTooLow\";\nexport const spxTextPatternNotValid = \"spxTextPatternNotValid\";\nexport const spxTextRequired = \"spxTextRequired\";\nexport const spxTextChoosePast = \"spxTextChoosePast\";\nexport const spxTextChooseFuture = \"spxTextChooseFuture\";\nexport const spxTextChooseValidMonth = \"spxTextChooseValidMonth\";\nexport const spxTextDateMayNotBeFuture = \"spxTextDateMayNotBeFuture\";\nexport const spxTextDateMayNotBePast = \"spxTextDateMayNotBePast\";\nexport const spxTextInvalidCode = \"spxTextInvalidCode\";\nexport const spxTextLiveUpdateChannelSetFailed = \"spxTextLiveUpdateChannelSetFailed\";\nexport const spxTextLiveUpdateChannelSetFailedWithReason = \"spxTextLiveUpdateChannelSetFailedWithReason\";\nexport const spxTextLiveUpdateCheckFailed = \"spxTextLiveUpdateCheckFailed\";\nexport const spxTextLiveUpdateCheckFailedWithReason = \"spxTextLiveUpdateCheckFailedWithReason\";\nexport const spxTextUpdateAppVersion = \"spxTextUpdateAppVersion\";\nexport const spxTextUpdateBinaryVersionGroup = \"spxTextUpdateBinaryVersionGroup\";\nexport const spxTextUpdateBuildVersion = \"spxTextUpdateBuildVersion\";\nexport const spxTextUpdateLiveBundle = \"spxTextUpdateLiveBundle\";\nexport const spxTextUpdateLiveChannel = \"spxTextUpdateLiveChannel\";\nexport const spxTextUpdateStatus = \"spxTextUpdateStatus\";\nexport const spxTextUpdateStatusCompleted = \"spxTextUpdateStatusCompleted\";\nexport const spxTextUpdateStatusFailed = \"spxTextUpdateStatusFailed\";\nexport const spxTextUpdateStatusPreparing = \"spxTextUpdateStatusPreparing\";\nexport const spxTextUpdateStatusSyncing = \"spxTextUpdateStatusSyncing\";\nexport const spxTextUpdateVersionInfo = \"spxTextUpdateVersionInfo\";\n\nexport interface SpxTranslateI {\n [spxTextChange]: string;\n [spxTextCheckingForUpdates]: string;\n [spxTextOneMomentPlease]: string;\n [spxTextPatchAvailable]: string;\n [spxTextUpdateAvailable]: string;\n [spxTextReadyToBeInstalled]: string;\n [spxTextUpdate]: string;\n [spxTextOpenAppStore]: string;\n [spxTextChannel]: string;\n [spxTextCompany]: string;\n [spxTextSelect]: string;\n [spxTextSelectYourCompany]: string;\n [spxText404PageNotFound]: string;\n [spxTextPageNotFound]: string;\n [spxTextPageNotFoundDescription]: string;\n [spxTextGoHome]: string;\n [spxTextInvalidCode]: string;\n [spxTextTooLong]: string;\n [spxTextTooShort]: string;\n [spxTextTooHigh]: string;\n [spxTextTooLow]: string;\n [spxTextPatternNotValid]: string;\n [spxTextRequired]: string;\n [spxTextChoosePast]: string;\n [spxTextChooseFuture]: string;\n [spxTextChooseValidMonth]: string;\n [spxTextDateMayNotBeFuture]: string;\n [spxTextDateMayNotBePast]: string;\n [spxTextInvalidCode]: string;\n [spxTextLiveUpdateChannelSetFailed]: string;\n [spxTextLiveUpdateChannelSetFailedWithReason]: string;\n [spxTextLiveUpdateCheckFailed]: string;\n [spxTextLiveUpdateCheckFailedWithReason]: string;\n [spxTextUpdateAppVersion]: string;\n [spxTextUpdateBinaryVersionGroup]: string;\n [spxTextUpdateBuildVersion]: string;\n [spxTextUpdateLiveBundle]: string;\n [spxTextUpdateLiveChannel]: string;\n [spxTextUpdateStatus]: string;\n [spxTextUpdateStatusCompleted]: string;\n [spxTextUpdateStatusFailed]: string;\n [spxTextUpdateStatusPreparing]: string;\n [spxTextUpdateStatusSyncing]: string;\n [spxTextUpdateVersionInfo]: string;\n}\n","import {\n spxText404PageNotFound,\n spxTextChange,\n spxTextChannel,\n spxTextCheckingForUpdates,\n spxTextChooseFuture,\n spxTextChoosePast,\n spxTextChooseValidMonth,\n spxTextCompany,\n spxTextDateMayNotBeFuture,\n spxTextDateMayNotBePast,\n spxTextGoHome,\n spxTextInvalidCode,\n spxTextLiveUpdateCheckFailed,\n spxTextLiveUpdateCheckFailedWithReason,\n spxTextLiveUpdateChannelSetFailed,\n spxTextLiveUpdateChannelSetFailedWithReason,\n spxTextOneMomentPlease,\n spxTextOpenAppStore,\n spxTextPageNotFound,\n spxTextPageNotFoundDescription,\n spxTextPatchAvailable,\n spxTextPatternNotValid,\n spxTextReadyToBeInstalled,\n spxTextRequired,\n spxTextSelect,\n spxTextSelectYourCompany,\n spxTextTooHigh,\n spxTextTooLong,\n spxTextTooLow,\n spxTextTooShort,\n spxTextUpdate,\n spxTextUpdateAppVersion,\n spxTextUpdateAvailable,\n spxTextUpdateBinaryVersionGroup,\n spxTextUpdateBuildVersion,\n spxTextUpdateLiveBundle,\n spxTextUpdateLiveChannel,\n spxTextUpdateStatus,\n spxTextUpdateStatusCompleted,\n spxTextUpdateStatusFailed,\n spxTextUpdateStatusPreparing,\n spxTextUpdateStatusSyncing,\n spxTextUpdateVersionInfo,\n SpxTranslateI\n} from \"./spx-translate._const\";\n\nexport const SpxTranslateEn: SpxTranslateI = {\n [spxTextCheckingForUpdates]: 'checking for updates',\n [spxTextOneMomentPlease]: 'one moment please',\n [spxTextReadyToBeInstalled]: 'ready to be installed',\n [spxTextPatchAvailable]: 'patch available',\n [spxTextUpdateAvailable]: 'update available',\n [spxTextUpdate]: 'update',\n [spxTextOpenAppStore]: 'open app store',\n [spxTextChannel]: 'channel',\n [spxTextCompany]: 'company',\n [spxTextSelect]: 'select',\n [spxTextSelectYourCompany]: 'select your company',\n [spxTextChange]: 'change',\n [spxText404PageNotFound]: \"404 page not found\",\n [spxTextPageNotFound]: \"Page not found\",\n [spxTextPageNotFoundDescription]: \"Sorry, the page you’re looking for doesn’t exist or has been moved.\",\n [spxTextGoHome]: \"Go home\",\n [spxTextTooLong]: \"'{{fieldLabel}}' is too long (the maximum length is {{error}})\",\n [spxTextTooShort]: \"'{{fieldLabel}}' is too short (the minimum length is {{error}})\",\n [spxTextTooHigh]: \"The value of '{{fieldLabel}}' is too high, the maximum is {{error}}.\",\n [spxTextTooLow]: \"The value of '{{fieldLabel}}' is too low, the minimum is {{error}}.\",\n [spxTextPatternNotValid]: \"The pattern of '{{fieldLabel}}' is not valid.\",\n [spxTextRequired]: \"The field '{{fieldLabel}}' is required.\",\n [spxTextChoosePast]: \"Please choose a year between 1991 and the current year.\",\n [spxTextChooseFuture]: \"Please choose a year between the current year and 2050.\",\n [spxTextChooseValidMonth]: \"Please choose a valid month (a value between 01 and 12).\",\n [spxTextDateMayNotBeFuture]: \"The selected date may not be in the future.\",\n [spxTextDateMayNotBePast]: \"The selected date may not be in the past.\",\n [spxTextInvalidCode]: \"The {{codeName}} code {{codeCode}} does not exist.\",\n [spxTextLiveUpdateChannelSetFailed]: \"Channel selected, but live update channel could not be set.\",\n [spxTextLiveUpdateChannelSetFailedWithReason]: \"Channel selected, but live update channel could not be set: {{reason}}.\",\n [spxTextLiveUpdateCheckFailed]: \"Unable to check for updates right now. Please try again later.\",\n [spxTextLiveUpdateCheckFailedWithReason]: \"Unable to check for updates: {{reason}}.\",\n [spxTextUpdateStatus]: \"status\",\n [spxTextUpdateStatusPreparing]: \"preparing update check\",\n [spxTextUpdateStatusSyncing]: \"synchronizing update information\",\n [spxTextUpdateStatusCompleted]: \"update check completed\",\n [spxTextUpdateStatusFailed]: \"update check failed\",\n [spxTextUpdateVersionInfo]: \"version information\",\n [spxTextUpdateAppVersion]: \"app version\",\n [spxTextUpdateBuildVersion]: \"build version\",\n [spxTextUpdateBinaryVersionGroup]: \"binary version group\",\n [spxTextUpdateLiveChannel]: \"live update channel\",\n [spxTextUpdateLiveBundle]: \"downloaded live bundle\",\n}\n","import {\n spxText404PageNotFound,\n spxTextChange,\n spxTextChannel,\n spxTextCheckingForUpdates,\n spxTextChooseFuture,\n spxTextChoosePast,\n spxTextChooseValidMonth,\n spxTextCompany,\n spxTextDateMayNotBeFuture,\n spxTextDateMayNotBePast,\n spxTextGoHome,\n spxTextInvalidCode,\n spxTextLiveUpdateCheckFailed,\n spxTextLiveUpdateCheckFailedWithReason,\n spxTextLiveUpdateChannelSetFailed,\n spxTextLiveUpdateChannelSetFailedWithReason,\n spxTextOneMomentPlease,\n spxTextOpenAppStore,\n spxTextPageNotFound,\n spxTextPageNotFoundDescription,\n spxTextPatchAvailable,\n spxTextPatternNotValid,\n spxTextReadyToBeInstalled,\n spxTextRequired,\n spxTextSelect,\n spxTextSelectYourCompany,\n spxTextTooHigh,\n spxTextTooLong,\n spxTextTooLow,\n spxTextTooShort,\n spxTextUpdate,\n spxTextUpdateAppVersion,\n spxTextUpdateAvailable,\n spxTextUpdateBinaryVersionGroup,\n spxTextUpdateBuildVersion,\n spxTextUpdateLiveBundle,\n spxTextUpdateLiveChannel,\n spxTextUpdateStatus,\n spxTextUpdateStatusCompleted,\n spxTextUpdateStatusFailed,\n spxTextUpdateStatusPreparing,\n spxTextUpdateStatusSyncing,\n spxTextUpdateVersionInfo,\n SpxTranslateI\n} from \"./spx-translate._const\";\n\nexport const SpxTranslateNl: SpxTranslateI = {\n [spxTextCheckingForUpdates]: 'controleren op updates',\n [spxTextOneMomentPlease]: 'een moment geduld alstublieft',\n [spxTextReadyToBeInstalled]: 'ready to be installed',\n [spxTextPatchAvailable]: 'patch available',\n [spxTextUpdateAvailable]: 'update available',\n [spxTextUpdate]: 'updaten',\n [spxTextOpenAppStore]: 'open app store',\n [spxTextChannel]: 'kanaal',\n [spxTextCompany]: 'bedrijf',\n [spxTextSelect]: 'selecteer',\n [spxTextSelectYourCompany]: 'selecteer uw bedrijf',\n [spxTextChange]: 'wissel',\n [spxText404PageNotFound]: \"404 pagina niet gevonden\",\n [spxTextPageNotFound]: \"Pagina niet gevonden\",\n [spxTextPageNotFoundDescription]: \"Sorry, de pagina die u zoekt bestaat niet of is verplaatst.\",\n [spxTextGoHome]: \"Ga naar het hoofdscherm\",\n [spxTextInvalidCode]: \"De {{codeName}} code {{codeCode}} is ongeldig.\",\n [spxTextTooLong]: \"De waarde van '{{fieldLabel}}' is te lang (de maximale lengte is {{error}}).\",\n [spxTextTooShort]: \"De waarde van '{{fieldLabel}}' is te kort (de minimale lengte is {{error}}).\",\n [spxTextTooHigh]: \"De waarde van '{{fieldLabel}}' is te hoog (de maximale waarde is {{error}}).\",\n [spxTextTooLow]: \"De waarde van '{{fieldLabel}}' is te laag (de minimale waarde is {{error}}).\",\n [spxTextPatternNotValid]: \"Het patroon van '{{fieldLabel}}' is ongeldig.\",\n [spxTextRequired]: \"Het veld '{{fieldLabel}}' is verplicht.\",\n [spxTextChoosePast]: \"Kies een jaar tussen 1991 en het huidige jaar.\",\n [spxTextChooseFuture]: \"Kies een jaar tussen het huidige jaar en 2050.\",\n [spxTextChooseValidMonth]: \"Kies een geldige maand (een waarde tussen 01 en 12).\",\n [spxTextDateMayNotBeFuture]: \"De geselecteerde datum mag niet in de toekomst liggen.\",\n [spxTextDateMayNotBePast]: \"De geselecteerde datum mag niet in het verleden liggen.\",\n [spxTextLiveUpdateChannelSetFailed]: \"Kanaal geselecteerd, maar het live update kanaal kon niet worden ingesteld.\",\n [spxTextLiveUpdateChannelSetFailedWithReason]: \"Kanaal geselecteerd, maar het live update kanaal kon niet worden ingesteld: {{reason}}.\",\n [spxTextLiveUpdateCheckFailed]: \"Kan nu niet op updates controleren. Probeer het later opnieuw.\",\n [spxTextLiveUpdateCheckFailedWithReason]: \"Kan nu niet op updates controleren: {{reason}}.\",\n [spxTextUpdateStatus]: \"status\",\n [spxTextUpdateStatusPreparing]: \"updatecontrole voorbereiden\",\n [spxTextUpdateStatusSyncing]: \"update-informatie synchroniseren\",\n [spxTextUpdateStatusCompleted]: \"updatecontrole voltooid\",\n [spxTextUpdateStatusFailed]: \"updatecontrole mislukt\",\n [spxTextUpdateVersionInfo]: \"versie-informatie\",\n [spxTextUpdateAppVersion]: \"app-versie\",\n [spxTextUpdateBuildVersion]: \"build-versie\",\n [spxTextUpdateBinaryVersionGroup]: \"binaire versiegroep\",\n [spxTextUpdateLiveChannel]: \"live update kanaal\",\n [spxTextUpdateLiveBundle]: \"gedownloade live bundle\",\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAO,MAAM,yBAAyB,GAAG;AAClC,MAAM,sBAAsB,GAAG;AAC/B,MAAM,qBAAqB,GAAG;AAC9B,MAAM,sBAAsB,GAAG;AAC/B,MAAM,yBAAyB,GAAG;AAClC,MAAM,aAAa,GAAG;AACtB,MAAM,mBAAmB,GAAG;AAC5B,MAAM,cAAc,GAAG;AACvB,MAAM,cAAc,GAAG;AACvB,MAAM,aAAa,GAAG;AACtB,MAAM,wBAAwB,GAAG;AACjC,MAAM,aAAa,GAAG;AACtB,MAAM,sBAAsB,GAAG;AAC/B,MAAM,mBAAmB,GAAG;AAC5B,MAAM,8BAA8B,GAAG;AACvC,MAAM,aAAa,GAAG;AACtB,MAAM,cAAc,GAAG;AACvB,MAAM,eAAe,GAAG;AACxB,MAAM,cAAc,GAAG;AACvB,MAAM,aAAa,GAAG;AACtB,MAAM,sBAAsB,GAAG;AAC/B,MAAM,eAAe,GAAG;AACxB,MAAM,iBAAiB,GAAG;AAC1B,MAAM,mBAAmB,GAAG;AAC5B,MAAM,uBAAuB,GAAG;AAChC,MAAM,yBAAyB,GAAG;AAClC,MAAM,uBAAuB,GAAG;AAChC,MAAM,kBAAkB,GAAG;AAC3B,MAAM,iCAAiC,GAAG;AAC1C,MAAM,2CAA2C,GAAG;AACpD,MAAM,4BAA4B,GAAG;AACrC,MAAM,sCAAsC,GAAG;AAC/C,MAAM,uBAAuB,GAAG;AAChC,MAAM,+BAA+B,GAAG;AACxC,MAAM,yBAAyB,GAAG;AAClC,MAAM,uBAAuB,GAAG;AAChC,MAAM,wBAAwB,GAAG;AACjC,MAAM,mBAAmB,GAAG;AAC5B,MAAM,4BAA4B,GAAG;AACrC,MAAM,yBAAyB,GAAG;AAClC,MAAM,4BAA4B,GAAG;AACrC,MAAM,0BAA0B,GAAG;AACnC,MAAM,wBAAwB,GAAG;;ACKjC,MAAM,cAAc,GAAkB;IAC3C,CAAC,yBAAyB,GAAG,sBAAsB;IACnD,CAAC,sBAAsB,GAAG,mBAAmB;IAC7C,CAAC,yBAAyB,GAAG,uBAAuB;IACpD,CAAC,qBAAqB,GAAG,iBAAiB;IAC1C,CAAC,sBAAsB,GAAG,kBAAkB;IAC5C,CAAC,aAAa,GAAG,QAAQ;IACzB,CAAC,mBAAmB,GAAG,gBAAgB;IACvC,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,aAAa,GAAG,QAAQ;IACzB,CAAC,wBAAwB,GAAG,qBAAqB;IACjD,CAAC,aAAa,GAAG,QAAQ;IACzB,CAAC,sBAAsB,GAAG,oBAAoB;IAC9C,CAAC,mBAAmB,GAAG,gBAAgB;IACvC,CAAC,8BAA8B,GAAG,qEAAqE;IACvG,CAAC,aAAa,GAAG,SAAS;IAC1B,CAAC,cAAc,GAAG,gEAAgE;IAClF,CAAC,eAAe,GAAG,iEAAiE;IACpF,CAAC,cAAc,GAAG,sEAAsE;IACxF,CAAC,aAAa,GAAG,qEAAqE;IACtF,CAAC,sBAAsB,GAAG,+CAA+C;IACzE,CAAC,eAAe,GAAG,yCAAyC;IAC5D,CAAC,iBAAiB,GAAG,yDAAyD;IAC9E,CAAC,mBAAmB,GAAG,yDAAyD;IAChF,CAAC,uBAAuB,GAAG,0DAA0D;IACrF,CAAC,yBAAyB,GAAG,6CAA6C;IAC1E,CAAC,uBAAuB,GAAG,2CAA2C;IACtE,CAAC,kBAAkB,GAAG,oDAAoD;IAC1E,CAAC,iCAAiC,GAAG,6DAA6D;IAClG,CAAC,2CAA2C,GAAG,yEAAyE;IACxH,CAAC,4BAA4B,GAAG,gEAAgE;IAChG,CAAC,sCAAsC,GAAG,0CAA0C;IACpF,CAAC,mBAAmB,GAAG,QAAQ;IAC/B,CAAC,4BAA4B,GAAG,wBAAwB;IACxD,CAAC,0BAA0B,GAAG,kCAAkC;IAChE,CAAC,4BAA4B,GAAG,wBAAwB;IACxD,CAAC,yBAAyB,GAAG,qBAAqB;IAClD,CAAC,wBAAwB,GAAG,qBAAqB;IACjD,CAAC,uBAAuB,GAAG,aAAa;IACxC,CAAC,yBAAyB,GAAG,eAAe;IAC5C,CAAC,+BAA+B,GAAG,sBAAsB;IACzD,CAAC,wBAAwB,GAAG,qBAAqB;IACjD,CAAC,uBAAuB,GAAG,wBAAwB;;;AC3C9C,MAAM,cAAc,GAAkB;IAC3C,CAAC,yBAAyB,GAAG,wBAAwB;IACrD,CAAC,sBAAsB,GAAG,+BAA+B;IACzD,CAAC,yBAAyB,GAAG,uBAAuB;IACpD,CAAC,qBAAqB,GAAG,iBAAiB;IAC1C,CAAC,sBAAsB,GAAG,kBAAkB;IAC5C,CAAC,aAAa,GAAG,SAAS;IAC1B,CAAC,mBAAmB,GAAG,gBAAgB;IACvC,CAAC,cAAc,GAAG,QAAQ;IAC1B,CAAC,cAAc,GAAG,SAAS;IAC3B,CAAC,aAAa,GAAG,WAAW;IAC5B,CAAC,wBAAwB,GAAG,sBAAsB;IAClD,CAAC,aAAa,GAAG,QAAQ;IACzB,CAAC,sBAAsB,GAAG,0BAA0B;IACpD,CAAC,mBAAmB,GAAG,sBAAsB;IAC7C,CAAC,8BAA8B,GAAG,6DAA6D;IAC/F,CAAC,aAAa,GAAG,yBAAyB;IAC1C,CAAC,kBAAkB,GAAG,gDAAgD;IACtE,CAAC,cAAc,GAAG,8EAA8E;IAChG,CAAC,eAAe,GAAG,8EAA8E;IACjG,CAAC,cAAc,GAAG,8EAA8E;IAChG,CAAC,aAAa,GAAG,8EAA8E;IAC/F,CAAC,sBAAsB,GAAG,+CAA+C;IACzE,CAAC,eAAe,GAAG,yCAAyC;IAC5D,CAAC,iBAAiB,GAAG,gDAAgD;IACrE,CAAC,mBAAmB,GAAG,gDAAgD;IACvE,CAAC,uBAAuB,GAAG,sDAAsD;IACjF,CAAC,yBAAyB,GAAG,wDAAwD;IACrF,CAAC,uBAAuB,GAAG,yDAAyD;IACpF,CAAC,iCAAiC,GAAG,6EAA6E;IAClH,CAAC,2CAA2C,GAAG,yFAAyF;IACxI,CAAC,4BAA4B,GAAG,gEAAgE;IAChG,CAAC,sCAAsC,GAAG,iDAAiD;IAC3F,CAAC,mBAAmB,GAAG,QAAQ;IAC/B,CAAC,4BAA4B,GAAG,6BAA6B;IAC7D,CAAC,0BAA0B,GAAG,kCAAkC;IAChE,CAAC,4BAA4B,GAAG,yBAAyB;IACzD,CAAC,yBAAyB,GAAG,wBAAwB;IACrD,CAAC,wBAAwB,GAAG,mBAAmB;IAC/C,CAAC,uBAAuB,GAAG,YAAY;IACvC,CAAC,yBAAyB,GAAG,cAAc;IAC3C,CAAC,+BAA+B,GAAG,qBAAqB;IACxD,CAAC,wBAAwB,GAAG,oBAAoB;IAChD,CAAC,uBAAuB,GAAG,yBAAyB;;;AC1FtD;;AAEG;;;;"}
@@ -1,24 +1,24 @@
1
1
  import * as i3 from '@ionic/angular/standalone';
2
2
  import { IonContent, IonHeader, IonToolbar, IonTitle } from '@ionic/angular/standalone';
3
- import { spxTextCheckingForUpdates, spxTextOneMomentPlease, spxTextUpdate, spxTextReadyToBeInstalled, spxTextPatchAvailable, spxTextUpdateAvailable, spxTextOpenAppStore } from '@softpak/components/spx-translate';
3
+ import { spxTextCheckingForUpdates, spxTextOneMomentPlease, spxTextUpdateAppVersion, spxTextUpdateBinaryVersionGroup, spxTextUpdateBuildVersion, spxTextUpdateLiveBundle, spxTextUpdateLiveChannel, spxTextUpdateStatus, spxTextUpdateVersionInfo, spxTextUpdateStatusPreparing, spxTextUpdateStatusFailed, spxTextUpdateStatusSyncing, spxTextUpdateStatusCompleted, spxTextUpdate, spxTextReadyToBeInstalled, spxTextPatchAvailable, spxTextUpdateAvailable, spxTextOpenAppStore, spxTextLiveUpdateCheckFailedWithReason, spxTextLiveUpdateCheckFailed } from '@softpak/components/spx-translate';
4
+ import { App } from '@capacitor/app';
4
5
  import * as i0 from '@angular/core';
5
- import { Component, signal, HostBinding, ChangeDetectionStrategy, inject, Injectable } from '@angular/core';
6
+ import { signal, computed, effect, Component, HostBinding, ChangeDetectionStrategy, inject, Injectable } from '@angular/core';
6
7
  import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
7
- import { TranslatePipe } from '@ngx-translate/core';
8
+ import { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';
9
+ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
8
10
  import * as i1 from '@ngrx/store';
9
- import { createActionGroup, props, emptyProps, createFeature, createReducer, on } from '@ngrx/store';
10
- import { unsubscribeSubscriptions, SpxSeverityEnum, getBinaryVersionGroup } from '@softpak/components/spx-helpers';
11
+ import { createActionGroup, props, emptyProps, createFeature, createReducer, on, Store } from '@ngrx/store';
11
12
  import { DateTime } from 'luxon';
12
13
  import * as i2 from '@angular/router';
14
+ import { unsubscribeSubscriptions, SpxSeverityEnum, getBinaryVersionGroup } from '@softpak/components/spx-helpers';
13
15
  import { SpxButtonComponent } from '@softpak/components/spx-button';
14
16
  import * as i2$1 from '@angular/platform-browser';
15
- import * as i1$1 from '@ngrx/effects';
16
17
  import { Actions, createEffect, ofType } from '@ngrx/effects';
17
18
  import { LiveUpdate } from '@capawesome/capacitor-live-update';
19
+ import { spxToasterActions, SpxToasterAutoCloseSpeedEnum } from '@softpak/components/spx-toaster';
18
20
  import { of, from } from 'rxjs';
19
- import { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';
20
21
  import { delay, mergeMap, exhaustMap, map, catchError, tap } from 'rxjs/operators';
21
- import { App } from '@capacitor/app';
22
22
  import { Capacitor } from '@capacitor/core';
23
23
  import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
24
24
  import { captureMessage } from '@sentry/angular';
@@ -93,29 +93,63 @@ var spxUpdateCheck_reducer = /*#__PURE__*/Object.freeze({
93
93
 
94
94
  class SpxUpdatePageComponent {
95
95
  ngOnInit() {
96
+ this.hasStarted.set(true);
97
+ void this.loadVersionInfo();
96
98
  this.appStore.dispatch(spxUpdateCheckActions.runCheck({ forceWaitForUpdate: true }));
97
- this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {
98
- if (forceWaitForUpdate === false) {
99
- if (this.activatedRoute.snapshot.data['url'] === undefined) {
100
- console.error('configure data property \'url\' in route for update page');
101
- }
102
- this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);
103
- }
104
- });
105
- }
106
- ngOnDestroy() {
107
- unsubscribeSubscriptions(this.subscriptions);
108
99
  }
109
100
  constructor(appStore, activatedRoute, navController) {
110
101
  this.appStore = appStore;
111
102
  this.activatedRoute = activatedRoute;
112
103
  this.navController = navController;
104
+ this.appVersion = signal('-', ...(ngDevMode ? [{ debugName: "appVersion" }] : []));
105
+ this.binaryVersionGroup = signal('-', ...(ngDevMode ? [{ debugName: "binaryVersionGroup" }] : []));
106
+ this.buildVersion = signal('-', ...(ngDevMode ? [{ debugName: "buildVersion" }] : []));
107
+ this.forceWaitForUpdate = this.appStore.selectSignal(updCheck.selectForceWaitForUpdate);
108
+ this.hasStarted = signal(false, ...(ngDevMode ? [{ debugName: "hasStarted" }] : []));
109
+ this.liveBundle = signal('-', ...(ngDevMode ? [{ debugName: "liveBundle" }] : []));
110
+ this.liveUpdateChannel = signal('-', ...(ngDevMode ? [{ debugName: "liveUpdateChannel" }] : []));
113
111
  this.spxTextCheckingForUpdates = spxTextCheckingForUpdates;
114
112
  this.spxTextOneMomentPlease = spxTextOneMomentPlease;
115
- this.subscriptions = {};
113
+ this.spxTextUpdateAppVersion = spxTextUpdateAppVersion;
114
+ this.spxTextUpdateBinaryVersionGroup = spxTextUpdateBinaryVersionGroup;
115
+ this.spxTextUpdateBuildVersion = spxTextUpdateBuildVersion;
116
+ this.spxTextUpdateLiveBundle = spxTextUpdateLiveBundle;
117
+ this.spxTextUpdateLiveChannel = spxTextUpdateLiveChannel;
118
+ this.spxTextUpdateStatus = spxTextUpdateStatus;
119
+ this.spxTextUpdateVersionInfo = spxTextUpdateVersionInfo;
120
+ this.statusText = computed(() => {
121
+ if (!this.hasStarted()) {
122
+ return spxTextUpdateStatusPreparing;
123
+ }
124
+ if (this.showError()) {
125
+ return spxTextUpdateStatusFailed;
126
+ }
127
+ if (this.forceWaitForUpdate()) {
128
+ return spxTextUpdateStatusSyncing;
129
+ }
130
+ return spxTextUpdateStatusCompleted;
131
+ }, ...(ngDevMode ? [{ debugName: "statusText" }] : []));
132
+ this.showError = this.appStore.selectSignal(updCheck.selectShowError);
133
+ effect(() => {
134
+ if (!this.hasStarted() || this.forceWaitForUpdate()) {
135
+ return;
136
+ }
137
+ if (this.activatedRoute.snapshot.data['url'] === undefined) {
138
+ console.error('configure data property \'url\' in route for update page');
139
+ }
140
+ this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);
141
+ });
142
+ }
143
+ async loadVersionInfo() {
144
+ const appInfo = await App.getInfo();
145
+ this.appVersion.set(appInfo.version || '-');
146
+ this.buildVersion.set(appInfo.build || '-');
147
+ this.binaryVersionGroup.set(SpxStorage.getSetting(SpxStorageKeyEnum.binaryVersionGroup) || '-');
148
+ this.liveUpdateChannel.set(SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdateChannel) || '-');
149
+ this.liveBundle.set(SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdate) || '-');
116
150
  }
117
151
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SpxUpdatePageComponent, deps: [{ token: i1.Store }, { token: i2.ActivatedRoute }, { token: i3.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: SpxUpdatePageComponent, isStandalone: true, selector: "spx-update-page", ngImport: i0, template: "<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n", dependencies: [{ kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: SpxUpdatePageComponent, isStandalone: true, selector: "spx-update-page", ngImport: i0, template: "<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <p>{{ spxTextOneMomentPlease | translate | capitalize }}...</p>\n <p class=\"mt-2\">\n <strong>{{ spxTextUpdateStatus | translate | capitalize }}:</strong>\n {{ statusText() | translate | capitalize }}\n </p>\n\n <div class=\"mt-6 text-sm text-zinc-600\">\n <p><strong>{{ spxTextUpdateVersionInfo | translate | capitalize }}</strong></p>\n <p>{{ spxTextUpdateAppVersion | translate | capitalize }}: {{ appVersion() }}</p>\n <p>{{ spxTextUpdateBuildVersion | translate | capitalize }}: {{ buildVersion() }}</p>\n <p>{{ spxTextUpdateBinaryVersionGroup | translate | capitalize }}: {{ binaryVersionGroup() }}</p>\n <p>{{ spxTextUpdateLiveChannel | translate | capitalize }}: {{ liveUpdateChannel() }}</p>\n <p>{{ spxTextUpdateLiveBundle | translate | capitalize }}: {{ liveBundle() }}</p>\n </div>\n</ion-content>\n", dependencies: [{ kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
119
153
  }
120
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SpxUpdatePageComponent, decorators: [{
121
155
  type: Component,
@@ -126,7 +160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
126
160
  IonTitle,
127
161
  SpxCapitalizePipe,
128
162
  TranslatePipe,
129
- ], standalone: true, template: "<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n" }]
163
+ ], standalone: true, template: "<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <p>{{ spxTextOneMomentPlease | translate | capitalize }}...</p>\n <p class=\"mt-2\">\n <strong>{{ spxTextUpdateStatus | translate | capitalize }}:</strong>\n {{ statusText() | translate | capitalize }}\n </p>\n\n <div class=\"mt-6 text-sm text-zinc-600\">\n <p><strong>{{ spxTextUpdateVersionInfo | translate | capitalize }}</strong></p>\n <p>{{ spxTextUpdateAppVersion | translate | capitalize }}: {{ appVersion() }}</p>\n <p>{{ spxTextUpdateBuildVersion | translate | capitalize }}: {{ buildVersion() }}</p>\n <p>{{ spxTextUpdateBinaryVersionGroup | translate | capitalize }}: {{ binaryVersionGroup() }}</p>\n <p>{{ spxTextUpdateLiveChannel | translate | capitalize }}: {{ liveUpdateChannel() }}</p>\n <p>{{ spxTextUpdateLiveBundle | translate | capitalize }}: {{ liveBundle() }}</p>\n </div>\n</ion-content>\n" }]
130
164
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.ActivatedRoute }, { type: i3.NavController }] });
131
165
 
132
166
  const SpxUpdatePendingActions = createActionGroup({
@@ -234,6 +268,7 @@ const spxUpdateUrl = '';
234
268
  let Effects$1 = class Effects {
235
269
  constructor() {
236
270
  this.actions$ = inject(Actions);
271
+ this.translateService = inject(TranslateService);
237
272
  this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions.initialize), delay(120000), mergeMap(() => [
238
273
  spxUpdateCheckActions.runCheck({}),
239
274
  ])));
@@ -252,20 +287,31 @@ let Effects$1 = class Effects {
252
287
  SpxStorage.setSetting(SpxStorageKeyEnum.liveUpdateChannel, `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`);
253
288
  // End migrate from e.g. 1.2.x to 1.3.x
254
289
  return from(LiveUpdate.sync({ channel: SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdateChannel) }));
255
- }), map((syncResult) => {
290
+ }), mergeMap((syncResult) => {
256
291
  if (syncResult.nextBundleId) {
257
292
  SpxStorage.setSetting(SpxStorageKeyEnum.liveUpdate, syncResult.nextBundleId);
258
293
  if (action.forceWaitForUpdate) {
259
- LiveUpdate.reload();
294
+ return from(LiveUpdate.reload()).pipe(map(() => spxUpdateCheckActions.anUpdateIsReady()), catchError((err) => {
295
+ const errorReason = this.getReadableErrorReason(err);
296
+ captureMessage(`[UPD] Reload failed: ${errorReason}`);
297
+ return of(spxUpdateCheckActions.checkFailed({
298
+ errorReason,
299
+ startUpdateAgainAfterTimeout: false,
300
+ }));
301
+ }));
260
302
  }
261
- return spxUpdateCheckActions.anUpdateIsReady();
303
+ return of(spxUpdateCheckActions.anUpdateIsReady());
262
304
  }
263
305
  else {
264
- return spxUpdateCheckActions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });
306
+ return of(spxUpdateCheckActions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }));
265
307
  }
266
308
  }), catchError((err) => {
267
- captureMessage("[UPD] Handled: " + err.message);
268
- return of(spxUpdateCheckActions.checkFailed({ startUpdateAgainAfterTimeout: false }));
309
+ const errorReason = this.getReadableErrorReason(err);
310
+ captureMessage(`[UPD] Handled: ${errorReason}`);
311
+ return of(spxUpdateCheckActions.checkFailed({
312
+ errorReason,
313
+ startUpdateAgainAfterTimeout: false,
314
+ }));
269
315
  }));
270
316
  })));
271
317
  this.whenAndUpdateIsReady$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions.anUpdateIsReady), mergeMap(() => [
@@ -274,10 +320,40 @@ let Effects$1 = class Effects {
274
320
  this.whenCheckHasFailed$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions.checkFailed), delay(30000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
275
321
  spxUpdateCheckActions.runCheck({}),
276
322
  ])));
323
+ this.whenCheckHasFailedShowError$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions.checkFailed), map((action) => spxToasterActions.createError({
324
+ autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,
325
+ messageText: action.errorReason
326
+ ? this.translateService.instant(spxTextLiveUpdateCheckFailedWithReason, { reason: action.errorReason })
327
+ : this.translateService.instant(spxTextLiveUpdateCheckFailed),
328
+ }))));
277
329
  this.whenNoUpdateWasFound$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions.noUpdateWasFound), delay(120000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
278
330
  spxUpdateCheckActions.runCheck({}),
279
331
  ])));
280
332
  }
333
+ getReadableErrorReason(err) {
334
+ if (err instanceof Error && err.message?.trim()) {
335
+ return err.message.trim();
336
+ }
337
+ if (typeof err === 'string' && err.trim()) {
338
+ return err.trim();
339
+ }
340
+ if (err && typeof err === 'object') {
341
+ const withMessage = err;
342
+ if (typeof withMessage.message === 'string' && withMessage.message.trim()) {
343
+ return withMessage.message.trim();
344
+ }
345
+ try {
346
+ const serialized = JSON.stringify(err);
347
+ if (serialized && serialized !== '{}') {
348
+ return serialized.length > 180 ? `${serialized.slice(0, 177)}...` : serialized;
349
+ }
350
+ }
351
+ catch {
352
+ // ignore serialization errors
353
+ }
354
+ }
355
+ return '';
356
+ }
281
357
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
282
358
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects }); }
283
359
  };
@@ -295,18 +371,53 @@ var spxUpdateCheck_state = /*#__PURE__*/Object.freeze({
295
371
  });
296
372
 
297
373
  class Effects {
298
- constructor(actions$) {
299
- this.actions$ = actions$;
374
+ constructor() {
375
+ this.actions$ = inject(Actions);
376
+ this.appStore = inject(Store);
377
+ this.translateService = inject(TranslateService);
300
378
  this.whenAccepted$ = createEffect(() => this.actions$.pipe(ofType(SpxUpdatePendingActions.acceptUpdate), tap(() => {
301
- void LiveUpdate.reload();
379
+ void LiveUpdate.reload().catch((err) => {
380
+ const errorReason = this.getReadableErrorReason(err);
381
+ captureMessage(`[UPD] Accept reload failed: ${errorReason}`);
382
+ this.appStore.dispatch(spxToasterActions.createError({
383
+ autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,
384
+ messageText: errorReason
385
+ ? this.translateService.instant(spxTextLiveUpdateCheckFailedWithReason, { reason: errorReason })
386
+ : this.translateService.instant(spxTextLiveUpdateCheckFailed),
387
+ }));
388
+ });
302
389
  })), { dispatch: false });
303
390
  }
304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects, deps: [{ token: i1$1.Actions }], target: i0.ɵɵFactoryTarget.Injectable }); }
391
+ getReadableErrorReason(err) {
392
+ if (err instanceof Error && err.message?.trim()) {
393
+ return err.message.trim();
394
+ }
395
+ if (typeof err === 'string' && err.trim()) {
396
+ return err.trim();
397
+ }
398
+ if (err && typeof err === 'object') {
399
+ const withMessage = err;
400
+ if (typeof withMessage.message === 'string' && withMessage.message.trim()) {
401
+ return withMessage.message.trim();
402
+ }
403
+ try {
404
+ const serialized = JSON.stringify(err);
405
+ if (serialized && serialized !== '{}') {
406
+ return serialized.length > 180 ? `${serialized.slice(0, 177)}...` : serialized;
407
+ }
408
+ }
409
+ catch {
410
+ // ignore serialization errors
411
+ }
412
+ }
413
+ return '';
414
+ }
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
305
416
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects }); }
306
417
  }
307
418
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Effects, decorators: [{
308
419
  type: Injectable
309
- }], ctorParameters: () => [{ type: i1$1.Actions }] });
420
+ }] });
310
421
 
311
422
  var spxUpdatePending_effects = /*#__PURE__*/Object.freeze({
312
423
  __proto__: null,
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-update.mjs","sources":["../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.html","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.html","../../../../projects/softpak/components/spx-update/spx-update-url.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.effects.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.effects.ts","../../../../projects/softpak/components/spx-update/softpak-components-spx-update.ts"],"sourcesContent":["import { createActionGroup, emptyProps, props } from '@ngrx/store';\n\nexport const spxUpdateCheckActions = createActionGroup({\n source: 'SpxUpdateCheck',\n events: {\n anUpdateIsReady: emptyProps(),\n checkFailed: props<{ startUpdateAgainAfterTimeout?: boolean; }>(),\n clearError: emptyProps(),\n initialize: emptyProps(),\n noUpdateWasFound: props<{ startUpdateAgainAfterTimeout?: boolean; }>(),\n notAvailableOnWeb: emptyProps(),\n runCheck: props<{ forceWaitForUpdate?: boolean }>(),\n },\n});\n","import { StateI } from \"./spx-update-check.state\";\n\nexport const initialState: StateI = {\n forceWaitForUpdate: false,\n lastCheck: null,\n showError: false,\n};\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { DateTime } from 'luxon';\nimport { StateI } from './spx-update-check.state';\nimport { initialState } from './spx-update-check.initial';\nimport { spxUpdateCheckActions } from './spx-update-check.actions';\n\nexport default createFeature({\n name: 'spxUpdateCheck',\n reducer: createReducer(\n initialState,\n on(spxUpdateCheckActions.anUpdateIsReady, (state: StateI): StateI => {\n return {\n ...state,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(spxUpdateCheckActions.clearError, (state: StateI): StateI => {\n return {\n ...state,\n showError: false,\n };\n }),\n on(spxUpdateCheckActions.checkFailed, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n showError: true,\n };\n }),\n on(spxUpdateCheckActions.noUpdateWasFound, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(spxUpdateCheckActions.runCheck, (state: StateI, { forceWaitForUpdate }): StateI => {\n return {\n ...state,\n forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate\n };\n }),\n on(spxUpdateCheckActions.notAvailableOnWeb, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false\n };\n }),\n ),\n});\n","import { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\nimport { spxTextCheckingForUpdates, spxTextOneMomentPlease } from '@softpak/components/spx-translate';\n\nimport { ActivatedRoute } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { spxUpdateCheckActions } from './store/spx-update-check/spx-update-check.actions';\nimport { unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { default as updCheck } from './store/spx-update-check/spx-update-check.reducer';\n\n@Component({\n selector: 'spx-update-page',\n imports: [\n IonContent,\n IonHeader,\n IonToolbar,\n IonTitle,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-page.component.html`,\n standalone: true,\n})\nexport class SpxUpdatePageComponent {\n spxTextCheckingForUpdates = spxTextCheckingForUpdates;\n spxTextOneMomentPlease = spxTextOneMomentPlease;\n\n private subscriptions: {\n updCheck?: Subscription;\n } = {};\n\n ngOnInit() {\n this.appStore.dispatch(spxUpdateCheckActions.runCheck({ forceWaitForUpdate: true }));\n this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {\n if (forceWaitForUpdate === false) {\n if (this.activatedRoute.snapshot.data['url'] === undefined) {\n console.error('configure data property \\'url\\' in route for update page');\n }\n this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private readonly activatedRoute: ActivatedRoute,\n private readonly navController: NavController,\n ) {\n }\n}\n","<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n {{ spxTextOneMomentPlease | translate | capitalize }}...\n</ion-content>\n","import { createActionGroup, emptyProps } from '@ngrx/store';\n\nexport const SpxUpdatePendingActions = createActionGroup({\n source: 'SpxUpdatePending',\n events: {\n AcceptUpdate: emptyProps(),\n HasBeenDownloaded: emptyProps(),\n HasBeenInstalled: emptyProps(),\n Postpone: emptyProps(),\n PostponeExpired: emptyProps(),\n },\n});\n","import { StateI } from \"./spx-update-pending.state\";\n\nexport const initialState: StateI = {\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n};\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { SpxUpdatePendingActions } from './spx-update-pending.actions';\nimport { StateI } from './spx-update-pending.state';\nimport { initialState } from './spx-update-pending.initial';\n\nexport default createFeature({\n name: 'spxUpdatePending',\n reducer: createReducer(\n initialState,\n on(SpxUpdatePendingActions.hasBeenDownloaded, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n updateIsDownloadedAndPending: true,\n };\n }),\n on(SpxUpdatePendingActions.hasBeenInstalled, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n };\n }),\n on(SpxUpdatePendingActions.postpone, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n };\n }),\n on(SpxUpdatePendingActions.postponeExpired, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n };\n }),\n ),\n});\n","import { ChangeDetectionStrategy, Component, HostBinding, signal } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { SpxSeverityEnum, unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { spxTextOpenAppStore, spxTextPatchAvailable, spxTextReadyToBeInstalled, spxTextUpdate, spxTextUpdateAvailable } from '@softpak/components/spx-translate';\n\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxUpdatePendingActions } from './public-api';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { default as updPending } from './store/spx-update-pending/spx-update-pending.reducer';\n\n@Component({\n selector: 'spx-update-pending',\n imports: [\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-pending.component.html`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxUpdatePendingComponent {\n @HostBinding('style') baseStyle?: SafeStyle;\n availableStoreVersion = signal<undefined | string>(undefined);\n currentStoreVersion = signal<undefined | string>(undefined);\n severitySuccess = SpxSeverityEnum.success;\n showLiveUpdateReady = signal<boolean>(false);\n spxTextUpdate = spxTextUpdate;\n spxTextReadyToBeInstalled = spxTextReadyToBeInstalled;\n spxTextPatchAvailable = spxTextPatchAvailable;\n spxTextUpdateAvailable = spxTextUpdateAvailable;\n spxTextOpenAppStore = spxTextOpenAppStore;\n\n private subscriptions: {\n updPending?: Subscription;\n } = {};\n\n ngOnInit() {\n this.subscriptions.updPending = this.appStore.select(updPending.selectShowLiveUpdateReady).subscribe(showLiveUpdateReady => {\n this.showLiveUpdateReady.set(showLiveUpdateReady);\n if (showLiveUpdateReady) {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: block;');\n } else {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: none;');\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private sanitizer: DomSanitizer,\n ) {}\n\n onUpdate(): void {\n this.appStore.dispatch(SpxUpdatePendingActions.acceptUpdate());\n }\n}\n","@if (showLiveUpdateReady()) {\n<div class=\"bg-zinc-700 text-black p-3 rounded flex gap-3 mx-auto max-w-lg items-center\">\n <div class=\"grow\">\n <p\n class=\"text-xl font-extrabold bg-clip-text text-transparent bg-[linear-gradient(to_right,theme(colors.green.300),theme(colors.green.100),theme(colors.sky.400),theme(colors.yellow.200),theme(colors.sky.400),theme(colors.green.100),theme(colors.green.300))] bg-[length:200%_auto] animate-gradient\">\n {{ spxTextPatchAvailable | translate | capitalize }}</p>\n <div class=\"text-sm text-zinc-300\">{{ spxTextReadyToBeInstalled | translate | capitalize }}</div>\n </div>\n <spx-button [spxSeverity]=\"severitySuccess\" (spxClick)=\"onUpdate()\">{{ spxTextUpdate | translate | capitalize\n }}</spx-button>\n</div>\n}","export const spxUpdateUrl = '';","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Injectable, inject } from '@angular/core';\nimport { LiveUpdate, SyncResult } from '@capawesome/capacitor-live-update';\nimport { Observable, from, of } from 'rxjs';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { catchError, delay, exhaustMap, map, mergeMap } from 'rxjs/operators';\n\nimport { App } from '@capacitor/app';\nimport { Capacitor } from '@capacitor/core';\nimport { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { getBinaryVersionGroup } from '@softpak/components/spx-helpers';\nimport { SpxUpdatePendingActions } from '../spx-update-pending/spx-update-pending.actions';\nimport { captureMessage } from '@sentry/angular';\nimport { spxUpdateCheckActions } from './spx-update-check.actions';\n\n@Injectable()\nexport class Effects {\n private readonly actions$ = inject(Actions);\n\n afterInitialize$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.initialize),\n delay(120000),\n mergeMap(() => [\n spxUpdateCheckActions.runCheck({}),\n ]))\n );\n onRun$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.runCheck),\n exhaustMap((action) => {\n if (Capacitor.getPlatform() === 'web') {\n return of(spxUpdateCheckActions.notAvailableOnWeb());\n }\n return from(App.getInfo()).pipe(\n mergeMap((binaryInfo) => {\n // Migrate from e.g. 1.2.x to 1.3.x\n const binaryVersionGroup = getBinaryVersionGroup(binaryInfo.version);\n let channelType = SpxStorage.getSetting(SpxStorageKeyEnum.channelType);\n\n if (SpxStorage.getSetting(SpxStorageKeyEnum.binaryVersionGroup)) {\n SpxStorage.setSetting(SpxStorageKeyEnum.lastBinaryVersionGroup, SpxStorage.getSetting(SpxStorageKeyEnum.binaryVersionGroup)!);\n }\n\n SpxStorage.setSetting(SpxStorageKeyEnum.binaryVersionGroup, `${binaryVersionGroup}.x`);\n SpxStorage.setSetting(SpxStorageKeyEnum.liveUpdateChannel, `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`);\n // End migrate from e.g. 1.2.x to 1.3.x\n\n return from(LiveUpdate.sync({ channel: SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdateChannel)! }));\n }),\n map((syncResult: SyncResult) => {\n if (syncResult.nextBundleId) {\n SpxStorage.setSetting(SpxStorageKeyEnum.liveUpdate, syncResult.nextBundleId as string);\n if (action.forceWaitForUpdate) {\n LiveUpdate.reload();\n }\n return spxUpdateCheckActions.anUpdateIsReady();\n } else {\n return spxUpdateCheckActions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });\n }\n }),\n catchError((err) => {\n captureMessage(\"[UPD] Handled: \" + err.message);\n return of(spxUpdateCheckActions.checkFailed({ startUpdateAgainAfterTimeout: false }));\n })\n );\n }),\n ));\n\n whenAndUpdateIsReady$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.anUpdateIsReady),\n mergeMap(() => [\n SpxUpdatePendingActions.hasBeenDownloaded(),\n ]))\n );\n\n whenCheckHasFailed$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.checkFailed),\n delay(30000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n spxUpdateCheckActions.runCheck({}),\n ]))\n );\n\n whenNoUpdateWasFound$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.noUpdateWasFound),\n delay(120000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n spxUpdateCheckActions.runCheck({}),\n ]))\n );\n}\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\n\nimport { Injectable } from '@angular/core';\nimport { LiveUpdate } from \"@capawesome/capacitor-live-update\";\nimport { SpxUpdatePendingActions } from './spx-update-pending.actions';\nimport { tap } from 'rxjs/operators';\n\n@Injectable()\nexport class Effects {\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAccepted$ = createEffect(() => this.actions$.pipe(\n ofType(SpxUpdatePendingActions.acceptUpdate),\n tap(() => {\n void LiveUpdate.reload();\n }),\n ), { dispatch: false });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["initialState","i2","Effects","i1"],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-update.mjs","sources":["../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.ts","../../../../projects/softpak/components/spx-update/spx-update-page.component.html","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.actions.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.initial.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.reducer.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.ts","../../../../projects/softpak/components/spx-update/spx-update-pending.component.html","../../../../projects/softpak/components/spx-update/spx-update-url.ts","../../../../projects/softpak/components/spx-update/store/spx-update-check/spx-update-check.effects.ts","../../../../projects/softpak/components/spx-update/store/spx-update-pending/spx-update-pending.effects.ts","../../../../projects/softpak/components/spx-update/softpak-components-spx-update.ts"],"sourcesContent":["import { createActionGroup, emptyProps, props } from '@ngrx/store';\n\nexport const spxUpdateCheckActions = createActionGroup({\n source: 'SpxUpdateCheck',\n events: {\n anUpdateIsReady: emptyProps(),\n checkFailed: props<{ errorReason?: string; startUpdateAgainAfterTimeout?: boolean; }>(),\n clearError: emptyProps(),\n initialize: emptyProps(),\n noUpdateWasFound: props<{ startUpdateAgainAfterTimeout?: boolean; }>(),\n notAvailableOnWeb: emptyProps(),\n runCheck: props<{ forceWaitForUpdate?: boolean }>(),\n },\n});\n","import { StateI } from \"./spx-update-check.state\";\n\nexport const initialState: StateI = {\n forceWaitForUpdate: false,\n lastCheck: null,\n showError: false,\n};\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { DateTime } from 'luxon';\nimport { StateI } from './spx-update-check.state';\nimport { initialState } from './spx-update-check.initial';\nimport { spxUpdateCheckActions } from './spx-update-check.actions';\n\nexport default createFeature({\n name: 'spxUpdateCheck',\n reducer: createReducer(\n initialState,\n on(spxUpdateCheckActions.anUpdateIsReady, (state: StateI): StateI => {\n return {\n ...state,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(spxUpdateCheckActions.clearError, (state: StateI): StateI => {\n return {\n ...state,\n showError: false,\n };\n }),\n on(spxUpdateCheckActions.checkFailed, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n showError: true,\n };\n }),\n on(spxUpdateCheckActions.noUpdateWasFound, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(spxUpdateCheckActions.runCheck, (state: StateI, { forceWaitForUpdate }): StateI => {\n return {\n ...state,\n forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate\n };\n }),\n on(spxUpdateCheckActions.notAvailableOnWeb, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false\n };\n }),\n ),\n});\n","import { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\nimport {\n spxTextCheckingForUpdates,\n spxTextOneMomentPlease,\n spxTextUpdateAppVersion,\n spxTextUpdateBinaryVersionGroup,\n spxTextUpdateBuildVersion,\n spxTextUpdateLiveBundle,\n spxTextUpdateLiveChannel,\n spxTextUpdateStatus,\n spxTextUpdateStatusCompleted,\n spxTextUpdateStatusFailed,\n spxTextUpdateStatusPreparing,\n spxTextUpdateStatusSyncing,\n spxTextUpdateVersionInfo\n} from '@softpak/components/spx-translate';\n\nimport { ActivatedRoute } from '@angular/router';\nimport { App } from '@capacitor/app';\nimport { Component, computed, effect, signal } from '@angular/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { Store } from '@ngrx/store';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { spxUpdateCheckActions } from './store/spx-update-check/spx-update-check.actions';\nimport { default as updCheck } from './store/spx-update-check/spx-update-check.reducer';\n\n@Component({\n selector: 'spx-update-page',\n imports: [\n IonContent,\n IonHeader,\n IonToolbar,\n IonTitle,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-page.component.html`,\n standalone: true,\n})\nexport class SpxUpdatePageComponent {\n appVersion = signal<string>('-');\n binaryVersionGroup = signal<string>('-');\n buildVersion = signal<string>('-');\n forceWaitForUpdate = this.appStore.selectSignal(updCheck.selectForceWaitForUpdate);\n hasStarted = signal<boolean>(false);\n liveBundle = signal<string>('-');\n liveUpdateChannel = signal<string>('-');\n spxTextCheckingForUpdates = spxTextCheckingForUpdates;\n spxTextOneMomentPlease = spxTextOneMomentPlease;\n spxTextUpdateAppVersion = spxTextUpdateAppVersion;\n spxTextUpdateBinaryVersionGroup = spxTextUpdateBinaryVersionGroup;\n spxTextUpdateBuildVersion = spxTextUpdateBuildVersion;\n spxTextUpdateLiveBundle = spxTextUpdateLiveBundle;\n spxTextUpdateLiveChannel = spxTextUpdateLiveChannel;\n spxTextUpdateStatus = spxTextUpdateStatus;\n spxTextUpdateVersionInfo = spxTextUpdateVersionInfo;\n statusText = computed(() => {\n if (!this.hasStarted()) {\n return spxTextUpdateStatusPreparing;\n }\n if (this.showError()) {\n return spxTextUpdateStatusFailed;\n }\n if (this.forceWaitForUpdate()) {\n return spxTextUpdateStatusSyncing;\n }\n return spxTextUpdateStatusCompleted;\n });\n showError = this.appStore.selectSignal(updCheck.selectShowError);\n\n ngOnInit() {\n this.hasStarted.set(true);\n void this.loadVersionInfo();\n this.appStore.dispatch(spxUpdateCheckActions.runCheck({ forceWaitForUpdate: true }));\n }\n\n constructor(\n private readonly appStore: Store,\n private readonly activatedRoute: ActivatedRoute,\n private readonly navController: NavController,\n ) {\n effect(() => {\n if (!this.hasStarted() || this.forceWaitForUpdate()) {\n return;\n }\n if (this.activatedRoute.snapshot.data['url'] === undefined) {\n console.error('configure data property \\'url\\' in route for update page');\n }\n this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);\n });\n }\n\n private async loadVersionInfo(): Promise<void> {\n const appInfo = await App.getInfo();\n this.appVersion.set(appInfo.version || '-');\n this.buildVersion.set(appInfo.build || '-');\n this.binaryVersionGroup.set(SpxStorage.getSetting(SpxStorageKeyEnum.binaryVersionGroup) || '-');\n this.liveUpdateChannel.set(SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdateChannel) || '-');\n this.liveBundle.set(SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdate) || '-');\n }\n}\n","<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ spxTextCheckingForUpdates | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <p>{{ spxTextOneMomentPlease | translate | capitalize }}...</p>\n <p class=\"mt-2\">\n <strong>{{ spxTextUpdateStatus | translate | capitalize }}:</strong>\n {{ statusText() | translate | capitalize }}\n </p>\n\n <div class=\"mt-6 text-sm text-zinc-600\">\n <p><strong>{{ spxTextUpdateVersionInfo | translate | capitalize }}</strong></p>\n <p>{{ spxTextUpdateAppVersion | translate | capitalize }}: {{ appVersion() }}</p>\n <p>{{ spxTextUpdateBuildVersion | translate | capitalize }}: {{ buildVersion() }}</p>\n <p>{{ spxTextUpdateBinaryVersionGroup | translate | capitalize }}: {{ binaryVersionGroup() }}</p>\n <p>{{ spxTextUpdateLiveChannel | translate | capitalize }}: {{ liveUpdateChannel() }}</p>\n <p>{{ spxTextUpdateLiveBundle | translate | capitalize }}: {{ liveBundle() }}</p>\n </div>\n</ion-content>\n","import { createActionGroup, emptyProps } from '@ngrx/store';\n\nexport const SpxUpdatePendingActions = createActionGroup({\n source: 'SpxUpdatePending',\n events: {\n AcceptUpdate: emptyProps(),\n HasBeenDownloaded: emptyProps(),\n HasBeenInstalled: emptyProps(),\n Postpone: emptyProps(),\n PostponeExpired: emptyProps(),\n },\n});\n","import { StateI } from \"./spx-update-pending.state\";\n\nexport const initialState: StateI = {\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n};\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { SpxUpdatePendingActions } from './spx-update-pending.actions';\nimport { StateI } from './spx-update-pending.state';\nimport { initialState } from './spx-update-pending.initial';\n\nexport default createFeature({\n name: 'spxUpdatePending',\n reducer: createReducer(\n initialState,\n on(SpxUpdatePendingActions.hasBeenDownloaded, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n updateIsDownloadedAndPending: true,\n };\n }),\n on(SpxUpdatePendingActions.hasBeenInstalled, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n updateIsDownloadedAndPending: false,\n };\n }),\n on(SpxUpdatePendingActions.postpone, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: false,\n };\n }),\n on(SpxUpdatePendingActions.postponeExpired, (state: StateI): StateI => {\n return {\n ...state,\n showLiveUpdateReady: true,\n };\n }),\n ),\n});\n","import { ChangeDetectionStrategy, Component, HostBinding, signal } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { SpxSeverityEnum, unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { spxTextOpenAppStore, spxTextPatchAvailable, spxTextReadyToBeInstalled, spxTextUpdate, spxTextUpdateAvailable } from '@softpak/components/spx-translate';\n\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxUpdatePendingActions } from './public-api';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { default as updPending } from './store/spx-update-pending/spx-update-pending.reducer';\n\n@Component({\n selector: 'spx-update-pending',\n imports: [\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslatePipe,\n ],\n templateUrl: `./spx-update-pending.component.html`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxUpdatePendingComponent {\n @HostBinding('style') baseStyle?: SafeStyle;\n availableStoreVersion = signal<undefined | string>(undefined);\n currentStoreVersion = signal<undefined | string>(undefined);\n severitySuccess = SpxSeverityEnum.success;\n showLiveUpdateReady = signal<boolean>(false);\n spxTextUpdate = spxTextUpdate;\n spxTextReadyToBeInstalled = spxTextReadyToBeInstalled;\n spxTextPatchAvailable = spxTextPatchAvailable;\n spxTextUpdateAvailable = spxTextUpdateAvailable;\n spxTextOpenAppStore = spxTextOpenAppStore;\n\n private subscriptions: {\n updPending?: Subscription;\n } = {};\n\n ngOnInit() {\n this.subscriptions.updPending = this.appStore.select(updPending.selectShowLiveUpdateReady).subscribe(showLiveUpdateReady => {\n this.showLiveUpdateReady.set(showLiveUpdateReady);\n if (showLiveUpdateReady) {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: block;');\n } else {\n this.baseStyle = this.sanitizer.bypassSecurityTrustStyle('display: none;');\n }\n });\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscriptions);\n }\n\n constructor(\n private readonly appStore: Store,\n private sanitizer: DomSanitizer,\n ) {}\n\n onUpdate(): void {\n this.appStore.dispatch(SpxUpdatePendingActions.acceptUpdate());\n }\n}\n","@if (showLiveUpdateReady()) {\n<div class=\"bg-zinc-700 text-black p-3 rounded flex gap-3 mx-auto max-w-lg items-center\">\n <div class=\"grow\">\n <p\n class=\"text-xl font-extrabold bg-clip-text text-transparent bg-[linear-gradient(to_right,theme(colors.green.300),theme(colors.green.100),theme(colors.sky.400),theme(colors.yellow.200),theme(colors.sky.400),theme(colors.green.100),theme(colors.green.300))] bg-[length:200%_auto] animate-gradient\">\n {{ spxTextPatchAvailable | translate | capitalize }}</p>\n <div class=\"text-sm text-zinc-300\">{{ spxTextReadyToBeInstalled | translate | capitalize }}</div>\n </div>\n <spx-button [spxSeverity]=\"severitySuccess\" (spxClick)=\"onUpdate()\">{{ spxTextUpdate | translate | capitalize\n }}</spx-button>\n</div>\n}","export const spxUpdateUrl = '';","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Injectable, inject } from '@angular/core';\nimport { LiveUpdate, SyncResult } from '@capawesome/capacitor-live-update';\nimport { SpxToasterAutoCloseSpeedEnum, spxToasterActions } from '@softpak/components/spx-toaster';\nimport { Observable, from, of } from 'rxjs';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { catchError, delay, exhaustMap, map, mergeMap } from 'rxjs/operators';\n\nimport { App } from '@capacitor/app';\nimport { Capacitor } from '@capacitor/core';\nimport { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { getBinaryVersionGroup } from '@softpak/components/spx-helpers';\nimport { SpxUpdatePendingActions } from '../spx-update-pending/spx-update-pending.actions';\nimport { TranslateService } from '@ngx-translate/core';\nimport { captureMessage } from '@sentry/angular';\nimport { spxTextLiveUpdateCheckFailed, spxTextLiveUpdateCheckFailedWithReason } from '@softpak/components/spx-translate';\nimport { spxUpdateCheckActions } from './spx-update-check.actions';\n\n@Injectable()\nexport class Effects {\n private readonly actions$ = inject(Actions);\n private readonly translateService = inject(TranslateService);\n\n afterInitialize$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.initialize),\n delay(120000),\n mergeMap(() => [\n spxUpdateCheckActions.runCheck({}),\n ]))\n );\n onRun$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.runCheck),\n exhaustMap((action) => {\n if (Capacitor.getPlatform() === 'web') {\n return of(spxUpdateCheckActions.notAvailableOnWeb());\n }\n return from(App.getInfo()).pipe(\n mergeMap((binaryInfo) => {\n // Migrate from e.g. 1.2.x to 1.3.x\n const binaryVersionGroup = getBinaryVersionGroup(binaryInfo.version);\n let channelType = SpxStorage.getSetting(SpxStorageKeyEnum.channelType);\n\n if (SpxStorage.getSetting(SpxStorageKeyEnum.binaryVersionGroup)) {\n SpxStorage.setSetting(SpxStorageKeyEnum.lastBinaryVersionGroup, SpxStorage.getSetting(SpxStorageKeyEnum.binaryVersionGroup)!);\n }\n\n SpxStorage.setSetting(SpxStorageKeyEnum.binaryVersionGroup, `${binaryVersionGroup}.x`);\n SpxStorage.setSetting(SpxStorageKeyEnum.liveUpdateChannel, `${channelType ? channelType : SpxAppChannelTypeEnum.production}-${binaryVersionGroup}.x`);\n // End migrate from e.g. 1.2.x to 1.3.x\n\n return from(LiveUpdate.sync({ channel: SpxStorage.getSetting(SpxStorageKeyEnum.liveUpdateChannel)! }));\n }),\n mergeMap((syncResult: SyncResult) => {\n if (syncResult.nextBundleId) {\n SpxStorage.setSetting(SpxStorageKeyEnum.liveUpdate, syncResult.nextBundleId as string);\n if (action.forceWaitForUpdate) {\n return from(LiveUpdate.reload()).pipe(\n map(() => spxUpdateCheckActions.anUpdateIsReady()),\n catchError((err) => {\n const errorReason = this.getReadableErrorReason(err);\n captureMessage(`[UPD] Reload failed: ${errorReason}`);\n return of(spxUpdateCheckActions.checkFailed({\n errorReason,\n startUpdateAgainAfterTimeout: false,\n }));\n }),\n );\n }\n return of(spxUpdateCheckActions.anUpdateIsReady());\n } else {\n return of(spxUpdateCheckActions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }));\n }\n }),\n catchError((err) => {\n const errorReason = this.getReadableErrorReason(err);\n captureMessage(`[UPD] Handled: ${errorReason}`);\n return of(spxUpdateCheckActions.checkFailed({\n errorReason,\n startUpdateAgainAfterTimeout: false,\n }));\n })\n );\n }),\n ));\n\n whenAndUpdateIsReady$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.anUpdateIsReady),\n mergeMap(() => [\n SpxUpdatePendingActions.hasBeenDownloaded(),\n ]))\n );\n\n whenCheckHasFailed$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.checkFailed),\n delay(30000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n spxUpdateCheckActions.runCheck({}),\n ]))\n );\n\n whenCheckHasFailedShowError$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.checkFailed),\n map((action) => spxToasterActions.createError({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: action.errorReason\n ? this.translateService.instant(spxTextLiveUpdateCheckFailedWithReason, { reason: action.errorReason })\n : this.translateService.instant(spxTextLiveUpdateCheckFailed),\n })),\n ));\n\n whenNoUpdateWasFound$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(spxUpdateCheckActions.noUpdateWasFound),\n delay(120000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n spxUpdateCheckActions.runCheck({}),\n ]))\n );\n\n private getReadableErrorReason(err: unknown): string {\n if (err instanceof Error && err.message?.trim()) {\n return err.message.trim();\n }\n if (typeof err === 'string' && err.trim()) {\n return err.trim();\n }\n if (err && typeof err === 'object') {\n const withMessage = err as { message?: unknown };\n if (typeof withMessage.message === 'string' && withMessage.message.trim()) {\n return withMessage.message.trim();\n }\n try {\n const serialized = JSON.stringify(err);\n if (serialized && serialized !== '{}') {\n return serialized.length > 180 ? `${serialized.slice(0, 177)}...` : serialized;\n }\n } catch {\n // ignore serialization errors\n }\n }\n return '';\n }\n}\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\n\nimport { Injectable, inject } from '@angular/core';\nimport { LiveUpdate } from \"@capawesome/capacitor-live-update\";\nimport { SpxToasterAutoCloseSpeedEnum, spxToasterActions } from '@softpak/components/spx-toaster';\nimport { SpxUpdatePendingActions } from './spx-update-pending.actions';\nimport { Store } from '@ngrx/store';\nimport { TranslateService } from '@ngx-translate/core';\nimport { captureMessage } from '@sentry/angular';\nimport { spxTextLiveUpdateCheckFailed, spxTextLiveUpdateCheckFailedWithReason } from '@softpak/components/spx-translate';\nimport { tap } from 'rxjs/operators';\n\n@Injectable()\nexport class Effects {\n private readonly actions$ = inject(Actions);\n private readonly appStore = inject(Store);\n private readonly translateService = inject(TranslateService);\n\n whenAccepted$ = createEffect(() => this.actions$.pipe(\n ofType(SpxUpdatePendingActions.acceptUpdate),\n tap(() => {\n void LiveUpdate.reload().catch((err) => {\n const errorReason = this.getReadableErrorReason(err);\n captureMessage(`[UPD] Accept reload failed: ${errorReason}`);\n this.appStore.dispatch(spxToasterActions.createError({\n autoClose: SpxToasterAutoCloseSpeedEnum.DEFAULT,\n messageText: errorReason\n ? this.translateService.instant(spxTextLiveUpdateCheckFailedWithReason, { reason: errorReason })\n : this.translateService.instant(spxTextLiveUpdateCheckFailed),\n }));\n });\n }),\n ), { dispatch: false });\n\n private getReadableErrorReason(err: unknown): string {\n if (err instanceof Error && err.message?.trim()) {\n return err.message.trim();\n }\n if (typeof err === 'string' && err.trim()) {\n return err.trim();\n }\n if (err && typeof err === 'object') {\n const withMessage = err as { message?: unknown };\n if (typeof withMessage.message === 'string' && withMessage.message.trim()) {\n return withMessage.message.trim();\n }\n try {\n const serialized = JSON.stringify(err);\n if (serialized && serialized !== '{}') {\n return serialized.length > 180 ? `${serialized.slice(0, 177)}...` : serialized;\n }\n } catch {\n // ignore serialization errors\n }\n }\n return '';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["initialState","i2","Effects"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "21.2.0-capwesome.4",
3
+ "version": "21.2.0-capwesome.6",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "21.x.x",
package/tailwind.css CHANGED
@@ -1 +1 @@
1
- *,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.ms-3{margin-inline-start:.75rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-\[150px\]{height:150px}.h-\[30px\]{height:30px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-16{width:4rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-96{width:24rem}.w-\[150px\]{width:150px}.w-\[30px\]{width:30px}.w-full{width:100%}.min-w-12{min-width:3rem}.min-w-\[36px\]{min-width:36px}.max-w-12{max-width:3rem}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-10{flex-basis:2.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/75{background-color:#000000bf}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_right\2c theme\(colors\.green\.300\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.yellow\.200\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.green\.300\)\)\]{background-image:linear-gradient(90deg,#86efac,#dcfce7,#38bdf8,#fef08a,#38bdf8,#dcfce7,#86efac)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-lime-400{--tw-gradient-from:#a3e635 var(--tw-gradient-from-position);--tw-gradient-to:#a3e63500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-400{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:#2dd4bf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-lime-600{--tw-gradient-to:#65a30d var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.bg-\[length\:200\%_auto\]{background-size:200% auto}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-7xl{font-size:4.5rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-normal{line-height:1.5}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-offset-2{--tw-ring-offset-width:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[4px\]:after{content:var(--tw-content);inset-inline-start:4px}.after\:top-0\.5:after{content:var(--tw-content);top:.125rem}.after\:h-6:after{content:var(--tw-content);height:1.5rem}.after\:w-6:after{content:var(--tw-content);width:1.5rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity,1))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity,1))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid #0000;outline-offset:2px}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-color-scheme:dark){.dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.peer:checked~.dark\:peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:focus~.dark\:peer-focus\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}}
1
+ *,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.ms-3{margin-inline-start:.75rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-\[150px\]{height:150px}.h-\[30px\]{height:30px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-16{width:4rem}.w-24{width:6rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-96{width:24rem}.w-\[150px\]{width:150px}.w-\[30px\]{width:30px}.w-full{width:100%}.min-w-12{min-width:3rem}.min-w-\[36px\]{min-width:36px}.max-w-12{max-width:3rem}.max-w-96{max-width:24rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-10{flex-basis:2.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-flow-row{grid-auto-flow:row}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/75{background-color:#000000bf}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity,1))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity,1))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(to_right\2c theme\(colors\.green\.300\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.yellow\.200\)\2c theme\(colors\.sky\.400\)\2c theme\(colors\.green\.100\)\2c theme\(colors\.green\.300\)\)\]{background-image:linear-gradient(90deg,#86efac,#dcfce7,#38bdf8,#fef08a,#38bdf8,#dcfce7,#86efac)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-lime-400{--tw-gradient-from:#a3e635 var(--tw-gradient-from-position);--tw-gradient-to:#a3e63500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-400{--tw-gradient-from:#2dd4bf var(--tw-gradient-from-position);--tw-gradient-to:#2dd4bf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-lime-600{--tw-gradient-to:#65a30d var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.bg-\[length\:200\%_auto\]{background-size:200% auto}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-7xl{font-size:4.5rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-normal{line-height:1.5}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-offset-2{--tw-ring-offset-width:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[4px\]:after{content:var(--tw-content);inset-inline-start:4px}.after\:top-0\.5:after{content:var(--tw-content);top:.125rem}.after\:h-6:after{content:var(--tw-content);height:1.5rem}.after\:w-6:after{content:var(--tw-content);width:1.5rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-amber-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}.focus\:ring-cyan-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity,1))}.focus\:ring-lime-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity,1))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.focus\:ring-sky-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-sky-300:active{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid #0000;outline-offset:2px}.peer:focus~.peer-focus\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus~.peer-focus\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-color-scheme:dark){.dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.peer:checked~.dark\:peer-checked\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.peer:focus~.dark\:peer-focus\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity,1))}}
@@ -55,7 +55,8 @@ declare class Effects {
55
55
  closeable?: boolean;
56
56
  messageText: string;
57
57
  title?: string;
58
- } & _ngrx_store.Action<"[SpxToaster] CreateWarning">)> & _ngrx_effects.CreateEffectMetadata;
58
+ } & _ngrx_store.Action<"[SpxToaster] CreateError">)> & _ngrx_effects.CreateEffectMetadata;
59
+ private getReadableErrorReason;
59
60
  static ɵfac: i0.ɵɵFactoryDeclaration<Effects, never>;
60
61
  static ɵprov: i0.ɵɵInjectableDeclaration<Effects>;
61
62
  }
@@ -27,6 +27,20 @@ declare const spxTextDateMayNotBeFuture = "spxTextDateMayNotBeFuture";
27
27
  declare const spxTextDateMayNotBePast = "spxTextDateMayNotBePast";
28
28
  declare const spxTextInvalidCode = "spxTextInvalidCode";
29
29
  declare const spxTextLiveUpdateChannelSetFailed = "spxTextLiveUpdateChannelSetFailed";
30
+ declare const spxTextLiveUpdateChannelSetFailedWithReason = "spxTextLiveUpdateChannelSetFailedWithReason";
31
+ declare const spxTextLiveUpdateCheckFailed = "spxTextLiveUpdateCheckFailed";
32
+ declare const spxTextLiveUpdateCheckFailedWithReason = "spxTextLiveUpdateCheckFailedWithReason";
33
+ declare const spxTextUpdateAppVersion = "spxTextUpdateAppVersion";
34
+ declare const spxTextUpdateBinaryVersionGroup = "spxTextUpdateBinaryVersionGroup";
35
+ declare const spxTextUpdateBuildVersion = "spxTextUpdateBuildVersion";
36
+ declare const spxTextUpdateLiveBundle = "spxTextUpdateLiveBundle";
37
+ declare const spxTextUpdateLiveChannel = "spxTextUpdateLiveChannel";
38
+ declare const spxTextUpdateStatus = "spxTextUpdateStatus";
39
+ declare const spxTextUpdateStatusCompleted = "spxTextUpdateStatusCompleted";
40
+ declare const spxTextUpdateStatusFailed = "spxTextUpdateStatusFailed";
41
+ declare const spxTextUpdateStatusPreparing = "spxTextUpdateStatusPreparing";
42
+ declare const spxTextUpdateStatusSyncing = "spxTextUpdateStatusSyncing";
43
+ declare const spxTextUpdateVersionInfo = "spxTextUpdateVersionInfo";
30
44
  interface SpxTranslateI {
31
45
  [spxTextChange]: string;
32
46
  [spxTextCheckingForUpdates]: string;
@@ -58,11 +72,25 @@ interface SpxTranslateI {
58
72
  [spxTextDateMayNotBePast]: string;
59
73
  [spxTextInvalidCode]: string;
60
74
  [spxTextLiveUpdateChannelSetFailed]: string;
75
+ [spxTextLiveUpdateChannelSetFailedWithReason]: string;
76
+ [spxTextLiveUpdateCheckFailed]: string;
77
+ [spxTextLiveUpdateCheckFailedWithReason]: string;
78
+ [spxTextUpdateAppVersion]: string;
79
+ [spxTextUpdateBinaryVersionGroup]: string;
80
+ [spxTextUpdateBuildVersion]: string;
81
+ [spxTextUpdateLiveBundle]: string;
82
+ [spxTextUpdateLiveChannel]: string;
83
+ [spxTextUpdateStatus]: string;
84
+ [spxTextUpdateStatusCompleted]: string;
85
+ [spxTextUpdateStatusFailed]: string;
86
+ [spxTextUpdateStatusPreparing]: string;
87
+ [spxTextUpdateStatusSyncing]: string;
88
+ [spxTextUpdateVersionInfo]: string;
61
89
  }
62
90
 
63
91
  declare const SpxTranslateEn: SpxTranslateI;
64
92
 
65
93
  declare const SpxTranslateNl: SpxTranslateI;
66
94
 
67
- export { SpxTranslateEn, SpxTranslateNl, spxText404PageNotFound, spxTextChange, spxTextChannel, spxTextCheckingForUpdates, spxTextChooseFuture, spxTextChoosePast, spxTextChooseValidMonth, spxTextCompany, spxTextDateMayNotBeFuture, spxTextDateMayNotBePast, spxTextGoHome, spxTextInvalidCode, spxTextLiveUpdateChannelSetFailed, spxTextOneMomentPlease, spxTextOpenAppStore, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextPatchAvailable, spxTextPatternNotValid, spxTextReadyToBeInstalled, spxTextRequired, spxTextSelect, spxTextSelectYourCompany, spxTextTooHigh, spxTextTooLong, spxTextTooLow, spxTextTooShort, spxTextUpdate, spxTextUpdateAvailable };
95
+ export { SpxTranslateEn, SpxTranslateNl, spxText404PageNotFound, spxTextChange, spxTextChannel, spxTextCheckingForUpdates, spxTextChooseFuture, spxTextChoosePast, spxTextChooseValidMonth, spxTextCompany, spxTextDateMayNotBeFuture, spxTextDateMayNotBePast, spxTextGoHome, spxTextInvalidCode, spxTextLiveUpdateChannelSetFailed, spxTextLiveUpdateChannelSetFailedWithReason, spxTextLiveUpdateCheckFailed, spxTextLiveUpdateCheckFailedWithReason, spxTextOneMomentPlease, spxTextOpenAppStore, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextPatchAvailable, spxTextPatternNotValid, spxTextReadyToBeInstalled, spxTextRequired, spxTextSelect, spxTextSelectYourCompany, spxTextTooHigh, spxTextTooLong, spxTextTooLow, spxTextTooShort, spxTextUpdate, spxTextUpdateAppVersion, spxTextUpdateAvailable, spxTextUpdateBinaryVersionGroup, spxTextUpdateBuildVersion, spxTextUpdateLiveBundle, spxTextUpdateLiveChannel, spxTextUpdateStatus, spxTextUpdateStatusCompleted, spxTextUpdateStatusFailed, spxTextUpdateStatusPreparing, spxTextUpdateStatusSyncing, spxTextUpdateVersionInfo };
68
96
  export type { SpxTranslateI };
@@ -1,37 +1,51 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import { NavController } from '@ionic/angular/standalone';
2
3
  import { ActivatedRoute } from '@angular/router';
3
4
  import * as _ngrx_store from '@ngrx/store';
4
5
  import { Store } from '@ngrx/store';
5
- import * as i0 from '@angular/core';
6
6
  import { SafeStyle, DomSanitizer } from '@angular/platform-browser';
7
7
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
8
8
  import * as rxjs from 'rxjs';
9
9
  import { Observable } from 'rxjs';
10
10
  import * as _ngrx_effects from '@ngrx/effects';
11
- import { Actions } from '@ngrx/effects';
12
11
 
13
12
  declare class SpxUpdatePageComponent {
14
13
  private readonly appStore;
15
14
  private readonly activatedRoute;
16
15
  private readonly navController;
16
+ appVersion: _angular_core.WritableSignal<string>;
17
+ binaryVersionGroup: _angular_core.WritableSignal<string>;
18
+ buildVersion: _angular_core.WritableSignal<string>;
19
+ forceWaitForUpdate: _angular_core.Signal<boolean>;
20
+ hasStarted: _angular_core.WritableSignal<boolean>;
21
+ liveBundle: _angular_core.WritableSignal<string>;
22
+ liveUpdateChannel: _angular_core.WritableSignal<string>;
17
23
  spxTextCheckingForUpdates: string;
18
24
  spxTextOneMomentPlease: string;
19
- private subscriptions;
25
+ spxTextUpdateAppVersion: string;
26
+ spxTextUpdateBinaryVersionGroup: string;
27
+ spxTextUpdateBuildVersion: string;
28
+ spxTextUpdateLiveBundle: string;
29
+ spxTextUpdateLiveChannel: string;
30
+ spxTextUpdateStatus: string;
31
+ spxTextUpdateVersionInfo: string;
32
+ statusText: _angular_core.Signal<"spxTextUpdateStatusPreparing" | "spxTextUpdateStatusFailed" | "spxTextUpdateStatusSyncing" | "spxTextUpdateStatusCompleted">;
33
+ showError: _angular_core.Signal<boolean>;
20
34
  ngOnInit(): void;
21
- ngOnDestroy(): void;
22
35
  constructor(appStore: Store, activatedRoute: ActivatedRoute, navController: NavController);
23
- static ɵfac: i0.ɵɵFactoryDeclaration<SpxUpdatePageComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxUpdatePageComponent, "spx-update-page", never, {}, {}, never, never, true, never>;
36
+ private loadVersionInfo;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpxUpdatePageComponent, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpxUpdatePageComponent, "spx-update-page", never, {}, {}, never, never, true, never>;
25
39
  }
26
40
 
27
41
  declare class SpxUpdatePendingComponent {
28
42
  private readonly appStore;
29
43
  private sanitizer;
30
44
  baseStyle?: SafeStyle;
31
- availableStoreVersion: i0.WritableSignal<string | undefined>;
32
- currentStoreVersion: i0.WritableSignal<string | undefined>;
45
+ availableStoreVersion: _angular_core.WritableSignal<string | undefined>;
46
+ currentStoreVersion: _angular_core.WritableSignal<string | undefined>;
33
47
  severitySuccess: SpxSeverityEnum;
34
- showLiveUpdateReady: i0.WritableSignal<boolean>;
48
+ showLiveUpdateReady: _angular_core.WritableSignal<boolean>;
35
49
  spxTextUpdate: string;
36
50
  spxTextReadyToBeInstalled: string;
37
51
  spxTextPatchAvailable: string;
@@ -42,8 +56,8 @@ declare class SpxUpdatePendingComponent {
42
56
  ngOnDestroy(): void;
43
57
  constructor(appStore: Store, sanitizer: DomSanitizer);
44
58
  onUpdate(): void;
45
- static ɵfac: i0.ɵɵFactoryDeclaration<SpxUpdatePendingComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxUpdatePendingComponent, "spx-update-pending", never, {}, {}, never, never, true, never>;
59
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpxUpdatePendingComponent, never>;
60
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpxUpdatePendingComponent, "spx-update-pending", never, {}, {}, never, never, true, never>;
47
61
  }
48
62
 
49
63
  declare const spxUpdateUrl = "";
@@ -51,8 +65,10 @@ declare const spxUpdateUrl = "";
51
65
  declare const spxUpdateCheckActions: {
52
66
  anUpdateIsReady: _ngrx_store.ActionCreator<"[SpxUpdateCheck] anUpdateIsReady", () => _ngrx_store.Action<"[SpxUpdateCheck] anUpdateIsReady">>;
53
67
  checkFailed: _ngrx_store.ActionCreator<"[SpxUpdateCheck] checkFailed", (props: {
68
+ errorReason?: string;
54
69
  startUpdateAgainAfterTimeout?: boolean;
55
70
  }) => {
71
+ errorReason?: string;
56
72
  startUpdateAgainAfterTimeout?: boolean;
57
73
  } & _ngrx_store.Action<"[SpxUpdateCheck] checkFailed">>;
58
74
  clearError: _ngrx_store.ActionCreator<"[SpxUpdateCheck] clearError", () => _ngrx_store.Action<"[SpxUpdateCheck] clearError">>;
@@ -72,13 +88,16 @@ declare const spxUpdateCheckActions: {
72
88
 
73
89
  declare class Effects$1 {
74
90
  private readonly actions$;
91
+ private readonly translateService;
75
92
  afterInitialize$: Observable<any>;
76
93
  onRun$: Observable<any>;
77
94
  whenAndUpdateIsReady$: Observable<any>;
78
95
  whenCheckHasFailed$: Observable<any>;
96
+ whenCheckHasFailedShowError$: Observable<any>;
79
97
  whenNoUpdateWasFound$: Observable<any>;
80
- static ɵfac: i0.ɵɵFactoryDeclaration<Effects$1, never>;
81
- static ɵprov: i0.ɵɵInjectableDeclaration<Effects$1>;
98
+ private getReadableErrorReason;
99
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Effects$1, never>;
100
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<Effects$1>;
82
101
  }
83
102
 
84
103
  declare namespace spxUpdateCheck_effects_d {
@@ -130,10 +149,12 @@ declare const SpxUpdatePendingActions: {
130
149
 
131
150
  declare class Effects {
132
151
  private readonly actions$;
133
- constructor(actions$: Actions);
152
+ private readonly appStore;
153
+ private readonly translateService;
134
154
  whenAccepted$: rxjs.Observable<_ngrx_store.Action<"[SpxUpdatePending] AcceptUpdate">> & _ngrx_effects.CreateEffectMetadata;
135
- static ɵfac: i0.ɵɵFactoryDeclaration<Effects, never>;
136
- static ɵprov: i0.ɵɵInjectableDeclaration<Effects>;
155
+ private getReadableErrorReason;
156
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Effects, never>;
157
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<Effects>;
137
158
  }
138
159
 
139
160
  type spxUpdatePending_effects_d_Effects = Effects;