@techstuff-dev/foundation-api-utils 1.49.1 → 1.50.1

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.
Files changed (30) hide show
  1. package/dist/cjs/chunks/{shared-2Qy1c7Qz.js → shared-xQBEY4BX.js} +2 -2
  2. package/dist/cjs/chunks/{shared-2Qy1c7Qz.js.map → shared-xQBEY4BX.js.map} +1 -1
  3. package/dist/cjs/chunks/{slice-DsZzY7T7.js → slice-Cy4kZKn1.js} +266 -49
  4. package/dist/cjs/chunks/slice-Cy4kZKn1.js.map +1 -0
  5. package/dist/cjs/index.js +9 -1
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/store/index.native.js +13 -18
  8. package/dist/cjs/store/index.native.js.map +1 -1
  9. package/dist/cjs/store/index.web.js +5 -3
  10. package/dist/cjs/store/index.web.js.map +1 -1
  11. package/dist/esm/chunks/{shared--CrxBBZ8.js → shared-ykPFVPQ6.js} +2 -2
  12. package/dist/esm/chunks/{shared--CrxBBZ8.js.map → shared-ykPFVPQ6.js.map} +1 -1
  13. package/dist/esm/chunks/{slice-3o-PH5Gz.js → slice-qwy3bNV7.js} +259 -50
  14. package/dist/esm/chunks/slice-qwy3bNV7.js.map +1 -0
  15. package/dist/esm/index.js +1 -1
  16. package/dist/esm/store/index.native.js +13 -18
  17. package/dist/esm/store/index.native.js.map +1 -1
  18. package/dist/esm/store/index.web.js +5 -3
  19. package/dist/esm/store/index.web.js.map +1 -1
  20. package/dist/types/hooks/index.d.ts +1 -1
  21. package/dist/types/{index-BDQnFTra.d.ts → index-UQCqBQLx.d.ts} +2 -2
  22. package/dist/types/index.d.ts +45 -3
  23. package/dist/types/store/index.d.ts +1 -1
  24. package/package.json +10 -3
  25. package/dist/cjs/chunks/index-CfrYa4U_.js +0 -9
  26. package/dist/cjs/chunks/index-CfrYa4U_.js.map +0 -1
  27. package/dist/cjs/chunks/slice-DsZzY7T7.js.map +0 -1
  28. package/dist/esm/chunks/index-KjhWa1AL.js +0 -6
  29. package/dist/esm/chunks/index-KjhWa1AL.js.map +0 -1
  30. package/dist/esm/chunks/slice-3o-PH5Gz.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var toolkit = require('@reduxjs/toolkit');
4
- var slice = require('./slice-DsZzY7T7.js');
4
+ var slice = require('./slice-Cy4kZKn1.js');
5
5
  var slice$1 = require('./slice-CkWobkWw.js');
6
6
 
7
7
  function getDefaultExportFromCjs (x) {
@@ -16,4 +16,4 @@ const rootReducer = toolkit.combineSlices(slice.cartSlice, slice$1.authSlice, sl
16
16
 
17
17
  exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
18
18
  exports.rootReducer = rootReducer;
19
- //# sourceMappingURL=shared-2Qy1c7Qz.js.map
19
+ //# sourceMappingURL=shared-xQBEY4BX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-2Qy1c7Qz.js","sources":["../../../lib/store/shared.ts"],"sourcesContent":[null],"names":["combineSlices","cartSlice","authSlice","authApi","contentApi","paymentApi","ordersApi"],"mappings":";;;;;;;;;;AAAA;AACA;AASA;AAEA;AACO,MAAM,WAAW,GAAGA,qBAAa,CACtCC,eAAS,EACTC,iBAAS,EACTC,aAAO,EACPC,gBAAU,EACVC,gBAAU,EACVC,eAAS;;;;;"}
1
+ {"version":3,"file":"shared-xQBEY4BX.js","sources":["../../../lib/store/shared.ts"],"sourcesContent":[null],"names":["combineSlices","cartSlice","authSlice","authApi","contentApi","paymentApi","ordersApi"],"mappings":";;;;;;;;;;AAAA;AACA;AASA;AAEA;AACO,MAAM,WAAW,GAAGA,qBAAa,CACtCC,eAAS,EACTC,iBAAS,EACTC,aAAO,EACPC,gBAAU,EACVC,gBAAU,EACVC,eAAS;;;;;"}
@@ -4083,8 +4083,8 @@ function useShallowStableValue(value) {
4083
4083
  var canUseDOM = () => !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
4084
4084
  var isDOM = /* @__PURE__ */ canUseDOM();
4085
4085
  var isRunningInReactNative = () => typeof navigator !== "undefined" && navigator.product === "ReactNative";
4086
- var isReactNative = /* @__PURE__ */ isRunningInReactNative();
4087
- var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? React.useLayoutEffect : React.useEffect;
4086
+ var isReactNative$1 = /* @__PURE__ */ isRunningInReactNative();
4087
+ var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative$1 ? React.useLayoutEffect : React.useEffect;
4088
4088
  var useIsomorphicLayoutEffect = /* @__PURE__ */ getUseIsomorphicLayoutEffect();
4089
4089
  var noPendingQueryStateSelector = (selected) => {
4090
4090
  if (selected.isUninitialized) {
@@ -4684,6 +4684,9 @@ Hook ${hookName} was either not provided or not a function.`);
4684
4684
  // src/query/react/index.ts
4685
4685
  var createApi = /* @__PURE__ */ buildCreateApi(coreModule(), reactHooksModule());
4686
4686
 
4687
+ function onlyUnique(value, index, self) {
4688
+ return self.indexOf(value) === index;
4689
+ }
4687
4690
  function applyCoupon(coupon, netTotal) {
4688
4691
  const discountedAmount = netTotal * (Number(coupon.discount) / 100);
4689
4692
  const discountedTotal = netTotal - discountedAmount;
@@ -4706,7 +4709,7 @@ function toCamelCaseObject(obj) {
4706
4709
  };
4707
4710
  const camelCaseObject = {};
4708
4711
  for (const key in obj) {
4709
- if (obj.hasOwnProperty(key)) {
4712
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
4710
4713
  const camelKey = toCamelCase(key);
4711
4714
  camelCaseObject[camelKey] = obj[key];
4712
4715
  }
@@ -4971,7 +4974,7 @@ function formatSchedule(data) {
4971
4974
  return {
4972
4975
  end: item?._source?.monday_end?.[index],
4973
4976
  start: item?._source?.monday_start?.[index],
4974
- title: title,
4977
+ title,
4975
4978
  video: item?._source?.monday_video?.[index],
4976
4979
  live: item?._source?.monday_live?.[index],
4977
4980
  };
@@ -4982,7 +4985,7 @@ function formatSchedule(data) {
4982
4985
  return {
4983
4986
  end: item?._source?.tuesday_end?.[index],
4984
4987
  start: item?._source?.tuesday_start?.[index],
4985
- title: title,
4988
+ title,
4986
4989
  video: item?._source?.tuesday_video?.[index],
4987
4990
  live: item?._source?.tuesday_live?.[index],
4988
4991
  };
@@ -4993,7 +4996,7 @@ function formatSchedule(data) {
4993
4996
  return {
4994
4997
  end: item?._source?.wednesday_end?.[index],
4995
4998
  start: item?._source?.wednesday_start?.[index],
4996
- title: title,
4999
+ title,
4997
5000
  video: item?._source?.wednesday_video?.[index],
4998
5001
  live: item?._source?.wednesday_live?.[index],
4999
5002
  };
@@ -5004,7 +5007,7 @@ function formatSchedule(data) {
5004
5007
  return {
5005
5008
  end: item?._source?.thursday_end?.[index],
5006
5009
  start: item?._source?.thursday_start?.[index],
5007
- title: title,
5010
+ title,
5008
5011
  video: item?._source?.thursday_video?.[index],
5009
5012
  live: item?._source?.thursday_live?.[index],
5010
5013
  };
@@ -5015,7 +5018,7 @@ function formatSchedule(data) {
5015
5018
  return {
5016
5019
  end: item?._source?.friday_end?.[index],
5017
5020
  start: item?._source?.friday_start?.[index],
5018
- title: title,
5021
+ title,
5019
5022
  video: item?._source?.friday_video?.[index],
5020
5023
  live: item?._source?.friday_live?.[index],
5021
5024
  };
@@ -5026,7 +5029,7 @@ function formatSchedule(data) {
5026
5029
  return {
5027
5030
  end: item?._source?.saturday_end?.[index],
5028
5031
  start: item?._source?.saturday_start?.[index],
5029
- title: title,
5032
+ title,
5030
5033
  video: item?._source?.saturday_video?.[index],
5031
5034
  live: item?._source?.saturday_live?.[index],
5032
5035
  };
@@ -5037,7 +5040,7 @@ function formatSchedule(data) {
5037
5040
  return {
5038
5041
  end: item?._source?.sunday_end?.[index],
5039
5042
  start: item?._source?.sunday_start?.[index],
5040
- title: title,
5043
+ title,
5041
5044
  video: item?._source?.sunday_video?.[index],
5042
5045
  live: item?._source?.sunday_live?.[index],
5043
5046
  };
@@ -5317,39 +5320,243 @@ const formatMediaItem = (data) => {
5317
5320
  });
5318
5321
  };
5319
5322
 
5320
- // Render the store based on the environment.
5321
- const isWeb = process.env.NEXT_PUBLIC_WEB_APP;
5322
- const ENV = isWeb ? process.env : Promise.resolve().then(function () { return require('./index-CfrYa4U_.js'); }).then((mod) => mod.default).catch(() => ({}));
5323
- // export const ENV = process.env;
5324
- process.env?.NEXT_PUBLIC_API_PREFIX || ENV.API_PREFIX;
5325
- // Auth specific API
5326
- const API_AUTH_PREFIX = process.env?.NEXT_PUBLIC_API_AUTH_PREFIX || ENV.API_AUTH_PREFIX;
5327
- // Payments specific API
5328
- const API_PAYMENTS_PREFIX = process.env?.NEXT_PUBLIC_API_PAYMENTS_PREFIX || ENV.API_PAYMENTS_PREFIX;
5329
- // Orders specific API
5330
- const API_ORDERS_PREFIX = process.env?.NEXT_PUBLIC_API_ORDERS_PREFIX || ENV.API_ORDERS_PREFIX;
5331
- process.env?.NEXT_PUBLIC_APP_BASE_URL || ENV.APP_BASE_URL;
5332
- const APP_ES_INSTANCE = process.env?.NEXT_PUBLIC_APP_ES_INSTANCE || ENV.APP_ES_INSTANCE;
5333
- const APP_ES_AUTH = process.env?.NEXT_PUBLIC_APP_ES_AUTH || ENV.APP_ES_AUTH;
5334
- process.env?.NEXT_PUBLIC_APP_ES_PROMO_PANEL_INDEX ||
5335
- ENV.APP_ES_PROMO_PANEL_INDEX;
5336
- process.env?.NEXT_PUBLIC_APP_ES_FAQ_INDEX || ENV.APP_ES_FAQ_INDEX;
5337
- process.env?.NEXT_PUBLIC_APP_ES_PAGES_INDEX || ENV.APP_ES_PAGES_INDEX;
5338
- process.env?.NEXT_PUBLIC_APP_ES_SETTINGS_INDEX || ENV.APP_ES_SETTINGS_INDEX;
5339
- process.env?.NEXT_PUBLIC_APP_ES_PRESS_INDEX || ENV.APP_ES_PRESS_INDEX;
5340
- process.env?.NEXT_PUBLIC_APP_ES_GUESTS_INDEX || ENV.APP_ES_GUESTS_INDEX;
5341
- process.env?.NEXT_PUBLIC_APP_ES_VIDEOS_INDEX || ENV.APP_ES_VIDEOS_INDEX;
5342
- process.env?.NEXT_PUBLIC_APP_ES_SECTIONS_INDEX || ENV.APP_ES_SECTIONS_INDEX;
5343
- process.env?.NEXT_PUBLIC_APP_ES_WORKOUTS_INDEX || ENV.APP_ES_WORKOUTS_INDEX;
5344
- process.env?.NEXT_PUBLIC_APP_ES_SCHEDULE_INDEX || ENV.APP_ES_SCHEDULE_INDEX;
5345
- process.env?.NEXT_PUBLIC_APP_ES_CHALLENGES_INDEX ||
5346
- ENV.APP_ES_CHALLENGES_INDEX;
5347
- process.env?.NEXT_PUBLIC_APP_ES_CHALLENGE_DAYS_INDEX ||
5348
- ENV.APP_ES_CHALLENGE_DAYS_INDEX;
5323
+ /**
5324
+ * Platform detection utilities for cross-platform React/React Native applications
5325
+ */
5326
+ /**
5327
+ * Detects if running in a web environment (Next.js, browser)
5328
+ * Uses multiple checks for robustness
5329
+ */
5330
+ const isWeb = () => {
5331
+ // Check for explicit web app flag
5332
+ if (typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_WEB_APP) {
5333
+ return true;
5334
+ }
5335
+ // Check for DOM availability (browser environment)
5336
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
5337
+ return true;
5338
+ }
5339
+ // Check for Next.js specific environment variables
5340
+ if (typeof process !== 'undefined' && process.env?.NEXT_RUNTIME) {
5341
+ return true;
5342
+ }
5343
+ return false;
5344
+ };
5345
+ /**
5346
+ * Detects if running in a React Native environment
5347
+ */
5348
+ const isReactNative = () => {
5349
+ // Check for React Native specific globals
5350
+ if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
5351
+ return true;
5352
+ }
5353
+ // Check for React Native Metro bundler
5354
+ if (typeof __DEV__ !== 'undefined') {
5355
+ return true;
5356
+ }
5357
+ // Check for absence of DOM and presence of React Native modules
5358
+ if (typeof window === 'undefined' && typeof require !== 'undefined') {
5359
+ try {
5360
+ require.resolve('react-native');
5361
+ return true;
5362
+ }
5363
+ catch {
5364
+ // react-native not available
5365
+ }
5366
+ }
5367
+ return false;
5368
+ };
5369
+ const getPlatform = () => {
5370
+ if (isReactNative())
5371
+ return 'native';
5372
+ if (isWeb())
5373
+ return 'web';
5374
+ return 'unknown';
5375
+ };
5376
+ /**
5377
+ * Platform-specific execution helper
5378
+ */
5379
+ const runOnPlatform = (config) => {
5380
+ const platform = getPlatform();
5381
+ if (platform === 'web' && config.web) {
5382
+ return config.web();
5383
+ }
5384
+ if (platform === 'native' && config.native) {
5385
+ return config.native();
5386
+ }
5387
+ if (config.default) {
5388
+ return config.default();
5389
+ }
5390
+ return undefined;
5391
+ };
5392
+
5393
+ /**
5394
+ * Web-specific API configuration for Next.js applications
5395
+ */
5396
+ // Helper function to get environment variable with fallback
5397
+ const getEnvVar$1 = (key, fallback = '') => {
5398
+ return process.env[key] || fallback;
5399
+ };
5400
+ // Core API endpoints
5401
+ const API_PREFIX$1 = getEnvVar$1('NEXT_PUBLIC_API_PREFIX');
5402
+ const API_AUTH_PREFIX$2 = getEnvVar$1('NEXT_PUBLIC_API_AUTH_PREFIX');
5403
+ const API_PAYMENTS_PREFIX$2 = getEnvVar$1('NEXT_PUBLIC_API_PAYMENTS_PREFIX');
5404
+ const API_ORDERS_PREFIX$2 = getEnvVar$1('NEXT_PUBLIC_API_ORDERS_PREFIX');
5405
+ // Application configuration
5406
+ const APP_BASE_URL$1 = getEnvVar$1('NEXT_PUBLIC_APP_BASE_URL');
5407
+ const APP_ES_INSTANCE$2 = getEnvVar$1('NEXT_PUBLIC_APP_ES_INSTANCE');
5408
+ const APP_ES_AUTH$2 = getEnvVar$1('NEXT_PUBLIC_APP_ES_AUTH');
5409
+ // Elasticsearch indices
5410
+ const APP_ES_PROMO_PANEL_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_PROMO_PANEL_INDEX');
5411
+ const APP_ES_FAQ_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_FAQ_INDEX');
5412
+ const APP_ES_PAGES_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_PAGES_INDEX');
5413
+ const APP_ES_SETTINGS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_SETTINGS_INDEX');
5414
+ const APP_ES_PRESS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_PRESS_INDEX');
5415
+ const APP_ES_GUESTS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_GUESTS_INDEX');
5416
+ const APP_ES_VIDEOS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_VIDEOS_INDEX');
5417
+ const APP_ES_SECTIONS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_SECTIONS_INDEX');
5418
+ const APP_ES_WORKOUTS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_WORKOUTS_INDEX');
5419
+ const APP_ES_SCHEDULE_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_SCHEDULE_INDEX');
5420
+ const APP_ES_CHALLENGES_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_CHALLENGES_INDEX');
5421
+ const APP_ES_CHALLENGE_DAYS_INDEX$1 = getEnvVar$1('NEXT_PUBLIC_APP_ES_CHALLENGE_DAYS_INDEX');
5422
+ // Platform identifier
5423
+ const PLATFORM$1 = 'web';
5424
+
5425
+ var webConfig = /*#__PURE__*/Object.freeze({
5426
+ __proto__: null,
5427
+ API_AUTH_PREFIX: API_AUTH_PREFIX$2,
5428
+ API_ORDERS_PREFIX: API_ORDERS_PREFIX$2,
5429
+ API_PAYMENTS_PREFIX: API_PAYMENTS_PREFIX$2,
5430
+ API_PREFIX: API_PREFIX$1,
5431
+ APP_BASE_URL: APP_BASE_URL$1,
5432
+ APP_ES_AUTH: APP_ES_AUTH$2,
5433
+ APP_ES_CHALLENGES_INDEX: APP_ES_CHALLENGES_INDEX$1,
5434
+ APP_ES_CHALLENGE_DAYS_INDEX: APP_ES_CHALLENGE_DAYS_INDEX$1,
5435
+ APP_ES_FAQ_INDEX: APP_ES_FAQ_INDEX$1,
5436
+ APP_ES_GUESTS_INDEX: APP_ES_GUESTS_INDEX$1,
5437
+ APP_ES_INSTANCE: APP_ES_INSTANCE$2,
5438
+ APP_ES_PAGES_INDEX: APP_ES_PAGES_INDEX$1,
5439
+ APP_ES_PRESS_INDEX: APP_ES_PRESS_INDEX$1,
5440
+ APP_ES_PROMO_PANEL_INDEX: APP_ES_PROMO_PANEL_INDEX$1,
5441
+ APP_ES_SCHEDULE_INDEX: APP_ES_SCHEDULE_INDEX$1,
5442
+ APP_ES_SECTIONS_INDEX: APP_ES_SECTIONS_INDEX$1,
5443
+ APP_ES_SETTINGS_INDEX: APP_ES_SETTINGS_INDEX$1,
5444
+ APP_ES_VIDEOS_INDEX: APP_ES_VIDEOS_INDEX$1,
5445
+ APP_ES_WORKOUTS_INDEX: APP_ES_WORKOUTS_INDEX$1,
5446
+ PLATFORM: PLATFORM$1
5447
+ });
5448
+
5449
+ /**
5450
+ * React Native-specific API configuration
5451
+ */
5452
+ // Import React Native config synchronously
5453
+ let Config = {};
5454
+ try {
5455
+ // Try to import react-native-config
5456
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
5457
+ Config = require('react-native-config').default || require('react-native-config');
5458
+ }
5459
+ catch {
5460
+ // react-native-config not available, using fallback environment
5461
+ Config = {};
5462
+ }
5463
+ // Helper function to get environment variable with fallback
5464
+ const getEnvVar = (key, fallback = '') => {
5465
+ return Config[key] || process.env[key] || fallback;
5466
+ };
5467
+ // Core API endpoints
5468
+ const API_PREFIX = getEnvVar('API_PREFIX');
5469
+ const API_AUTH_PREFIX$1 = getEnvVar('API_AUTH_PREFIX');
5470
+ const API_PAYMENTS_PREFIX$1 = getEnvVar('API_PAYMENTS_PREFIX');
5471
+ const API_ORDERS_PREFIX$1 = getEnvVar('API_ORDERS_PREFIX');
5472
+ // Application configuration
5473
+ const APP_BASE_URL = getEnvVar('APP_BASE_URL');
5474
+ const APP_ES_INSTANCE$1 = getEnvVar('APP_ES_INSTANCE');
5475
+ const APP_ES_AUTH$1 = getEnvVar('APP_ES_AUTH');
5476
+ // Elasticsearch indices
5477
+ const APP_ES_PROMO_PANEL_INDEX = getEnvVar('APP_ES_PROMO_PANEL_INDEX');
5478
+ const APP_ES_FAQ_INDEX = getEnvVar('APP_ES_FAQ_INDEX');
5479
+ const APP_ES_PAGES_INDEX = getEnvVar('APP_ES_PAGES_INDEX');
5480
+ const APP_ES_SETTINGS_INDEX = getEnvVar('APP_ES_SETTINGS_INDEX');
5481
+ const APP_ES_PRESS_INDEX = getEnvVar('APP_ES_PRESS_INDEX');
5482
+ const APP_ES_GUESTS_INDEX = getEnvVar('APP_ES_GUESTS_INDEX');
5483
+ const APP_ES_VIDEOS_INDEX = getEnvVar('APP_ES_VIDEOS_INDEX');
5484
+ const APP_ES_SECTIONS_INDEX = getEnvVar('APP_ES_SECTIONS_INDEX');
5485
+ const APP_ES_WORKOUTS_INDEX = getEnvVar('APP_ES_WORKOUTS_INDEX');
5486
+ const APP_ES_SCHEDULE_INDEX = getEnvVar('APP_ES_SCHEDULE_INDEX');
5487
+ const APP_ES_CHALLENGES_INDEX = getEnvVar('APP_ES_CHALLENGES_INDEX');
5488
+ const APP_ES_CHALLENGE_DAYS_INDEX = getEnvVar('APP_ES_CHALLENGE_DAYS_INDEX');
5489
+ // Platform identifier
5490
+ const PLATFORM = 'native';
5491
+
5492
+ var nativeConfig = /*#__PURE__*/Object.freeze({
5493
+ __proto__: null,
5494
+ API_AUTH_PREFIX: API_AUTH_PREFIX$1,
5495
+ API_ORDERS_PREFIX: API_ORDERS_PREFIX$1,
5496
+ API_PAYMENTS_PREFIX: API_PAYMENTS_PREFIX$1,
5497
+ API_PREFIX: API_PREFIX,
5498
+ APP_BASE_URL: APP_BASE_URL,
5499
+ APP_ES_AUTH: APP_ES_AUTH$1,
5500
+ APP_ES_CHALLENGES_INDEX: APP_ES_CHALLENGES_INDEX,
5501
+ APP_ES_CHALLENGE_DAYS_INDEX: APP_ES_CHALLENGE_DAYS_INDEX,
5502
+ APP_ES_FAQ_INDEX: APP_ES_FAQ_INDEX,
5503
+ APP_ES_GUESTS_INDEX: APP_ES_GUESTS_INDEX,
5504
+ APP_ES_INSTANCE: APP_ES_INSTANCE$1,
5505
+ APP_ES_PAGES_INDEX: APP_ES_PAGES_INDEX,
5506
+ APP_ES_PRESS_INDEX: APP_ES_PRESS_INDEX,
5507
+ APP_ES_PROMO_PANEL_INDEX: APP_ES_PROMO_PANEL_INDEX,
5508
+ APP_ES_SCHEDULE_INDEX: APP_ES_SCHEDULE_INDEX,
5509
+ APP_ES_SECTIONS_INDEX: APP_ES_SECTIONS_INDEX,
5510
+ APP_ES_SETTINGS_INDEX: APP_ES_SETTINGS_INDEX,
5511
+ APP_ES_VIDEOS_INDEX: APP_ES_VIDEOS_INDEX,
5512
+ APP_ES_WORKOUTS_INDEX: APP_ES_WORKOUTS_INDEX,
5513
+ PLATFORM: PLATFORM
5514
+ });
5515
+
5516
+ /**
5517
+ * Cross-platform API configuration
5518
+ *
5519
+ * This file automatically detects the platform and imports the appropriate
5520
+ * configuration. Build tools should resolve this to platform-specific files.
5521
+ */
5522
+ // Import platform-specific configurations
5523
+ const getApiConfig = () => {
5524
+ return runOnPlatform({
5525
+ web: () => webConfig,
5526
+ native: () => nativeConfig,
5527
+ default: () => {
5528
+ // eslint-disable-next-line no-console
5529
+ console.warn('Platform detection failed, falling back to web configuration');
5530
+ return webConfig;
5531
+ }
5532
+ });
5533
+ };
5534
+ const apiConfig = getApiConfig();
5535
+ // Re-export all API configuration constants
5536
+ apiConfig.API_PREFIX;
5537
+ const API_AUTH_PREFIX = apiConfig.API_AUTH_PREFIX;
5538
+ const API_PAYMENTS_PREFIX = apiConfig.API_PAYMENTS_PREFIX;
5539
+ const API_ORDERS_PREFIX = apiConfig.API_ORDERS_PREFIX;
5540
+ apiConfig.APP_BASE_URL;
5541
+ const APP_ES_INSTANCE = apiConfig.APP_ES_INSTANCE;
5542
+ const APP_ES_AUTH = apiConfig.APP_ES_AUTH;
5543
+ apiConfig.APP_ES_PROMO_PANEL_INDEX;
5544
+ apiConfig.APP_ES_FAQ_INDEX;
5545
+ apiConfig.APP_ES_PAGES_INDEX;
5546
+ apiConfig.APP_ES_SETTINGS_INDEX;
5547
+ apiConfig.APP_ES_PRESS_INDEX;
5548
+ apiConfig.APP_ES_GUESTS_INDEX;
5549
+ apiConfig.APP_ES_VIDEOS_INDEX;
5550
+ apiConfig.APP_ES_SECTIONS_INDEX;
5551
+ apiConfig.APP_ES_WORKOUTS_INDEX;
5552
+ apiConfig.APP_ES_SCHEDULE_INDEX;
5553
+ apiConfig.APP_ES_CHALLENGES_INDEX;
5554
+ apiConfig.APP_ES_CHALLENGE_DAYS_INDEX;
5555
+ apiConfig.PLATFORM;
5349
5556
 
5350
5557
  const authDataBaseQuery = fetchBaseQuery({
5351
5558
  baseUrl: API_AUTH_PREFIX,
5352
- prepareHeaders: async (headers, {}) => {
5559
+ prepareHeaders: async (headers) => {
5353
5560
  headers.set('Content-Type', 'application/json');
5354
5561
  try {
5355
5562
  // add accessToken to headers from slice using selectAccessToken selector
@@ -5364,6 +5571,7 @@ const authDataBaseQuery = fetchBaseQuery({
5364
5571
  return headers;
5365
5572
  }
5366
5573
  catch (error) {
5574
+ // eslint-disable-next-line no-console
5367
5575
  console.error('authDataBaseQuery: ', error);
5368
5576
  return headers;
5369
5577
  }
@@ -5446,6 +5654,7 @@ const authApi = createApi({
5446
5654
  dispatch(slice.resetCreating());
5447
5655
  }
5448
5656
  catch (err) {
5657
+ // eslint-disable-next-line no-console
5449
5658
  console.error('REGISTER: ', err);
5450
5659
  }
5451
5660
  },
@@ -5602,7 +5811,7 @@ const paymentApi = createApi({
5602
5811
  reducerPath: 'paymentApi',
5603
5812
  baseQuery: fetchBaseQuery({
5604
5813
  baseUrl: API_PAYMENTS_PREFIX,
5605
- prepareHeaders: async (headers, {}) => {
5814
+ prepareHeaders: async (headers) => {
5606
5815
  headers.set('Content-Type', 'application/json');
5607
5816
  // add accessToken to headers from slice using selectAccessToken selector
5608
5817
  const session = await awsAmplify.Auth.currentSession();
@@ -5660,7 +5869,7 @@ const { useCheckUserSubscriptionQuery, useLazyCheckUserSubscriptionQuery, useGet
5660
5869
 
5661
5870
  const dataBaseQuery = fetchBaseQuery({
5662
5871
  baseUrl: API_ORDERS_PREFIX,
5663
- prepareHeaders: async (headers, {}) => {
5872
+ prepareHeaders: async (headers) => {
5664
5873
  headers.set('Content-Type', 'application/json');
5665
5874
  // add accessToken to headers from slice using selectAccessToken selector
5666
5875
  const session = await awsAmplify.Auth.currentSession();
@@ -5763,7 +5972,7 @@ const cartSlice = toolkit.createSlice({
5763
5972
  grossTotal,
5764
5973
  };
5765
5974
  },
5766
- resetTaxRate: (state, action) => {
5975
+ resetTaxRate: (state, _action) => {
5767
5976
  return {
5768
5977
  ...state,
5769
5978
  taxRate: {
@@ -5790,7 +5999,7 @@ const cartSlice = toolkit.createSlice({
5790
5999
  grossTotal,
5791
6000
  };
5792
6001
  },
5793
- removePromoCode: (state, action) => {
6002
+ removePromoCode: (state, _action) => {
5794
6003
  const { netTotal, taxRate } = state;
5795
6004
  const taxAmount = applyTax(taxRate, netTotal);
5796
6005
  const grossTotal = netTotal + taxAmount;
@@ -5813,9 +6022,9 @@ const cartSlice = toolkit.createSlice({
5813
6022
  const addedItems = [...state.addedItems, addItem];
5814
6023
  return {
5815
6024
  ...state,
5816
- addedItems: addedItems,
6025
+ addedItems,
5817
6026
  netTotal: newTotal,
5818
- grossTotal: grossTotal,
6027
+ grossTotal,
5819
6028
  };
5820
6029
  },
5821
6030
  updateCart: (state, action) => {
@@ -5824,7 +6033,7 @@ const cartSlice = toolkit.createSlice({
5824
6033
  ...state,
5825
6034
  addedItems: state.addedItems.map((item) => item && {
5826
6035
  ...item,
5827
- options: options,
6036
+ options,
5828
6037
  }),
5829
6038
  };
5830
6039
  },
@@ -5837,7 +6046,7 @@ const cartSlice = toolkit.createSlice({
5837
6046
  ...state,
5838
6047
  addedItems: state.addedItems.filter((item) => item && item.uuid !== id),
5839
6048
  netTotal: newTotal,
5840
- grossTotal: grossTotal,
6049
+ grossTotal,
5841
6050
  };
5842
6051
  },
5843
6052
  toggleCart: (state, action) => {
@@ -5877,6 +6086,8 @@ const selectCartItemsIds = toolkit.createSelector([selectMediaInCart], (items) =
5877
6086
  cartSlice.reducer;
5878
6087
 
5879
6088
  exports.addToCart = addToCart;
6089
+ exports.applyCoupon = applyCoupon;
6090
+ exports.applyTax = applyTax;
5880
6091
  exports.authApi = authApi;
5881
6092
  exports.cartSlice = cartSlice;
5882
6093
  exports.contentApi = contentApi;
@@ -5907,11 +6118,16 @@ exports.formatTaxonomies = formatTaxonomies;
5907
6118
  exports.formatUserPayload = formatUserPayload;
5908
6119
  exports.formatVideos = formatVideos;
5909
6120
  exports.formatWorkout = formatWorkout;
6121
+ exports.getPlatform = getPlatform;
6122
+ exports.isReactNative = isReactNative;
6123
+ exports.isWeb = isWeb;
6124
+ exports.onlyUnique = onlyUnique;
5910
6125
  exports.ordersApi = ordersApi;
5911
6126
  exports.paymentApi = paymentApi;
5912
6127
  exports.removeFromCart = removeFromCart;
5913
6128
  exports.removePromoCode = removePromoCode;
5914
6129
  exports.resetTaxRate = resetTaxRate;
6130
+ exports.runOnPlatform = runOnPlatform;
5915
6131
  exports.selectCartCount = selectCartCount;
5916
6132
  exports.selectCartItems = selectCartItems;
5917
6133
  exports.selectCartItemsIds = selectCartItemsIds;
@@ -5924,6 +6140,7 @@ exports.selectMediaInCart = selectMediaInCart;
5924
6140
  exports.selectPromoCode = selectPromoCode;
5925
6141
  exports.setPromoCode = setPromoCode;
5926
6142
  exports.setTaxRate = setTaxRate;
6143
+ exports.toCamelCaseObject = toCamelCaseObject;
5927
6144
  exports.toggleCart = toggleCart;
5928
6145
  exports.updateCart = updateCart;
5929
6146
  exports.useForgottenPasswordMutation = useForgottenPasswordMutation;
@@ -5940,4 +6157,4 @@ exports.useUpdateUserMutation = useUpdateUserMutation;
5940
6157
  exports.useVerifyUserAttributesQuery = useVerifyUserAttributesQuery;
5941
6158
  exports.useVerifyUserQuery = useVerifyUserQuery;
5942
6159
  exports.useVerifyUserResendQuery = useVerifyUserResendQuery;
5943
- //# sourceMappingURL=slice-DsZzY7T7.js.map
6160
+ //# sourceMappingURL=slice-Cy4kZKn1.js.map