@apps-in-toss/web-framework 0.0.34 → 0.0.36

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.
@@ -38363,6 +38363,15 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
38363
38363
  });
38364
38364
 
38365
38365
  // ../../.yarn/__virtual__/@apps-in-toss-framework-virtual-574b136add/1/apps-in-toss-packages/framework/dist/index.js
38366
+ function useReferrer() {
38367
+ return (0, import_react159.useMemo)(function() {
38368
+ try {
38369
+ return new URL(getSchemeUri()).searchParams.get("referrer");
38370
+ } catch (e4) {
38371
+ return null;
38372
+ }
38373
+ }, []);
38374
+ }
38366
38375
  function getOperationalEnvironment() {
38367
38376
  return AppsInTossModule.operationalEnvironment;
38368
38377
  }
@@ -38402,15 +38411,6 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
38402
38411
  }
38403
38412
  });
38404
38413
  }
38405
- function useReferrer() {
38406
- return (0, import_react158.useMemo)(function() {
38407
- try {
38408
- return new URL(getSchemeUri()).searchParams.get("referrer");
38409
- } catch (e4) {
38410
- return null;
38411
- }
38412
- }, []);
38413
- }
38414
38414
  function isPrivateScheme() {
38415
38415
  try {
38416
38416
  return new URL(getSchemeUri()).protocol === "intoss-private:";
@@ -38418,6 +38418,44 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
38418
38418
  return false;
38419
38419
  }
38420
38420
  }
38421
+ function useCaptureExitLog() {
38422
+ var referrer2 = useReferrer();
38423
+ var visible = useVisibility();
38424
+ var enterTime = (0, import_react158.useRef)(void 0);
38425
+ (0, import_react158.useEffect)(function() {
38426
+ if (visible === true) {
38427
+ enterTime.current = Date.now();
38428
+ }
38429
+ }, [
38430
+ visible
38431
+ ]);
38432
+ var captureExitLog = (0, import_react158.useCallback)(function(exitTime) {
38433
+ if (enterTime.current == null) {
38434
+ return;
38435
+ }
38436
+ var stayTime = Math.floor(exitTime - enterTime.current);
38437
+ tossCoreEventLog({
38438
+ log_name: EXIT_IMPRESSION_LOG_NAME,
38439
+ log_type: "event",
38440
+ params: {
38441
+ schema_id: EXIT_IMPRESSION_SCHEMA_ID,
38442
+ event_type: "impression",
38443
+ referrer: referrer2,
38444
+ deployment_id: env.getDeploymentId(),
38445
+ app_name: Bedrock.appName,
38446
+ is_private: isPrivateScheme(),
38447
+ stay_time: stayTime.toString(),
38448
+ exit_time: exitTime.toString()
38449
+ }
38450
+ });
38451
+ enterTime.current = void 0;
38452
+ }, [
38453
+ referrer2
38454
+ ]);
38455
+ return {
38456
+ captureExitLog
38457
+ };
38458
+ }
38421
38459
  function EntryAppEvent() {
38422
38460
  var _useReferrer;
38423
38461
  var referrer2 = (_useReferrer = useReferrer()) !== null && _useReferrer !== void 0 ? _useReferrer : "";
@@ -38457,6 +38495,19 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
38457
38495
  ]);
38458
38496
  return null;
38459
38497
  }
38498
+ function StayTimeAppEvent() {
38499
+ var visible = useVisibility();
38500
+ var captureExitLog = useCaptureExitLog().captureExitLog;
38501
+ (0, import_react157.useEffect)(function() {
38502
+ if (visible === false) {
38503
+ captureExitLog(Date.now());
38504
+ }
38505
+ }, [
38506
+ visible,
38507
+ captureExitLog
38508
+ ]);
38509
+ return null;
38510
+ }
38460
38511
  function getPermission(permission) {
38461
38512
  return AppsInTossModule.getPermission(permission);
38462
38513
  }
@@ -38589,7 +38640,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
38589
38640
  function useAppsInTossBridge() {
38590
38641
  var controller = useBridge();
38591
38642
  var appsInTossGlobals2 = getAppsInTossGlobals();
38592
- (0, import_react159.useEffect)(function() {
38643
+ (0, import_react160.useEffect)(function() {
38593
38644
  var commonProps = {
38594
38645
  serviceName: appsInTossGlobals2.brandDisplayName,
38595
38646
  icon: toIcon(appsInTossGlobals2.brandIcon),
@@ -39071,6 +39122,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39071
39122
  ]);
39072
39123
  return /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)(import_jsx_runtime188.Fragment, {
39073
39124
  children: [
39125
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(AppEvent.StayTime, {}),
39074
39126
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(AppEvent.Entry, {}),
39075
39127
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(AppEvent.System, _object_spread({}, initialProps)),
39076
39128
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(Container, _object_spread_props(_object_spread({}, initialProps), {
@@ -39335,6 +39387,33 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39335
39387
  function clearItems() {
39336
39388
  return AppsInTossModule.clearStorage({});
39337
39389
  }
39390
+ function contactsViral(params) {
39391
+ var isSupported = isMinVersionSupported({
39392
+ android: "5.223.0",
39393
+ ios: "5.223.0"
39394
+ });
39395
+ if (!isSupported) {
39396
+ return function() {
39397
+ };
39398
+ }
39399
+ var onEvent = params.onEvent, onError = params.onError, options = params.options;
39400
+ var unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("contactsViral", options, {
39401
+ onRewardFromContactsViral: function(result) {
39402
+ onEvent({
39403
+ type: "sendViral",
39404
+ data: result
39405
+ });
39406
+ },
39407
+ onSuccess: function(result) {
39408
+ onEvent({
39409
+ type: "close",
39410
+ data: result
39411
+ });
39412
+ },
39413
+ onError
39414
+ });
39415
+ return unregisterCallbacks;
39416
+ }
39338
39417
  function onVisibilityChangedByTransparentServiceWeb(eventParams) {
39339
39418
  return appsInTossEvent.addEventListener("onVisibilityChangedByTransparentServiceWeb", eventParams);
39340
39419
  }
@@ -39475,8 +39554,8 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39475
39554
  }
39476
39555
  function useBridgeHandler(param) {
39477
39556
  var onMessage = param.onMessage, constantHandlerMap = param.constantHandlerMap, asyncHandlerMap = param.asyncHandlerMap, eventListenerMap = param.eventListenerMap, originalInjectedJavaScript = param.injectedJavaScript;
39478
- var ref = (0, import_react164.useRef)(null);
39479
- var injectedJavaScript = (0, import_react164.useMemo)(function() {
39557
+ var ref = (0, import_react165.useRef)(null);
39558
+ var injectedJavaScript = (0, import_react165.useMemo)(function() {
39480
39559
  return [
39481
39560
  "window.__CONSTANT_HANDLER_MAP = ".concat(JSON.stringify(Object.entries(constantHandlerMap).reduce(function(acc, param2) {
39482
39561
  var _param = _sliced_to_array(param2, 2), key = _param[0], value = _param[1];
@@ -39502,7 +39581,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39502
39581
  (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.injectJavaScript("\n window.__BEDROCK_NATIVE_EMITTER.emit('".concat(functionName, "/onError/").concat(eventId, "', ").concat(JSON.stringify(error, null, 0), ");\n "));
39503
39582
  };
39504
39583
  };
39505
- var $onMessage = (0, import_react164.useCallback)(
39584
+ var $onMessage = (0, import_react165.useCallback)(
39506
39585
  function() {
39507
39586
  var _ref = _async_to_generator(function(e4) {
39508
39587
  var data, _eventListenerMap_data_functionName, handleOnEvent, handleOnError, remove, key, remove1, _ref_current;
@@ -39785,7 +39864,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39785
39864
  throw new Error("Invalid WebView type: '".concat(type, "'"));
39786
39865
  }
39787
39866
  var bedrockEvent = useBedrockEvent();
39788
- var uri = (0, import_react160.useMemo)(function() {
39867
+ var uri = (0, import_react161.useMemo)(function() {
39789
39868
  return getWebViewUri(local);
39790
39869
  }, [
39791
39870
  local
@@ -39901,7 +39980,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39901
39980
  iapGetProductItemList: IAP.getProductItemList
39902
39981
  })
39903
39982
  });
39904
- var baseProps = (0, import_react160.useMemo)(function() {
39983
+ var baseProps = (0, import_react161.useMemo)(function() {
39905
39984
  switch (type) {
39906
39985
  case "partner": {
39907
39986
  var headerOnlyProp = {
@@ -39931,7 +40010,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39931
40010
  ]);
39932
40011
  var BaseWebView = WEBVIEW_TYPES[type];
39933
40012
  var webViewDebuggingEnabled = operationalEnvironment === "sandbox";
39934
- var handleNavigationStateChange = (0, import_react160.useCallback)(function(event) {
40013
+ var handleNavigationStateChange = (0, import_react161.useCallback)(function(event) {
39935
40014
  if (event.url) {
39936
40015
  trackScreen(event.url);
39937
40016
  }
@@ -39966,7 +40045,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39966
40045
  }
39967
40046
  return value;
39968
40047
  }
39969
- var import_react157, import_react_native137, import_react_native138, import_react_native139, import_react158, import_react159, import_react_native141, import_jsx_runtime188, import_react160, import_react_native143, import_react161, import_react_native145, import_react162, import_react_native147, import_react163, import_jsx_runtime189, import_react_native150, import_jsx_runtime190, import_react_native152, import_react_native153, import_react_native154, import_jsx_runtime191, import_react_native155, import_jsx_runtime192, import_jsx_runtime193, import_react164, import_react_native156, import_react165, import_jsx_runtime194, __defProp2, __export2, env, AppsInTossModuleInstance, AppsInTossModule, SEMVER_REGEX, isWildcard, tryParse, coerceTypes, compareValues, parseVersion, compareSegments, compareVersions, TossCoreModule, ENTRY_APP_EVENT_SCHEMA_ID, AppEvent, EntryMessageExitedEvent, nativeEventEmitter2, UpdateLocationEvent, INTERNAL__callbacks, INTERNAL__appBridgeHandler, UNSAFE__nativeEventEmitter, AppBridgeCallbackEvent, VisibilityChangedByTransparentServiceWebEvent, appsInTossEvent, async_bridges_exports2, DEFAULT_MAX_COUNT, DEFAULT_MAX_WIDTH, GAME_PROFILE_WEBVIEW_URL, GAME_CENTER_MIN_VERSION, AppsInToss, ANDROID_GOOGLE_AD_MOB_SUPPORTED_VERSION, IOS_GOOGLE_AD_MOB_SUPPORTED_VERSION, UNSUPPORTED_ERROR_MESSAGE, ENVIRONMENT, IAP, Storage, GoogleAdMob, useGameProfileToast, DEFAULT_ERROR, PLAYSTORE_LINK, APPSTORE_LINK, getMarketLink, INTERNAL__onVisibilityChangedByTransparentServiceWeb, openTransparentWebView, useGameCenterProfile, Z_INDEX, GameProfile, overlayStyle, RIGHT_MARGIN2, IOS_DEFAULT_MARGIN2, styles36, originXML, GameWebView, globalEventListenerMap, constant_bridges_exports2, event_bridges_exports, FontA11yCategory, androidFontScaleMap, iosScaleToAndroidScale, extractDateFromUUIDv7, getGroupId, getReferrer, trackScreen, appsInTossGlobals, operationalEnvironment, TYPES, WEBVIEW_TYPES, Analytics2;
40048
+ var import_react157, import_react158, import_react159, import_react_native137, import_react_native138, import_react_native139, import_react160, import_react_native141, import_jsx_runtime188, import_react161, import_react_native143, import_react162, import_react_native145, import_react163, import_react_native147, import_react164, import_jsx_runtime189, import_react_native150, import_jsx_runtime190, import_react_native152, import_react_native153, import_react_native154, import_jsx_runtime191, import_react_native155, import_jsx_runtime192, import_jsx_runtime193, import_react165, import_react_native156, import_react166, import_jsx_runtime194, __defProp2, __export2, env, AppsInTossModuleInstance, AppsInTossModule, SEMVER_REGEX, isWildcard, tryParse, coerceTypes, compareValues, parseVersion, compareSegments, compareVersions, TossCoreModule, EXIT_IMPRESSION_LOG_NAME, EXIT_IMPRESSION_SCHEMA_ID, ENTRY_APP_EVENT_SCHEMA_ID, AppEvent, EntryMessageExitedEvent, nativeEventEmitter2, UpdateLocationEvent, INTERNAL__callbacks, INTERNAL__appBridgeHandler, UNSAFE__nativeEventEmitter, AppBridgeCallbackEvent, VisibilityChangedByTransparentServiceWebEvent, appsInTossEvent, async_bridges_exports2, DEFAULT_MAX_COUNT, DEFAULT_MAX_WIDTH, GAME_PROFILE_WEBVIEW_URL, GAME_CENTER_MIN_VERSION, AppsInToss, ANDROID_GOOGLE_AD_MOB_SUPPORTED_VERSION, IOS_GOOGLE_AD_MOB_SUPPORTED_VERSION, UNSUPPORTED_ERROR_MESSAGE, ENVIRONMENT, IAP, Storage, GoogleAdMob, useGameProfileToast, DEFAULT_ERROR, PLAYSTORE_LINK, APPSTORE_LINK, getMarketLink, INTERNAL__onVisibilityChangedByTransparentServiceWeb, openTransparentWebView, useGameCenterProfile, Z_INDEX, GameProfile, overlayStyle, RIGHT_MARGIN2, IOS_DEFAULT_MARGIN2, styles36, originXML, GameWebView, globalEventListenerMap, constant_bridges_exports2, event_bridges_exports, FontA11yCategory, androidFontScaleMap, iosScaleToAndroidScale, extractDateFromUUIDv7, getGroupId, getReferrer, trackScreen, appsInTossGlobals, operationalEnvironment, TYPES, WEBVIEW_TYPES, Analytics2;
39970
40049
  var init_dist4 = __esm({
39971
40050
  "../../.yarn/__virtual__/@apps-in-toss-framework-virtual-574b136add/1/apps-in-toss-packages/framework/dist/index.js"() {
39972
40051
  "use strict";
@@ -39991,13 +40070,16 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
39991
40070
  init_src4();
39992
40071
  import_react157 = __toESM(require_react(), 1);
39993
40072
  init_src4();
40073
+ import_react158 = __toESM(require_react(), 1);
40074
+ init_src4();
40075
+ import_react159 = __toESM(require_react(), 1);
40076
+ init_src4();
39994
40077
  import_react_native137 = __toESM(require_react_native(), 1);
39995
40078
  import_react_native138 = __toESM(require_react_native(), 1);
39996
40079
  import_react_native139 = __toESM(require_react_native(), 1);
39997
- import_react158 = __toESM(require_react(), 1);
39998
40080
  init_src4();
39999
40081
  init_esm8();
40000
- import_react159 = __toESM(require_react(), 1);
40082
+ import_react160 = __toESM(require_react(), 1);
40001
40083
  init_src4();
40002
40084
  init_src4();
40003
40085
  init_src4();
@@ -40008,7 +40090,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40008
40090
  import_jsx_runtime188 = __toESM(require_jsx_runtime(), 1);
40009
40091
  init_esm8();
40010
40092
  init_private2();
40011
- import_react160 = __toESM(require_react(), 1);
40093
+ import_react161 = __toESM(require_react(), 1);
40012
40094
  import_react_native143 = __toESM(require_react_native(), 1);
40013
40095
  init_src4();
40014
40096
  init_async_bridges();
@@ -40016,15 +40098,15 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40016
40098
  init_react_native_webview();
40017
40099
  init_esm8();
40018
40100
  init_dist3();
40019
- import_react161 = __toESM(require_react(), 1);
40101
+ import_react162 = __toESM(require_react(), 1);
40020
40102
  import_react_native145 = __toESM(require_react_native(), 1);
40021
40103
  init_src4();
40022
40104
  init_esm8();
40023
- import_react162 = __toESM(require_react(), 1);
40105
+ import_react163 = __toESM(require_react(), 1);
40024
40106
  import_react_native147 = __toESM(require_react_native(), 1);
40025
40107
  init_esm8();
40026
40108
  init_dist3();
40027
- import_react163 = __toESM(require_react(), 1);
40109
+ import_react164 = __toESM(require_react(), 1);
40028
40110
  init_src4();
40029
40111
  init_esm8();
40030
40112
  init_private2();
@@ -40042,10 +40124,10 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40042
40124
  import_react_native155 = __toESM(require_react_native(), 1);
40043
40125
  import_jsx_runtime192 = __toESM(require_jsx_runtime(), 1);
40044
40126
  import_jsx_runtime193 = __toESM(require_jsx_runtime(), 1);
40045
- import_react164 = __toESM(require_react(), 1);
40127
+ import_react165 = __toESM(require_react(), 1);
40046
40128
  import_react_native156 = __toESM(require_react_native(), 1);
40047
40129
  init_src4();
40048
- import_react165 = __toESM(require_react(), 1);
40130
+ import_react166 = __toESM(require_react(), 1);
40049
40131
  init_src4();
40050
40132
  init_src4();
40051
40133
  import_jsx_runtime194 = __toESM(require_jsx_runtime(), 1);
@@ -40151,10 +40233,13 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40151
40233
  return 0;
40152
40234
  };
40153
40235
  TossCoreModule = import_react_native137.NativeModules.TossCoreModule;
40236
+ EXIT_IMPRESSION_LOG_NAME = "appsintoss_app_visit__common_module::impression__stay_time";
40237
+ EXIT_IMPRESSION_SCHEMA_ID = 1631628;
40154
40238
  ENTRY_APP_EVENT_SCHEMA_ID = 1562181;
40155
40239
  AppEvent = {
40156
40240
  Entry: EntryAppEvent,
40157
- System: SystemAppEvent
40241
+ System: SystemAppEvent,
40242
+ StayTime: StayTimeAppEvent
40158
40243
  };
40159
40244
  EntryMessageExitedEvent = /* @__PURE__ */ function(BedrockEventDefinition3) {
40160
40245
  "use strict";
@@ -40499,17 +40584,17 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40499
40584
  openURL(url.toString());
40500
40585
  };
40501
40586
  useGameCenterProfile = function(isReadyForProfileUI) {
40502
- var _useState = _sliced_to_array((0, import_react163.useState)(void 0), 2), profileData = _useState[0], setProfileData = _useState[1];
40503
- var _useState1 = _sliced_to_array((0, import_react163.useState)(true), 2), isProfileDataLoading = _useState1[0], setIsProfileDataLoading = _useState1[1];
40504
- var _useState2 = _sliced_to_array((0, import_react163.useState)(false), 2), isProfileDataRefetching = _useState2[0], setIsProfileDataRefetching = _useState2[1];
40587
+ var _useState = _sliced_to_array((0, import_react164.useState)(void 0), 2), profileData = _useState[0], setProfileData = _useState[1];
40588
+ var _useState1 = _sliced_to_array((0, import_react164.useState)(true), 2), isProfileDataLoading = _useState1[0], setIsProfileDataLoading = _useState1[1];
40589
+ var _useState2 = _sliced_to_array((0, import_react164.useState)(false), 2), isProfileDataRefetching = _useState2[0], setIsProfileDataRefetching = _useState2[1];
40505
40590
  var shouldShowLoadingOverlay = isProfileDataLoading && isReadyForProfileUI;
40506
40591
  var shouldShowProfileNotFoundOverlay = (profileData === null || profileData === void 0 ? void 0 : profileData.statusCode) === "PROFILE_NOT_FOUND" && isReadyForProfileUI && !isProfileDataRefetching;
40507
40592
  var canShowBottomSheetOrToast = !isProfileDataLoading && isReadyForProfileUI;
40508
- var _useState3 = _sliced_to_array((0, import_react163.useState)(false), 2), isWebviewLoading = _useState3[0], setIsWebviewLoading = _useState3[1];
40509
- var isCompletedProfileFlow = (0, import_react163.useRef)(false);
40593
+ var _useState3 = _sliced_to_array((0, import_react164.useState)(false), 2), isWebviewLoading = _useState3[0], setIsWebviewLoading = _useState3[1];
40594
+ var isCompletedProfileFlow = (0, import_react164.useRef)(false);
40510
40595
  var _useDialog = useDialog(), openAlert = _useDialog.openAlert, openConfirm = _useDialog.openConfirm;
40511
40596
  var openGameProfileToast = useGameProfileToast().openGameProfileToast;
40512
- var openErrorAlert = (0, import_react163.useCallback)(/* @__PURE__ */ _async_to_generator(function() {
40597
+ var openErrorAlert = (0, import_react164.useCallback)(/* @__PURE__ */ _async_to_generator(function() {
40513
40598
  return __generator(this, function(_state) {
40514
40599
  switch (_state.label) {
40515
40600
  case 0:
@@ -40531,7 +40616,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40531
40616
  }), [
40532
40617
  openAlert
40533
40618
  ]);
40534
- var openProfileWebview = (0, import_react163.useCallback)(function() {
40619
+ var openProfileWebview = (0, import_react164.useCallback)(function() {
40535
40620
  if (isWebviewLoading) {
40536
40621
  return;
40537
40622
  }
@@ -40601,7 +40686,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40601
40686
  openGameProfileToast,
40602
40687
  openErrorAlert
40603
40688
  ]);
40604
- var updateAppToSupportedMinVersion = (0, import_react163.useCallback)(/* @__PURE__ */ _async_to_generator(function() {
40689
+ var updateAppToSupportedMinVersion = (0, import_react164.useCallback)(/* @__PURE__ */ _async_to_generator(function() {
40605
40690
  var upddateConfirmDialogLabel, isConfirmed, STORE_SCHEME;
40606
40691
  return __generator(this, function(_state) {
40607
40692
  switch (_state.label) {
@@ -40664,7 +40749,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40664
40749
  GameProfile = function(param) {
40665
40750
  var children = param.children, isReadyForProfileUI = param.isReadyForProfileUI;
40666
40751
  var _useGameCenterProfile = useGameCenterProfile(isReadyForProfileUI), profileData = _useGameCenterProfile.profileData, isProfileDataRefetching = _useGameCenterProfile.isProfileDataRefetching, shouldShowLoadingOverlay = _useGameCenterProfile.shouldShowLoadingOverlay, shouldShowProfileNotFoundOverlay = _useGameCenterProfile.shouldShowProfileNotFoundOverlay, canShowBottomSheetOrToast = _useGameCenterProfile.canShowBottomSheetOrToast, isCompletedProfileFlow = _useGameCenterProfile.isCompletedProfileFlow, openProfileWebview = _useGameCenterProfile.openProfileWebview, updateAppToSupportedMinVersion = _useGameCenterProfile.updateAppToSupportedMinVersion, setIsProfileDataLoading = _useGameCenterProfile.setIsProfileDataLoading, setProfileData = _useGameCenterProfile.setProfileData, openErrorAlert = _useGameCenterProfile.openErrorAlert, openGameProfileToast = _useGameCenterProfile.openGameProfileToast;
40667
- (0, import_react162.useEffect)(function() {
40752
+ (0, import_react163.useEffect)(function() {
40668
40753
  try {
40669
40754
  var getProfileData = function() {
40670
40755
  var _ref = _async_to_generator(function() {
@@ -40696,7 +40781,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40696
40781
  setIsProfileDataLoading(false);
40697
40782
  }
40698
40783
  }, []);
40699
- (0, import_react162.useEffect)(function() {
40784
+ (0, import_react163.useEffect)(function() {
40700
40785
  var handleGameProfileFlow = function() {
40701
40786
  var _ref = _async_to_generator(function() {
40702
40787
  return __generator(this, function(_state) {
@@ -40836,11 +40921,12 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40836
40921
  }
40837
40922
  });
40838
40923
  originXML = '<svg fill="none" height="30" viewBox="0 0 30 30" width="30" xmlns="https://www.w3.org/2000/svg"><rect fill="#031832" fill-opacity=".46" height="30" rx="15" width="30"/><rect height="29.5" rx="14.75" stroke="#d9d9ff" stroke-opacity=".11" stroke-width=".5" width="29.5" x=".25" y=".25"/><path clip-rule="evenodd" d="m16.5119 15.0014 4.7092-4.7092c.0929-.0928.1666-.2031.2169-.32441.0503-.12134.0762-.25141.0762-.38276.0001-.13136-.0258-.26144-.076-.38281s-.1239-.23166-.2167-.32457c-.0929-.09291-.2031-.16662-.3245-.21692-.1213-.05031-.2514-.07622-.3827-.07626-.1314-.00004-.2615.0258-.3828.07603-.1214.05023-.2317.12388-.3246.21673l-4.7092 4.70997-4.71-4.70997c-.1897-.17718-.4408-.27373-.70034-.26927s-.5072.10959-.69069.2932c-.1835.1836-.28848.43132-.29279.69087-.00432.25954.09238.51057.26968.70017l4.71004 4.7092-4.71004 4.7092c-.1392.1401-.23385.3183-.27204.5121-.0382.1939-.01823.3946.05739.5771s.20351.3386.36759.4486.35702.169.55456.1697c.25583 0 .51164-.0975.70664-.2925l4.71-4.71 4.7092 4.71c.0927.093.2029.1668.3243.2172.1213.0504.2514.0763.3828.0763s.2614-.0259.3828-.0763c.1213-.0504.2315-.1242.3243-.2172.0929-.0929.1667-.2032.217-.3246s.0762-.2515.0762-.3829-.0259-.2616-.0762-.383-.1241-.2317-.217-.3245z" fill="#fdfdfe" fill-opacity=".89" fill-rule="evenodd"/></svg>';
40839
- GameWebView = /* @__PURE__ */ (0, import_react161.forwardRef)(function GameWebView2(props, ref) {
40924
+ GameWebView = /* @__PURE__ */ (0, import_react162.forwardRef)(function GameWebView2(props, ref) {
40840
40925
  var openConfirm = useDialog().openConfirm;
40841
40926
  var brandDisplayName = getAppsInTossGlobals().brandDisplayName;
40842
- var _useState2 = _sliced_to_array((0, import_react161.useState)(false), 2), isEntryMessageExited = _useState2[0], setIsEntryMessageExited = _useState2[1];
40843
- var handleClose = (0, import_react161.useCallback)(/* @__PURE__ */ _async_to_generator(function() {
40927
+ var captureExitLog = useCaptureExitLog().captureExitLog;
40928
+ var _useState2 = _sliced_to_array((0, import_react162.useState)(false), 2), isEntryMessageExited = _useState2[0], setIsEntryMessageExited = _useState2[1];
40929
+ var handleClose = (0, import_react162.useCallback)(/* @__PURE__ */ _async_to_generator(function() {
40844
40930
  var isConfirmed;
40845
40931
  return __generator(this, function(_state) {
40846
40932
  switch (_state.label) {
@@ -40857,6 +40943,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40857
40943
  case 1:
40858
40944
  isConfirmed = _state.sent();
40859
40945
  if (isConfirmed) {
40946
+ captureExitLog(Date.now());
40860
40947
  closeView();
40861
40948
  }
40862
40949
  return [
@@ -40866,9 +40953,10 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40866
40953
  });
40867
40954
  }), [
40868
40955
  brandDisplayName,
40956
+ captureExitLog,
40869
40957
  openConfirm
40870
40958
  ]);
40871
- (0, import_react161.useEffect)(function() {
40959
+ (0, import_react162.useEffect)(function() {
40872
40960
  if (import_react_native145.Platform.OS === "ios") {
40873
40961
  setIosSwipeGestureEnabled({
40874
40962
  isEnabled: false
@@ -40881,7 +40969,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40881
40969
  }
40882
40970
  return;
40883
40971
  }, []);
40884
- (0, import_react161.useEffect)(function() {
40972
+ (0, import_react162.useEffect)(function() {
40885
40973
  var backHandler = function() {
40886
40974
  handleClose();
40887
40975
  return true;
@@ -40893,7 +40981,7 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40893
40981
  }, [
40894
40982
  handleClose
40895
40983
  ]);
40896
- (0, import_react161.useEffect)(function() {
40984
+ (0, import_react162.useEffect)(function() {
40897
40985
  appsInTossEvent.addEventListener("entryMessageExited", {
40898
40986
  onEvent: function() {
40899
40987
  setIsEntryMessageExited(true);
@@ -40931,6 +41019,9 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
40931
41019
  });
40932
41020
  event_bridges_exports = {};
40933
41021
  __export2(event_bridges_exports, {
41022
+ contactsViral: function() {
41023
+ return contactsViral;
41024
+ },
40934
41025
  startUpdateLocation: function() {
40935
41026
  return startUpdateLocation;
40936
41027
  }
@@ -41068,13 +41159,13 @@ window.__bedrock.app = { name: Ait.appName, buildNumber: Ait.buildNumber };
41068
41159
  })
41069
41160
  });
41070
41161
  }
41071
- var import_jsx_runtime195, import_react166, import_react_native157, getInitialAccessoryButtons;
41162
+ var import_jsx_runtime195, import_react167, import_react_native157, getInitialAccessoryButtons;
41072
41163
  var init_pages = __esm({
41073
41164
  "react-native/pages/index.tsx"() {
41074
41165
  "use strict";
41075
41166
  import_jsx_runtime195 = __toESM(require_jsx_runtime(), 1);
41076
41167
  init_dist4();
41077
- import_react166 = __toESM(require_react(), 1);
41168
+ import_react167 = __toESM(require_react(), 1);
41078
41169
  import_react_native157 = __toESM(require_react_native(), 1);
41079
41170
  getInitialAccessoryButtons = function() {
41080
41171
  try {