@apps-in-toss/web-framework 2.0.3 → 2.0.5
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.
- package/dist/prebuilt/dev.android.rn84.js +122 -121
- package/dist/prebuilt/dev.ios.rn84.js +122 -121
- package/dist/prebuilt/prod.android.rn72.js +61 -53
- package/dist/prebuilt/prod.android.rn84.js +43 -41
- package/dist/prebuilt/prod.ios.rn72.js +61 -53
- package/dist/prebuilt/prod.ios.rn84.js +43 -41
- package/package.json +8 -8
|
@@ -136880,9 +136880,9 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
136880
136880
|
var import_analytics2 = _$$_REQUIRE(_dependencyMap[4], "@apps-in-toss/analytics");
|
|
136881
136881
|
var import_analytics = _$$_REQUIRE(_dependencyMap[4], "@apps-in-toss/analytics");
|
|
136882
136882
|
var import_native_modules14 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
136883
|
-
var
|
|
136883
|
+
var import_react_native22 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
136884
136884
|
var import_tds_react_native10 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
136885
|
-
var
|
|
136885
|
+
var import_react_native23 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
136886
136886
|
var import_native_modules2 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
136887
136887
|
var import_react_native4 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
136888
136888
|
var import_react3 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
@@ -137064,7 +137064,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
137064
137064
|
}
|
|
137065
137065
|
var import_native_modules13 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
137066
137066
|
var import_react17 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
137067
|
-
var
|
|
137067
|
+
var import_react_native21 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
137068
137068
|
var import_native_modules6 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
137069
137069
|
var import_react_native10 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
137070
137070
|
var import_tds_react_native4 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
@@ -137749,7 +137749,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
137749
137749
|
}, [backEventContext, navigation, closeConfirm, logging, captureExitLog]);
|
|
137750
137750
|
}
|
|
137751
137751
|
var import_native_modules12 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
137752
|
-
var
|
|
137752
|
+
var import_react_native19 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
137753
137753
|
var import_tds_react_native8 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
137754
137754
|
var import_private4 = _$$_REQUIRE(_dependencyMap[12], "@toss/tds-react-native/private");
|
|
137755
137755
|
var import_react15 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
@@ -137947,7 +137947,6 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
137947
137947
|
});
|
|
137948
137948
|
}
|
|
137949
137949
|
var import_native_modules10 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
137950
|
-
var import_react_native18 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
137951
137950
|
var import_jsx_runtime7 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
137952
137951
|
function HomeShortcutMenu() {
|
|
137953
137952
|
var isSandbox = (0, import_native_modules10.getOperationalEnvironment)() === "sandbox";
|
|
@@ -137959,17 +137958,20 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
137959
137958
|
title: "\uD648 \uD654\uBA74\uC5D0 \uCD94\uAC00",
|
|
137960
137959
|
iconURL: "https://static.toss.im/icons/png/4x/icon-plus-circle-mono.png",
|
|
137961
137960
|
onPress: () => {
|
|
137962
|
-
|
|
137961
|
+
import_native_modules10.INTERNAL__appBridgeHandler.invokeAppBridgeMethod("addMiniAppShortcut", {
|
|
137963
137962
|
title: globals.brandDisplayName,
|
|
137964
137963
|
appName: global.__granite.app.name,
|
|
137965
137964
|
iconUrl: globals.brandIcon,
|
|
137966
137965
|
guideUrl: "https://service.toss.im/app-mini-home/shortcut"
|
|
137966
|
+
}, {
|
|
137967
|
+
onSuccess: () => {},
|
|
137968
|
+
onError: () => {}
|
|
137967
137969
|
});
|
|
137968
137970
|
}
|
|
137969
137971
|
});
|
|
137970
137972
|
}
|
|
137971
137973
|
var import_native_modules11 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
137972
|
-
var
|
|
137974
|
+
var import_react_native18 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
137973
137975
|
var import_jsx_runtime8 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
137974
137976
|
function SettingsMenu() {
|
|
137975
137977
|
var globals = getAppsInTossGlobals();
|
|
@@ -137979,7 +137981,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
137979
137981
|
return (0, import_jsx_runtime8.jsx)(Menu, {
|
|
137980
137982
|
title: "\uC124\uC815",
|
|
137981
137983
|
iconURL: "https://static.toss.im/icons/png/4x/icon-setting-mono.png",
|
|
137982
|
-
onPress: () => (0,
|
|
137984
|
+
onPress: () => (0, import_react_native18.openURL)(`servicetoss://apps-in-toss-menu/settings?appName=${import_react_native18.Granite.appName}&displayAppName=${globals.brandDisplayName}`)
|
|
137983
137985
|
});
|
|
137984
137986
|
}
|
|
137985
137987
|
function ensureValue(value, name) {
|
|
@@ -138080,7 +138082,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138080
138082
|
children: [itemList.map(item => (0, import_jsx_runtime9.jsx)(Menu, {
|
|
138081
138083
|
title: item.contactItemName,
|
|
138082
138084
|
iconURL: item.contactIconUrl,
|
|
138083
|
-
onPress: () => (0,
|
|
138085
|
+
onPress: () => (0, import_react_native19.openURL)(item.contactUri)
|
|
138084
138086
|
}, item.contactItemName)), isHomeShortcutSupported && (0, import_jsx_runtime9.jsx)(HomeShortcutMenu, {}), isShareListMenuSupported && (0, import_jsx_runtime9.jsx)(AppShareListMenu, {}), isSettingsMenuSupported && (0, import_jsx_runtime9.jsx)(SettingsMenu, {})]
|
|
138085
138087
|
})
|
|
138086
138088
|
})
|
|
@@ -138172,7 +138174,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138172
138174
|
var import_react_native_safe_area_context = _$$_REQUIRE(_dependencyMap[13], "@granite-js/native/react-native-safe-area-context");
|
|
138173
138175
|
var import_tds_react_native9 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
138174
138176
|
var import_private6 = _$$_REQUIRE(_dependencyMap[12], "@toss/tds-react-native/private");
|
|
138175
|
-
var
|
|
138177
|
+
var import_react_native20 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
138176
138178
|
var import_jsx_runtime12 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
138177
138179
|
function GameNavigationBar() {
|
|
138178
138180
|
var safeAreaTop = (0, import_private6.useSafeAreaTop)();
|
|
@@ -138189,10 +138191,10 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138189
138191
|
preference: {
|
|
138190
138192
|
type: "none"
|
|
138191
138193
|
}
|
|
138192
|
-
}), (0, import_jsx_runtime12.jsx)(
|
|
138194
|
+
}), (0, import_jsx_runtime12.jsx)(import_react_native20.View, {
|
|
138193
138195
|
style: {
|
|
138194
138196
|
width: "100%",
|
|
138195
|
-
height:
|
|
138197
|
+
height: import_react_native20.Platform.OS === "ios" ? 44 : 54,
|
|
138196
138198
|
flexDirection: "row",
|
|
138197
138199
|
alignItems: "center",
|
|
138198
138200
|
justifyContent: "flex-end",
|
|
@@ -138240,7 +138242,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138240
138242
|
children
|
|
138241
138243
|
}) {
|
|
138242
138244
|
(0, import_react17.useEffect)(() => {
|
|
138243
|
-
if (
|
|
138245
|
+
if (import_react_native21.Platform.OS === "ios") {
|
|
138244
138246
|
(0, import_native_modules13.setIosSwipeGestureEnabled)({
|
|
138245
138247
|
isEnabled: false
|
|
138246
138248
|
});
|
|
@@ -138302,13 +138304,13 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138302
138304
|
analytics
|
|
138303
138305
|
}) {
|
|
138304
138306
|
var appName = getAppName();
|
|
138305
|
-
var isRegistered =
|
|
138307
|
+
var isRegistered = import_react_native23.AppRegistry.getAppKeys().includes(appName);
|
|
138306
138308
|
if (!isRegistered) {
|
|
138307
138309
|
import_analytics.Analytics.init({
|
|
138308
138310
|
logger: params => void (0, import_native_modules14.eventLog)(params),
|
|
138309
138311
|
debug: analytics?.debug ?? __DEV__
|
|
138310
138312
|
});
|
|
138311
|
-
var App =
|
|
138313
|
+
var App = import_react_native22.Granite.registerApp(AppsInTossContainer.bind(null, container), {
|
|
138312
138314
|
appName,
|
|
138313
138315
|
context,
|
|
138314
138316
|
initialScheme: (0, import_native_modules14.getSchemeUri)(),
|
|
@@ -138329,11 +138331,11 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138329
138331
|
}) {
|
|
138330
138332
|
var isRNApp = getAppsInTossGlobals().webViewType == null;
|
|
138331
138333
|
return (0, import_jsx_runtime14.jsx)(NavigationBarContextProvider, {
|
|
138332
|
-
children: (0, import_jsx_runtime14.jsx)(import_analytics.Analytics.Screen, {
|
|
138333
|
-
children:
|
|
138334
|
+
children: isRNApp ? (0, import_jsx_runtime14.jsx)(import_analytics.Analytics.Screen, {
|
|
138335
|
+
children: (0, import_jsx_runtime14.jsx)(RNAppContainer, {
|
|
138334
138336
|
children
|
|
138335
|
-
})
|
|
138336
|
-
})
|
|
138337
|
+
})
|
|
138338
|
+
}) : children
|
|
138337
138339
|
});
|
|
138338
138340
|
}
|
|
138339
138341
|
function getAppName() {
|
|
@@ -138353,22 +138355,22 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138353
138355
|
var appsInTossEventBridges = __toESM(_$$_REQUIRE(_dependencyMap[16], "@apps-in-toss/native-modules/event-bridges"), 1);
|
|
138354
138356
|
var import_user_scripts = _$$_REQUIRE(_dependencyMap[17], "@apps-in-toss/user-scripts");
|
|
138355
138357
|
var import_react_native_safe_area_context4 = _$$_REQUIRE(_dependencyMap[13], "@granite-js/native/react-native-safe-area-context");
|
|
138356
|
-
var
|
|
138358
|
+
var import_react_native37 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
138357
138359
|
var import_tds_react_native15 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
138358
138360
|
var import_private9 = _$$_REQUIRE(_dependencyMap[12], "@toss/tds-react-native/private");
|
|
138359
138361
|
var import_react28 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
138360
|
-
var
|
|
138362
|
+
var import_react_native38 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
138361
138363
|
var import_native_modules15 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
138362
138364
|
var import_react_native_webview = _$$_REQUIRE(_dependencyMap[18], "@granite-js/native/react-native-webview");
|
|
138363
138365
|
var import_react19 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
138364
|
-
var
|
|
138366
|
+
var import_react_native26 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
138365
138367
|
var import_react_native_safe_area_context2 = _$$_REQUIRE(_dependencyMap[13], "@granite-js/native/react-native-safe-area-context");
|
|
138366
|
-
var
|
|
138368
|
+
var import_react_native24 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
138367
138369
|
var import_tds_react_native11 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
138368
138370
|
var import_private7 = _$$_REQUIRE(_dependencyMap[12], "@toss/tds-react-native/private");
|
|
138369
138371
|
var import_es_hangul3 = _$$_REQUIRE(_dependencyMap[11], "es-hangul");
|
|
138370
138372
|
var import_react18 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
138371
|
-
var
|
|
138373
|
+
var import_react_native25 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
138372
138374
|
var import_jsx_runtime15 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
138373
138375
|
function GameWebviewNavigationBar() {
|
|
138374
138376
|
var safeAreaTop = (0, import_private7.useSafeAreaTop)();
|
|
@@ -138396,7 +138398,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138396
138398
|
logging.closePopupCtaClick(isConfirmed);
|
|
138397
138399
|
if (isConfirmed) {
|
|
138398
138400
|
captureExitLog(Date.now());
|
|
138399
|
-
(0,
|
|
138401
|
+
(0, import_react_native24.closeView)();
|
|
138400
138402
|
}
|
|
138401
138403
|
}), [captureExitLog, global2.brandDisplayName, logging, openConfirm]);
|
|
138402
138404
|
return (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, {
|
|
@@ -138404,10 +138406,10 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138404
138406
|
preference: {
|
|
138405
138407
|
type: "none"
|
|
138406
138408
|
}
|
|
138407
|
-
}), (0, import_jsx_runtime15.jsx)(
|
|
138409
|
+
}), (0, import_jsx_runtime15.jsx)(import_react_native25.View, {
|
|
138408
138410
|
style: {
|
|
138409
138411
|
width: "100%",
|
|
138410
|
-
height:
|
|
138412
|
+
height: import_react_native25.Platform.OS === "ios" ? 44 : 54,
|
|
138411
138413
|
flexDirection: "row",
|
|
138412
138414
|
alignItems: "center",
|
|
138413
138415
|
justifyContent: "flex-end",
|
|
@@ -138431,7 +138433,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138431
138433
|
var import_jsx_runtime16 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
138432
138434
|
var GameWebView = (0, import_react19.forwardRef)(function GameWebView2(props, ref) {
|
|
138433
138435
|
(0, import_react19.useEffect)(() => {
|
|
138434
|
-
if (
|
|
138436
|
+
if (import_react_native26.Platform.OS === "ios") {
|
|
138435
138437
|
(0, import_native_modules15.setIosSwipeGestureEnabled)({
|
|
138436
138438
|
isEnabled: false
|
|
138437
138439
|
});
|
|
@@ -138457,7 +138459,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138457
138459
|
});
|
|
138458
138460
|
var import_react_native_webview2 = _$$_REQUIRE(_dependencyMap[18], "@granite-js/native/react-native-webview");
|
|
138459
138461
|
var import_react21 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
138460
|
-
var
|
|
138462
|
+
var import_react_native27 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
138461
138463
|
var import_tds_react_native12 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
138462
138464
|
var import_private8 = _$$_REQUIRE(_dependencyMap[12], "@toss/tds-react-native/private");
|
|
138463
138465
|
var import_es_hangul4 = _$$_REQUIRE(_dependencyMap[11], "es-hangul");
|
|
@@ -138492,7 +138494,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138492
138494
|
logging.closePopupCtaClick(isConfirmed);
|
|
138493
138495
|
if (isConfirmed) {
|
|
138494
138496
|
captureExitLog(Date.now());
|
|
138495
|
-
(0,
|
|
138497
|
+
(0, import_react_native27.closeView)();
|
|
138496
138498
|
}
|
|
138497
138499
|
}), [captureExitLog, globals.brandDisplayName, logging, openConfirm]);
|
|
138498
138500
|
return (0, import_jsx_runtime17.jsx)(NavigationBarImpressionArea, {
|
|
@@ -138600,19 +138602,19 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138600
138602
|
var random = Math.random().toString(36).substring(2, 7).toUpperCase();
|
|
138601
138603
|
return `ait-${timestamp}${random}`;
|
|
138602
138604
|
}
|
|
138603
|
-
var
|
|
138605
|
+
var import_react_native28 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
138604
138606
|
function getReferrer() {
|
|
138605
138607
|
try {
|
|
138606
|
-
return new URL((0,
|
|
138608
|
+
return new URL((0, import_react_native28.getSchemeUri)()).searchParams.get("referrer");
|
|
138607
138609
|
} catch {
|
|
138608
138610
|
return null;
|
|
138609
138611
|
}
|
|
138610
138612
|
}
|
|
138611
138613
|
var import_native_modules17 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
138612
|
-
var
|
|
138614
|
+
var import_react_native29 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
138613
138615
|
function getIsDev() {
|
|
138614
138616
|
try {
|
|
138615
|
-
return new URL((0,
|
|
138617
|
+
return new URL((0, import_react_native29.getSchemeUri)()).searchParams.get("isDev") === "true";
|
|
138616
138618
|
} catch {
|
|
138617
138619
|
return false;
|
|
138618
138620
|
}
|
|
@@ -138882,14 +138884,14 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
138882
138884
|
}
|
|
138883
138885
|
showFullScreenAd.isSupported = import_native_modules18.GoogleAdMob.showAppsInTossAdMob.isSupported;
|
|
138884
138886
|
var import_native_modules19 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
138885
|
-
var
|
|
138887
|
+
var import_react_native30 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
138886
138888
|
function tossAdEventLog(_x4) {
|
|
138887
138889
|
return _tossAdEventLog.apply(this, arguments);
|
|
138888
138890
|
}
|
|
138889
138891
|
function _tossAdEventLog() {
|
|
138890
138892
|
_tossAdEventLog = _asyncToGenerator(function* (params) {
|
|
138891
138893
|
var referrer = getReferrer();
|
|
138892
|
-
var appName =
|
|
138894
|
+
var appName = import_react_native30.Granite.appName;
|
|
138893
138895
|
var eventLogParams = {
|
|
138894
138896
|
...params,
|
|
138895
138897
|
params: {
|
|
@@ -139051,7 +139053,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139051
139053
|
}, []);
|
|
139052
139054
|
return safeAreaInsetsChange;
|
|
139053
139055
|
}
|
|
139054
|
-
var
|
|
139056
|
+
var import_react_native31 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
139055
139057
|
var import_tds_react_native13 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
139056
139058
|
var import_es_hangul5 = _$$_REQUIRE(_dependencyMap[11], "es-hangul");
|
|
139057
139059
|
var import_react25 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
@@ -139140,7 +139142,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139140
139142
|
var _useWebViewHistory = useWebViewHistory(),
|
|
139141
139143
|
hasHistory = _useWebViewHistory.hasHistory,
|
|
139142
139144
|
onNavigationStateChange = _useWebViewHistory.onNavigationStateChange;
|
|
139143
|
-
var _ref38 = (0,
|
|
139145
|
+
var _ref38 = (0, import_react_native31.useBackEventState)(),
|
|
139144
139146
|
webBackHandlersRef = _ref38.handlersRef,
|
|
139145
139147
|
hasWebBackEvent = _ref38.hasBackEvent,
|
|
139146
139148
|
addWebBackEventListener = _ref38.addEventListener,
|
|
@@ -139175,7 +139177,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139175
139177
|
logging.closePopupCtaClick(isConfirmed);
|
|
139176
139178
|
if (isConfirmed) {
|
|
139177
139179
|
captureExitLog(Date.now());
|
|
139178
|
-
(0,
|
|
139180
|
+
(0, import_react_native31.closeView)();
|
|
139179
139181
|
}
|
|
139180
139182
|
}
|
|
139181
139183
|
}), [captureExitLog, global2.brandDisplayName, hasHistory, hasWebBackEvent, webBackHandlersRef, logging, openConfirm, webViewRef]);
|
|
@@ -139212,7 +139214,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139212
139214
|
};
|
|
139213
139215
|
}
|
|
139214
139216
|
var import_native_modules20 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
139215
|
-
var
|
|
139217
|
+
var import_react_native32 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
139216
139218
|
var FontA11yCategory = {
|
|
139217
139219
|
Large: "Large",
|
|
139218
139220
|
xLarge: "xLarge",
|
|
@@ -139347,7 +139349,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139347
139349
|
}) {
|
|
139348
139350
|
var platform = (0, import_native_modules20.getPlatformOS)();
|
|
139349
139351
|
var appVersion = (0, import_native_modules20.getTossAppVersion)();
|
|
139350
|
-
var _ref41 = (0,
|
|
139352
|
+
var _ref41 = (0, import_react_native32.useWindowDimensions)(),
|
|
139351
139353
|
fontScale = _ref41.fontScale;
|
|
139352
139354
|
var platformString = platform === "ios" ? "iPhone" : "Android phone";
|
|
139353
139355
|
var fontA11y = mapFontScaleToCategory(fontScale, platform);
|
|
@@ -139355,14 +139357,14 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139355
139357
|
return ["AppsInToss", `TossApp/${appVersion}`, batteryModePreference && `TossBatteryModePreference/${batteryModePreference}`, colorPreference && `TossColorPreference/${colorPreference}`, `TossFontAccessibility/${fontA11y}`, `TossFontScale/${normalizedFontScale}`, locale && `TossLocale/${locale}`, navbarPreference && `TossNavbarPreference/${navbarPreference}`, pureSafeArea && `TossPureSafeArea/${pureSafeArea}`, safeArea && `TossSafeArea/${safeArea}`, safeAreaBottomTransparency && `TossSafeAreaBottomTransparency/${safeAreaBottomTransparency}`, platformString].filter(Boolean).join(" ");
|
|
139356
139358
|
}
|
|
139357
139359
|
var import_native_modules21 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
139358
|
-
var
|
|
139360
|
+
var import_react_native33 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
139359
139361
|
var import_react26 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
139360
139362
|
function useGeolocation({
|
|
139361
139363
|
accuracy,
|
|
139362
139364
|
distanceInterval,
|
|
139363
139365
|
timeInterval
|
|
139364
139366
|
}) {
|
|
139365
|
-
var isVisible = (0,
|
|
139367
|
+
var isVisible = (0, import_react_native33.useVisibility)();
|
|
139366
139368
|
var _ref42 = (0, import_react26.useState)(null),
|
|
139367
139369
|
_ref43 = _slicedToArray(_ref42, 2),
|
|
139368
139370
|
location = _ref43[0],
|
|
@@ -139383,11 +139385,11 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139383
139385
|
}, [accuracy, distanceInterval, timeInterval, isVisible]);
|
|
139384
139386
|
return location;
|
|
139385
139387
|
}
|
|
139386
|
-
var
|
|
139388
|
+
var import_react_native34 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
139387
139389
|
var import_react27 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
139388
139390
|
function useWaitForReturnNavigator() {
|
|
139389
139391
|
var callbacks = (0, import_react27.useRef)([]).current;
|
|
139390
|
-
var navigation = (0,
|
|
139392
|
+
var navigation = (0, import_react_native34.useNavigation)();
|
|
139391
139393
|
var startNavigating = (0, import_react27.useCallback)((route, params) => {
|
|
139392
139394
|
return new Promise(resolve => {
|
|
139393
139395
|
callbacks.push(resolve);
|
|
@@ -139402,7 +139404,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139402
139404
|
callbacks.splice(0, callbacks.length);
|
|
139403
139405
|
}
|
|
139404
139406
|
}, [callbacks]);
|
|
139405
|
-
(0,
|
|
139407
|
+
(0, import_react_native34.useVisibilityChange)(handleVisibilityChange);
|
|
139406
139408
|
return startNavigating;
|
|
139407
139409
|
}
|
|
139408
139410
|
function useTopNavigation() {
|
|
@@ -139415,7 +139417,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139415
139417
|
};
|
|
139416
139418
|
}
|
|
139417
139419
|
var import_native_modules22 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
139418
|
-
var
|
|
139420
|
+
var import_react_native35 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
139419
139421
|
var import_tds_react_native14 = _$$_REQUIRE(_dependencyMap[7], "@toss/tds-react-native");
|
|
139420
139422
|
function useHandleWebViewProcessDidTerminate(webViewRef) {
|
|
139421
139423
|
var toast = (0, import_tds_react_native14.useToast)();
|
|
@@ -139444,7 +139446,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139444
139446
|
log_type: "debug",
|
|
139445
139447
|
params: {
|
|
139446
139448
|
...params,
|
|
139447
|
-
app_name:
|
|
139449
|
+
app_name: import_react_native35.Granite.appName,
|
|
139448
139450
|
deployment_id: global2.deploymentId
|
|
139449
139451
|
}
|
|
139450
139452
|
};
|
|
@@ -139455,7 +139457,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139455
139457
|
}
|
|
139456
139458
|
}
|
|
139457
139459
|
var import_native_modules23 = _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules");
|
|
139458
|
-
var
|
|
139460
|
+
var import_react_native36 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
139459
139461
|
var extractDateFromUUIDv7 = uuid => {
|
|
139460
139462
|
var timestampHex = uuid.split("-").join("").slice(0, 12);
|
|
139461
139463
|
var timestamp = Number.parseInt(timestampHex, 16);
|
|
@@ -139477,13 +139479,13 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139477
139479
|
};
|
|
139478
139480
|
var getReferrer2 = () => {
|
|
139479
139481
|
try {
|
|
139480
|
-
var referrer = new URL((0,
|
|
139482
|
+
var referrer = new URL((0, import_react_native36.getSchemeUri)());
|
|
139481
139483
|
return referrer.searchParams.get("referrer");
|
|
139482
139484
|
} catch {
|
|
139483
139485
|
return "";
|
|
139484
139486
|
}
|
|
139485
139487
|
};
|
|
139486
|
-
var trackScreen = url => {
|
|
139488
|
+
var trackScreen = (url, title) => {
|
|
139487
139489
|
var _getGroupId = getGroupId(url),
|
|
139488
139490
|
groupId = _getGroupId.groupId,
|
|
139489
139491
|
search = _getGroupId.search;
|
|
@@ -139493,6 +139495,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139493
139495
|
params: {
|
|
139494
139496
|
search,
|
|
139495
139497
|
referrer: getReferrer2(),
|
|
139498
|
+
document_title: title,
|
|
139496
139499
|
deployment_id: env.getDeploymentId(),
|
|
139497
139500
|
deployment_timestamp: extractDateFromUUIDv7(env.getDeploymentId()).getTime()
|
|
139498
139501
|
}
|
|
@@ -139509,7 +139512,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139509
139512
|
};
|
|
139510
139513
|
function mergeSchemeQueryParamsInto(url) {
|
|
139511
139514
|
var baseUrl = new URL(url);
|
|
139512
|
-
var schemeUrl = new URL((0,
|
|
139515
|
+
var schemeUrl = new URL((0, import_react_native37.getSchemeUri)());
|
|
139513
139516
|
var resultUrl = new URL(schemeUrl.pathname, baseUrl.origin);
|
|
139514
139517
|
for (var _ref44 of baseUrl.searchParams.entries()) {
|
|
139515
139518
|
var _ref45 = _slicedToArray(_ref44, 2);
|
|
@@ -139680,10 +139683,8 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139680
139683
|
memoryDebugLog: webViewMemoryDebugLog,
|
|
139681
139684
|
debugLog: function () {
|
|
139682
139685
|
var _ref53 = _asyncToGenerator(function* (event) {
|
|
139683
|
-
|
|
139684
|
-
|
|
139685
|
-
params: event
|
|
139686
|
-
});
|
|
139686
|
+
(0, import_native_modules24.eventLog)(event);
|
|
139687
|
+
import_native_modules24.INTERNAL__module.tossCoreEventLog(event);
|
|
139687
139688
|
});
|
|
139688
139689
|
return function debugLog(_x8) {
|
|
139689
139690
|
return _ref53.apply(this, arguments);
|
|
@@ -139717,7 +139718,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139717
139718
|
webBackHandler.handleWebBack();
|
|
139718
139719
|
return true;
|
|
139719
139720
|
};
|
|
139720
|
-
var subscription =
|
|
139721
|
+
var subscription = import_react_native38.BackHandler.addEventListener("hardwareBackPress", callback);
|
|
139721
139722
|
return () => subscription.remove();
|
|
139722
139723
|
}, [webBackHandler]);
|
|
139723
139724
|
var handleWebViewProcessDidTerminate = useHandleWebViewProcessDidTerminate(webViewRef);
|
|
@@ -139735,19 +139736,19 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139735
139736
|
onBackButtonClick: webBackHandler.handleWebBack,
|
|
139736
139737
|
onNavigationStateChange: event => {
|
|
139737
139738
|
if (event.url) {
|
|
139738
|
-
trackScreen(event.url);
|
|
139739
|
+
trackScreen(event.url, event.title);
|
|
139739
139740
|
}
|
|
139740
139741
|
props.onNavigationStateChange?.(event);
|
|
139741
139742
|
webBackHandler.onNavigationStateChange(event);
|
|
139742
139743
|
},
|
|
139743
|
-
userAgent:
|
|
139744
|
+
userAgent: import_react_native38.Platform.OS === "ios" ? userAgent : void 0,
|
|
139744
139745
|
sharedCookiesEnabled: true,
|
|
139745
139746
|
webviewDebuggingEnabled: webViewDebuggingEnabled,
|
|
139746
139747
|
thirdPartyCookiesEnabled: true,
|
|
139747
139748
|
onMessage: handler.onMessage,
|
|
139748
139749
|
injectedJavaScript: import_user_scripts.afterDocumentLoad,
|
|
139749
139750
|
injectedJavaScriptBeforeContentLoaded: [handler.injectedJavaScript, import_user_scripts.beforeDocumentLoad].join("\n"),
|
|
139750
|
-
decelerationRate:
|
|
139751
|
+
decelerationRate: import_react_native38.Platform.OS === "ios" ? 1 : void 0,
|
|
139751
139752
|
allowsBackForwardNavigationGestures,
|
|
139752
139753
|
onShouldStartLoadWithRequest: event => {
|
|
139753
139754
|
try {
|
|
@@ -139755,7 +139756,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139755
139756
|
if (["https:", "http:"].includes(url2.protocol) || url2.href === "about:blank") {
|
|
139756
139757
|
return true;
|
|
139757
139758
|
} else {
|
|
139758
|
-
|
|
139759
|
+
import_react_native38.Linking.openURL(convertIntentURL(url2) ?? url2.href);
|
|
139759
139760
|
return false;
|
|
139760
139761
|
}
|
|
139761
139762
|
} catch (error) {
|
|
@@ -139773,9 +139774,9 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
139773
139774
|
__reExport(src_exports, _$$_REQUIRE(_dependencyMap[5], "@apps-in-toss/native-modules"), module.exports);
|
|
139774
139775
|
__reExport(src_exports, _$$_REQUIRE(_dependencyMap[19], "@apps-in-toss/types"), module.exports);
|
|
139775
139776
|
var import_types = _$$_REQUIRE(_dependencyMap[19], "@apps-in-toss/types");
|
|
139776
|
-
var
|
|
139777
|
+
var import_react_native42 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
139777
139778
|
var import_react31 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
139778
|
-
var
|
|
139779
|
+
var import_react_native43 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
139779
139780
|
var SDK_ID = "106";
|
|
139780
139781
|
var LIST_BANNER_STYLE_ID = "1";
|
|
139781
139782
|
var NATIVE_IMAGE_STYLE_ID = "2";
|
|
@@ -140052,7 +140053,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140052
140053
|
});
|
|
140053
140054
|
return _loadAd.apply(this, arguments);
|
|
140054
140055
|
}
|
|
140055
|
-
var
|
|
140056
|
+
var import_react_native39 = _$$_REQUIRE(_dependencyMap[6], "@granite-js/react-native");
|
|
140056
140057
|
function isSafeUrl(url) {
|
|
140057
140058
|
try {
|
|
140058
140059
|
var parsed = new URL(url);
|
|
@@ -140068,7 +140069,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140068
140069
|
return;
|
|
140069
140070
|
}
|
|
140070
140071
|
try {
|
|
140071
|
-
(0,
|
|
140072
|
+
(0, import_react_native39.openURL)(getWebSchemeOrUri(url));
|
|
140072
140073
|
} catch (error) {
|
|
140073
140074
|
console.error("[InlineAd] Failed to open landing URL:", error);
|
|
140074
140075
|
}
|
|
@@ -140177,7 +140178,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140177
140178
|
}();
|
|
140178
140179
|
var import_react_native_svg = _$$_REQUIRE(_dependencyMap[20], "@granite-js/native/react-native-svg");
|
|
140179
140180
|
var import_react29 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
140180
|
-
var
|
|
140181
|
+
var import_react_native40 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
140181
140182
|
var import_jsx_runtime20 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
140182
140183
|
var ARROW_PATH = "m7.5 20.4c-.5-.5-.5-1.2 0-1.7l6.7-6.7-6.8-6.7c-.5-.5-.5-1.2 0-1.7s1.2-.5 1.7 0l7.5 7.5c.5.5.5 1.2 0 1.7l-7.5 7.5c-.2.3-.5.4-.8.4s-.6-.1-.8-.3z";
|
|
140183
140184
|
function FeedBannerAdView({
|
|
@@ -140195,12 +140196,12 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140195
140196
|
paddingStyle,
|
|
140196
140197
|
onPress
|
|
140197
140198
|
}) {
|
|
140198
|
-
var scale = (0, import_react29.useRef)(new
|
|
140199
|
+
var scale = (0, import_react29.useRef)(new import_react_native40.Animated.Value(1)).current;
|
|
140199
140200
|
var animateScale = toValue => {
|
|
140200
|
-
|
|
140201
|
+
import_react_native40.Animated.timing(scale, {
|
|
140201
140202
|
toValue,
|
|
140202
140203
|
duration: 100,
|
|
140203
|
-
easing:
|
|
140204
|
+
easing: import_react_native40.Easing.inOut(import_react_native40.Easing.ease),
|
|
140204
140205
|
useNativeDriver: true
|
|
140205
140206
|
}).start();
|
|
140206
140207
|
};
|
|
@@ -140212,59 +140213,59 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140212
140213
|
};
|
|
140213
140214
|
var resolvedCtaBackground = ctaBackgroundColor ?? "#3081F9";
|
|
140214
140215
|
var resolvedCtaTextColor = ctaTextColor ?? "#ffffff";
|
|
140215
|
-
return (0, import_jsx_runtime20.jsx)(
|
|
140216
|
+
return (0, import_jsx_runtime20.jsx)(import_react_native40.Pressable, {
|
|
140216
140217
|
accessibilityRole: "button",
|
|
140217
140218
|
onPress: () => onPress(null),
|
|
140218
140219
|
onPressIn: handlePressIn,
|
|
140219
140220
|
onPressOut: handlePressOut,
|
|
140220
140221
|
style: styles.pressable,
|
|
140221
|
-
children: (0, import_jsx_runtime20.jsxs)(
|
|
140222
|
+
children: (0, import_jsx_runtime20.jsxs)(import_react_native40.Animated.View, {
|
|
140222
140223
|
style: [styles.container, paddingStyle, {
|
|
140223
140224
|
transform: [{
|
|
140224
140225
|
scale
|
|
140225
140226
|
}]
|
|
140226
140227
|
}],
|
|
140227
|
-
children: [(0, import_jsx_runtime20.jsxs)(
|
|
140228
|
+
children: [(0, import_jsx_runtime20.jsxs)(import_react_native40.View, {
|
|
140228
140229
|
style: styles.profileContainer,
|
|
140229
|
-
children: [(0, import_jsx_runtime20.jsxs)(
|
|
140230
|
+
children: [(0, import_jsx_runtime20.jsxs)(import_react_native40.View, {
|
|
140230
140231
|
style: styles.brandArea,
|
|
140231
|
-
children: [(0, import_jsx_runtime20.jsx)(
|
|
140232
|
+
children: [(0, import_jsx_runtime20.jsx)(import_react_native40.Pressable, {
|
|
140232
140233
|
accessibilityRole: "button",
|
|
140233
140234
|
onPress: () => onPress("202"),
|
|
140234
140235
|
onPressIn: handlePressIn,
|
|
140235
140236
|
onPressOut: handlePressOut,
|
|
140236
140237
|
style: styles.logoContainer,
|
|
140237
|
-
children: (0, import_jsx_runtime20.jsxs)(
|
|
140238
|
+
children: (0, import_jsx_runtime20.jsxs)(import_react_native40.View, {
|
|
140238
140239
|
style: [styles.logoWrapper, {
|
|
140239
140240
|
backgroundColor: colors.brandLogoBg
|
|
140240
140241
|
}],
|
|
140241
|
-
children: [brandLogoUri ? (0, import_jsx_runtime20.jsx)(
|
|
140242
|
+
children: [brandLogoUri ? (0, import_jsx_runtime20.jsx)(import_react_native40.Image, {
|
|
140242
140243
|
source: {
|
|
140243
140244
|
uri: brandLogoUri
|
|
140244
140245
|
},
|
|
140245
140246
|
style: styles.logoImage,
|
|
140246
140247
|
resizeMode: "cover"
|
|
140247
|
-
}) : null, (0, import_jsx_runtime20.jsx)(
|
|
140248
|
+
}) : null, (0, import_jsx_runtime20.jsx)(import_react_native40.View, {
|
|
140248
140249
|
style: [styles.logoOverlay, {
|
|
140249
140250
|
borderColor: colors.brandLogoBorder
|
|
140250
140251
|
}]
|
|
140251
140252
|
})]
|
|
140252
140253
|
})
|
|
140253
|
-
}), (0, import_jsx_runtime20.jsxs)(
|
|
140254
|
+
}), (0, import_jsx_runtime20.jsxs)(import_react_native40.View, {
|
|
140254
140255
|
style: styles.brandTextContainer,
|
|
140255
|
-
children: [(0, import_jsx_runtime20.jsx)(
|
|
140256
|
+
children: [(0, import_jsx_runtime20.jsx)(import_react_native40.Pressable, {
|
|
140256
140257
|
accessibilityRole: "button",
|
|
140257
140258
|
onPress: () => onPress("103"),
|
|
140258
140259
|
onPressIn: handlePressIn,
|
|
140259
140260
|
onPressOut: handlePressOut,
|
|
140260
|
-
children: (0, import_jsx_runtime20.jsx)(
|
|
140261
|
+
children: (0, import_jsx_runtime20.jsx)(import_react_native40.Text, {
|
|
140261
140262
|
numberOfLines: 1,
|
|
140262
140263
|
style: [styles.brandName, {
|
|
140263
140264
|
color: colors.brandName
|
|
140264
140265
|
}],
|
|
140265
140266
|
children: brandName
|
|
140266
140267
|
})
|
|
140267
|
-
}), isAdBadgeEnabled ? (0, import_jsx_runtime20.jsx)(
|
|
140268
|
+
}), isAdBadgeEnabled ? (0, import_jsx_runtime20.jsx)(import_react_native40.Text, {
|
|
140268
140269
|
numberOfLines: 1,
|
|
140269
140270
|
style: [styles.adBadge, {
|
|
140270
140271
|
color: colors.adBadge
|
|
@@ -140272,25 +140273,25 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140272
140273
|
children: "\uAD11\uACE0"
|
|
140273
140274
|
}) : null]
|
|
140274
140275
|
})]
|
|
140275
|
-
}), (0, import_jsx_runtime20.jsxs)(
|
|
140276
|
+
}), (0, import_jsx_runtime20.jsxs)(import_react_native40.View, {
|
|
140276
140277
|
style: styles.textArea,
|
|
140277
|
-
children: [(0, import_jsx_runtime20.jsx)(
|
|
140278
|
+
children: [(0, import_jsx_runtime20.jsx)(import_react_native40.Pressable, {
|
|
140278
140279
|
accessibilityRole: "button",
|
|
140279
140280
|
onPress: () => onPress("101"),
|
|
140280
140281
|
onPressIn: handlePressIn,
|
|
140281
140282
|
onPressOut: handlePressOut,
|
|
140282
|
-
children: (0, import_jsx_runtime20.jsx)(
|
|
140283
|
+
children: (0, import_jsx_runtime20.jsx)(import_react_native40.Text, {
|
|
140283
140284
|
style: [styles.title, {
|
|
140284
140285
|
color: colors.title
|
|
140285
140286
|
}],
|
|
140286
140287
|
children: title
|
|
140287
140288
|
})
|
|
140288
|
-
}), (0, import_jsx_runtime20.jsx)(
|
|
140289
|
+
}), (0, import_jsx_runtime20.jsx)(import_react_native40.Pressable, {
|
|
140289
140290
|
accessibilityRole: "button",
|
|
140290
140291
|
onPress: () => onPress("102"),
|
|
140291
140292
|
onPressIn: handlePressIn,
|
|
140292
140293
|
onPressOut: handlePressOut,
|
|
140293
|
-
children: (0, import_jsx_runtime20.jsx)(
|
|
140294
|
+
children: (0, import_jsx_runtime20.jsx)(import_react_native40.Text, {
|
|
140294
140295
|
style: [styles.subtitle, {
|
|
140295
140296
|
color: colors.subtitle
|
|
140296
140297
|
}],
|
|
@@ -140298,17 +140299,17 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140298
140299
|
})
|
|
140299
140300
|
})]
|
|
140300
140301
|
})]
|
|
140301
|
-
}), (0, import_jsx_runtime20.jsxs)(
|
|
140302
|
+
}), (0, import_jsx_runtime20.jsxs)(import_react_native40.View, {
|
|
140302
140303
|
style: styles.card,
|
|
140303
|
-
children: [(0, import_jsx_runtime20.jsx)(
|
|
140304
|
+
children: [(0, import_jsx_runtime20.jsx)(import_react_native40.Pressable, {
|
|
140304
140305
|
accessibilityRole: "button",
|
|
140305
140306
|
onPress: () => onPress("201"),
|
|
140306
140307
|
onPressIn: handlePressIn,
|
|
140307
140308
|
onPressOut: handlePressOut,
|
|
140308
140309
|
style: styles.imageButton,
|
|
140309
|
-
children: (0, import_jsx_runtime20.jsx)(
|
|
140310
|
+
children: (0, import_jsx_runtime20.jsx)(import_react_native40.View, {
|
|
140310
140311
|
style: styles.imageContainer,
|
|
140311
|
-
children: mainImageUri ? (0, import_jsx_runtime20.jsx)(
|
|
140312
|
+
children: mainImageUri ? (0, import_jsx_runtime20.jsx)(import_react_native40.Image, {
|
|
140312
140313
|
source: {
|
|
140313
140314
|
uri: mainImageUri
|
|
140314
140315
|
},
|
|
@@ -140316,7 +140317,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140316
140317
|
resizeMode: "cover"
|
|
140317
140318
|
}) : null
|
|
140318
140319
|
})
|
|
140319
|
-
}), (0, import_jsx_runtime20.jsxs)(
|
|
140320
|
+
}), (0, import_jsx_runtime20.jsxs)(import_react_native40.Pressable, {
|
|
140320
140321
|
accessibilityRole: "button",
|
|
140321
140322
|
onPress: () => onPress("0"),
|
|
140322
140323
|
onPressIn: handlePressIn,
|
|
@@ -140324,7 +140325,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140324
140325
|
style: [styles.cta, {
|
|
140325
140326
|
backgroundColor: resolvedCtaBackground
|
|
140326
140327
|
}],
|
|
140327
|
-
children: [(0, import_jsx_runtime20.jsx)(
|
|
140328
|
+
children: [(0, import_jsx_runtime20.jsx)(import_react_native40.Text, {
|
|
140328
140329
|
style: [styles.ctaText, {
|
|
140329
140330
|
color: resolvedCtaTextColor
|
|
140330
140331
|
}],
|
|
@@ -140338,12 +140339,12 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140338
140339
|
fill: resolvedCtaTextColor
|
|
140339
140340
|
})
|
|
140340
140341
|
})]
|
|
140341
|
-
}), (0, import_jsx_runtime20.jsx)(
|
|
140342
|
+
}), (0, import_jsx_runtime20.jsx)(import_react_native40.View, {
|
|
140342
140343
|
style: [styles.cardOverlay, {
|
|
140343
140344
|
borderColor: colors.imageOverlayBorder
|
|
140344
140345
|
}]
|
|
140345
140346
|
})]
|
|
140346
|
-
}), adClearanceText ? (0, import_jsx_runtime20.jsx)(
|
|
140347
|
+
}), adClearanceText ? (0, import_jsx_runtime20.jsx)(import_react_native40.Text, {
|
|
140347
140348
|
style: [styles.adClearance, {
|
|
140348
140349
|
color: colors.adClearance
|
|
140349
140350
|
}],
|
|
@@ -140352,7 +140353,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140352
140353
|
})
|
|
140353
140354
|
});
|
|
140354
140355
|
}
|
|
140355
|
-
var styles =
|
|
140356
|
+
var styles = import_react_native40.StyleSheet.create({
|
|
140356
140357
|
pressable: {
|
|
140357
140358
|
width: "100%"
|
|
140358
140359
|
},
|
|
@@ -140391,7 +140392,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140391
140392
|
borderRadius: 18
|
|
140392
140393
|
},
|
|
140393
140394
|
logoOverlay: {
|
|
140394
|
-
...
|
|
140395
|
+
...import_react_native40.StyleSheet.absoluteFillObject,
|
|
140395
140396
|
borderWidth: 1,
|
|
140396
140397
|
borderRadius: 18
|
|
140397
140398
|
},
|
|
@@ -140454,7 +140455,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140454
140455
|
lineHeight: 22.5
|
|
140455
140456
|
},
|
|
140456
140457
|
cardOverlay: {
|
|
140457
|
-
...
|
|
140458
|
+
...import_react_native40.StyleSheet.absoluteFillObject,
|
|
140458
140459
|
borderWidth: 2,
|
|
140459
140460
|
borderRadius: 12,
|
|
140460
140461
|
pointerEvents: "none"
|
|
@@ -140467,7 +140468,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140467
140468
|
});
|
|
140468
140469
|
var import_react_native_svg2 = _$$_REQUIRE(_dependencyMap[20], "@granite-js/native/react-native-svg");
|
|
140469
140470
|
var import_react30 = _$$_REQUIRE(_dependencyMap[9], "react");
|
|
140470
|
-
var
|
|
140471
|
+
var import_react_native41 = _$$_REQUIRE(_dependencyMap[8], "react-native");
|
|
140471
140472
|
var import_jsx_runtime21 = _$$_REQUIRE(_dependencyMap[10], "react/jsx-runtime");
|
|
140472
140473
|
var SQUIRCLE_PATH = "M0 17.352C0 3.564 3.564 0 17.352 0H18.648C32.436 0 36 3.564 36 17.352V18.648C36 32.436 32.436 36 18.648 36H17.352C3.564 36 0 32.436 0 18.648V17.352Z";
|
|
140473
140474
|
function ListBannerAdView({
|
|
@@ -140480,13 +140481,13 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140480
140481
|
colors,
|
|
140481
140482
|
onPress
|
|
140482
140483
|
}) {
|
|
140483
|
-
var scale = (0, import_react30.useRef)(new
|
|
140484
|
+
var scale = (0, import_react30.useRef)(new import_react_native41.Animated.Value(1)).current;
|
|
140484
140485
|
var clipIdRef = (0, import_react30.useRef)(`clip-${Math.random().toString(36).slice(2)}`);
|
|
140485
140486
|
var animateScale = toValue => {
|
|
140486
|
-
|
|
140487
|
+
import_react_native41.Animated.timing(scale, {
|
|
140487
140488
|
toValue,
|
|
140488
140489
|
duration: 100,
|
|
140489
|
-
easing:
|
|
140490
|
+
easing: import_react_native41.Easing.inOut(import_react_native41.Easing.ease),
|
|
140490
140491
|
useNativeDriver: true
|
|
140491
140492
|
}).start();
|
|
140492
140493
|
};
|
|
@@ -140496,21 +140497,21 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140496
140497
|
var handlePressOut = () => {
|
|
140497
140498
|
animateScale(1);
|
|
140498
140499
|
};
|
|
140499
|
-
return (0, import_jsx_runtime21.jsx)(
|
|
140500
|
+
return (0, import_jsx_runtime21.jsx)(import_react_native41.Pressable, {
|
|
140500
140501
|
accessibilityRole: "button",
|
|
140501
140502
|
onPress: () => onPress(null),
|
|
140502
140503
|
onPressIn: handlePressIn,
|
|
140503
140504
|
onPressOut: handlePressOut,
|
|
140504
140505
|
style: styles2.pressable,
|
|
140505
|
-
children: (0, import_jsx_runtime21.jsxs)(
|
|
140506
|
+
children: (0, import_jsx_runtime21.jsxs)(import_react_native41.Animated.View, {
|
|
140506
140507
|
style: [styles2.container, paddingStyle, {
|
|
140507
140508
|
transform: [{
|
|
140508
140509
|
scale
|
|
140509
140510
|
}]
|
|
140510
140511
|
}],
|
|
140511
|
-
children: [(0, import_jsx_runtime21.jsxs)(
|
|
140512
|
+
children: [(0, import_jsx_runtime21.jsxs)(import_react_native41.View, {
|
|
140512
140513
|
style: styles2.titleRow,
|
|
140513
|
-
children: [(0, import_jsx_runtime21.jsx)(
|
|
140514
|
+
children: [(0, import_jsx_runtime21.jsx)(import_react_native41.Pressable, {
|
|
140514
140515
|
accessibilityRole: "button",
|
|
140515
140516
|
onPress: () => onPress("202"),
|
|
140516
140517
|
onPressIn: handlePressIn,
|
|
@@ -140546,25 +140547,25 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140546
140547
|
clipPath: `url(#${clipIdRef.current})`
|
|
140547
140548
|
})]
|
|
140548
140549
|
})
|
|
140549
|
-
}), (0, import_jsx_runtime21.jsxs)(
|
|
140550
|
+
}), (0, import_jsx_runtime21.jsxs)(import_react_native41.View, {
|
|
140550
140551
|
style: styles2.textWrapper,
|
|
140551
|
-
children: [(0, import_jsx_runtime21.jsx)(
|
|
140552
|
+
children: [(0, import_jsx_runtime21.jsx)(import_react_native41.Pressable, {
|
|
140552
140553
|
accessibilityRole: "button",
|
|
140553
140554
|
onPress: () => onPress("101"),
|
|
140554
140555
|
onPressIn: handlePressIn,
|
|
140555
140556
|
onPressOut: handlePressOut,
|
|
140556
|
-
children: (0, import_jsx_runtime21.jsx)(
|
|
140557
|
+
children: (0, import_jsx_runtime21.jsx)(import_react_native41.Text, {
|
|
140557
140558
|
style: [styles2.title, {
|
|
140558
140559
|
color: colors.title
|
|
140559
140560
|
}],
|
|
140560
140561
|
children: title
|
|
140561
140562
|
})
|
|
140562
|
-
}), (0, import_jsx_runtime21.jsx)(
|
|
140563
|
+
}), (0, import_jsx_runtime21.jsx)(import_react_native41.Pressable, {
|
|
140563
140564
|
accessibilityRole: "button",
|
|
140564
140565
|
onPress: () => onPress("102"),
|
|
140565
140566
|
onPressIn: handlePressIn,
|
|
140566
140567
|
onPressOut: handlePressOut,
|
|
140567
|
-
children: (0, import_jsx_runtime21.jsx)(
|
|
140568
|
+
children: (0, import_jsx_runtime21.jsx)(import_react_native41.Text, {
|
|
140568
140569
|
style: [styles2.subtitle, {
|
|
140569
140570
|
color: colors.subtitle
|
|
140570
140571
|
}],
|
|
@@ -140572,7 +140573,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140572
140573
|
})
|
|
140573
140574
|
})]
|
|
140574
140575
|
})]
|
|
140575
|
-
}), adClearanceText ? (0, import_jsx_runtime21.jsx)(
|
|
140576
|
+
}), adClearanceText ? (0, import_jsx_runtime21.jsx)(import_react_native41.Text, {
|
|
140576
140577
|
style: [styles2.adClearance, {
|
|
140577
140578
|
color: colors.adClearance,
|
|
140578
140579
|
fontSize: adClearanceFontSize,
|
|
@@ -140583,7 +140584,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140583
140584
|
})
|
|
140584
140585
|
});
|
|
140585
140586
|
}
|
|
140586
|
-
var styles2 =
|
|
140587
|
+
var styles2 = import_react_native41.StyleSheet.create({
|
|
140587
140588
|
pressable: {
|
|
140588
140589
|
width: "100%"
|
|
140589
140590
|
},
|
|
@@ -140820,7 +140821,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140820
140821
|
onNoFill
|
|
140821
140822
|
});
|
|
140822
140823
|
var isMountedRef = (0, import_react31.useRef)(false);
|
|
140823
|
-
var colorScheme = (0,
|
|
140824
|
+
var colorScheme = (0, import_react_native43.useColorScheme)();
|
|
140824
140825
|
var selectedTheme = theme ?? DEFAULT_INLINE_AD_THEME;
|
|
140825
140826
|
var resolvedTheme = selectedTheme === "auto" ? colorScheme === "dark" ? "dark" : "light" : selectedTheme;
|
|
140826
140827
|
var resolvedTone = tone ?? DEFAULT_INLINE_AD_TONE;
|
|
@@ -140903,7 +140904,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
140903
140904
|
loadRef.current = null;
|
|
140904
140905
|
};
|
|
140905
140906
|
}, [adGroupId]);
|
|
140906
|
-
(0,
|
|
140907
|
+
(0, import_react_native42.useVisibilityChange)(documentVisibility => {
|
|
140907
140908
|
if (documentVisibility !== "visible") {
|
|
140908
140909
|
return;
|
|
140909
140910
|
}
|
|
@@ -141001,23 +141002,23 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
141001
141002
|
callbacksRef.current.onAdClicked?.(basePayload);
|
|
141002
141003
|
}
|
|
141003
141004
|
};
|
|
141004
|
-
return (0, import_jsx_runtime22.jsx)(
|
|
141005
|
+
return (0, import_jsx_runtime22.jsx)(import_react_native42.ImpressionArea, {
|
|
141005
141006
|
style: styles3.impressionArea,
|
|
141006
141007
|
onImpressionStart: handleImpression1px,
|
|
141007
141008
|
areaThreshold: 0,
|
|
141008
141009
|
UNSAFE__impressFallbackOnMount: Boolean(impressFallbackOnMount),
|
|
141009
|
-
children: (0, import_jsx_runtime22.jsx)(
|
|
141010
|
+
children: (0, import_jsx_runtime22.jsx)(import_react_native42.ImpressionArea, {
|
|
141010
141011
|
onImpressionStart: handleImpression100p,
|
|
141011
141012
|
areaThreshold: 1,
|
|
141012
141013
|
UNSAFE__impressFallbackOnMount: Boolean(impressFallbackOnMount),
|
|
141013
|
-
children: (0, import_jsx_runtime22.jsx)(
|
|
141014
|
+
children: (0, import_jsx_runtime22.jsx)(import_react_native42.ImpressionArea, {
|
|
141014
141015
|
onImpressionStart: handleViewableStart,
|
|
141015
141016
|
onImpressionEnd: handleViewableEnd,
|
|
141016
141017
|
areaThreshold: 0.5,
|
|
141017
141018
|
UNSAFE__impressFallbackOnMount: Boolean(impressFallbackOnMount),
|
|
141018
|
-
children: (0, import_jsx_runtime22.jsx)(
|
|
141019
|
+
children: (0, import_jsx_runtime22.jsx)(import_react_native43.View, {
|
|
141019
141020
|
style: [styles3.wrapper, resolvedVariant === "card" && styles3.cardWrapper],
|
|
141020
|
-
children: (0, import_jsx_runtime22.jsxs)(
|
|
141021
|
+
children: (0, import_jsx_runtime22.jsxs)(import_react_native43.View, {
|
|
141021
141022
|
style: [styles3.surface, {
|
|
141022
141023
|
backgroundColor
|
|
141023
141024
|
}, resolvedVariant === "card" && styles3.cardSurface],
|
|
@@ -141051,7 +141052,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
141051
141052
|
})
|
|
141052
141053
|
}, impressionKey);
|
|
141053
141054
|
}
|
|
141054
|
-
var styles3 =
|
|
141055
|
+
var styles3 = import_react_native43.StyleSheet.create({
|
|
141055
141056
|
impressionArea: {
|
|
141056
141057
|
width: "100%"
|
|
141057
141058
|
},
|
|
@@ -213650,7 +213651,7 @@ __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, e
|
|
|
213650
213651
|
}
|
|
213651
213652
|
\`;document.head.appendChild(e);})();
|
|
213652
213653
|
`,
|
|
213653
|
-
m = '"use strict";(()=>{var de=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},h=new de,B=()=>Math.random().toString(36).substring(2,15),G=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=B(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(h.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(h.on(`${e}/reject/${r}`,i=>{o(),a(G(i))})),h.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function x(e){return t=>{let r=B(),n=[h.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),h.on(`${e}/onError/${r}`,o=>{t.onError(G(o))})];return h.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{h.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function g(e){return()=>h.getConstant(e)}var ue=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=ue());var Xe=d("closeView"),Ye=d("generateHapticFeedback"),Ze=d("share"),Qe=d("setSecureScreen"),et=d("setScreenAwakeMode"),tt=d("getNetworkStatus"),rt=d("setIosSwipeGestureEnabled"),nt=d("openURL"),ot=d("openPermissionDialog"),st=d("getPermission"),at=d("requestPermission"),it=g("setClipboardText"),ct=g("getClipboardText"),dt=g("fetchContacts"),ut=g("fetchAlbumPhotos"),pt=g("getCurrentLocation"),mt=g("openCamera"),lt=d("appLogin"),gt=d("eventLog"),ft=d("getTossShareLink"),vt=d("setDeviceOrientation"),ht=d("checkoutPayment"),wt=d("saveBase64Data"),Et=d("appsInTossSignTossCert"),bt=d("getGameCenterGameProfile"),At=d("openGameCenterLeaderboard"),St=d("submitGameCenterLeaderBoardScore"),_t=d("getUserKeyForGame"),Ct=d("grantPromotionRewardForGame"),Tt=d("getIsTossLoginIntegratedService"),It=d("getServerTime"),yt=g("getLocale"),Lt=g("getSchemeUri"),xt=g("getPlatformOS"),Rt=g("getOperationalEnvironment"),Pt=g("getTossAppVersion"),Dt=g("getDeviceId"),Nt=g("getGroupId"),Mt=x("contactsViral"),Ft=x("startUpdateLocation"),kt=x("onVisibilityChangedByTransparentServiceWeb");var _=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},V=class extends _{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},H=class extends _{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},U=class extends _{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var k=class extends _{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},q=k,z=class extends _{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},$=class extends _{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var pe=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},w=new pe,te=()=>Math.random().toString(36).substring(2,15),re=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=te(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(w.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(w.on(`${e}/reject/${r}`,i=>{o(),a(re(i))})),w.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function E(e){return t=>{let r=te(),n=[w.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),w.on(`${e}/onError/${r}`,o=>{t.onError(re(o))})];return w.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{w.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>w.getConstant(e)}var Wt={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},me=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,W=e=>["*","x","X"].includes(e),j=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},le=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],ge=(e,t)=>{if(W(e)||W(t))return 0;let[r,n]=le(j(e),j(t));return r>n?1:r<n?-1:0},K=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(me);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},J=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=ge(o,s);if(a!==0)return a}return 0},fe=(e,t)=>{let r=K(e),n=K(t),o=r.pop(),s=n.pop(),a=J(r,n);return a!==0?a:o&&s?J(o.split("."),s.split(".")):o?-1:s?1:0};function O(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:fe(r,o)>=0}function X(e){return c("processProductGrant")(e)}var jt={createOneTimePurchaseOrder:e=>{let t=O({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=O({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?E("requestOneTimePurchase")({options:{sku:i},onEvent:async l=>{if(l.type==="purchased"){let m=await o.processProductGrant({orderId:l.data.orderId});await X({orderId:l.data.orderId,isProductGranted:m}).catch(a)}else s(l)},onError:l=>{a(l)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(m=>{Promise.resolve(o.processProductGrant({orderId:m.orderId})).then(()=>{s({type:"success",data:m})}).catch(f=>{a(f)})}).catch(m=>{a(m)}),r)},createSubscriptionPurchaseOrder:e=>{let t=O({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:u}=n;return E("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async m=>{if(m.type==="purchased"){let f=await u({orderId:m.data.orderId,subscriptionId:m.data.subscriptionId});await X({orderId:m.data.orderId,isProductGranted:f}).catch(s)}else o(m)},onError:m=>{s(m)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant")},Kt=p("getSafeAreaInsets");var Jt=p("getSafeAreaInsets");var Xt={loadAppsInTossAdMob:Object.assign(E("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(E("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var Yt={getDeploymentId:p("getDeploymentId")},Zt=p("deploymentId"),Qt=p("brandDisplayName"),er=p("brandIcon"),tr=p("brandPrimaryColor");var rr={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},ve=c("requestPermission"),he=c("getPermission"),we=c("openPermissionDialog");function C({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await ve(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>he(e),n.openPermissionDialog=()=>we(e),n}var or=C({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:V}),ar=C({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:H}),cr=C({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:k}),ur=C({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:U}),mr=C({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:$}),gr=C({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:z}),Ee=c("getPermission"),be=c("openPermissionDialog"),ne=e=>E("updateLocationEvent")({...e,onError:t=>{let r=new q;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ne.getPermission=()=>Ee({name:"geolocation",access:"access"});ne.openPermissionDialog=()=>be({name:"geolocation",access:"access"});var vr=Object.assign(E("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),hr=Object.assign(E("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),Ae=c("openURL");function Se(e){let t=_e(e);return Ae(t)}function _e(e){return["http://","https://"].some(r=>e.startsWith(r))?Ce(e):e}function Ce(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var Y="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",Z=15e3,R=null;function S(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Te(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=S();if(e)return Promise.resolve(e);if(R)return R;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(u),R=null},a=()=>{let l=S();if(l){s(),r(l);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${Y}.`))},u=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${Z}ms.`))},Z);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=Y,document.head.appendChild(o)});return R=t,t}var A=Object.assign(E("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Ie=c("tossAdEventLog"),ye=new Set(["1","2"]);function Le(e){return new Promise((t,r)=>{if(!A.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}return A({options:e,onEvent:t,onError:r})})}function Q(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>ye.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function xe(e){return Re(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:Q(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:Pe(e)?{resultType:"SUCCESS",success:Q(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Re(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function Pe(e){return!!(e&&typeof e=="object"&&"ads"in e)}function De(){return async(e,t)=>{try{let r=await Le({adGroupId:t.spaceUnitId,sdkId:"108",availableStyleIds:["1","2"]});return xe(r)}catch(r){return{resultType:"FAIL",error:{reason:r instanceof Error?r.message:"Unknown fetchTossAd error"}}}}}var L=null;function Ne(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(S()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Te().then(a=>{if(a.isInitialized())return;let u={environment:"live",customAdFetcher:De(),opener:Se};a.init(u)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function Me(e,t,r={}){let{callbacks:n}=r,o=s=>{let a=s instanceof Error?s:new Error(String(s));n?.onAdFailedToRender?.({slotId:"",adGroupId:e,adMetadata:{},error:{code:0,message:a.message}})};try{let s=e,a=S();if(!a)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!a.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let i=typeof t=="string"?document.querySelector(t):t;if(!i)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let u={spaceId:s,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:oe(e,r.callbacks)};a.banner.createSlot(i,u)}catch(s){o(s)}}var Fe="16px 20px",ke="20px",Oe="auto",Be="blackAndWhite",Ge="expanded",v="toss-ads-attach",ee="toss-ads-attach-style";function Ve(e){let t=e.ownerDocument;if(!t||t.getElementById(ee))return;let r=t.createElement("style");r.id=ee,r.textContent=`\n .${v} { background: #ffffff; }\n .${v}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${v} { background: #17171c; }\n .${v}.toss-ads-tone-grey { background: #101013; }\n }\n .${v}.toss-ads-theme-light { background: #ffffff; }\n .${v}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${v}.toss-ads-theme-dark { background: #17171c; }\n .${v}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function He(e,t,r={}){let{callbacks:n,theme:o=Oe,tone:s=Be,variant:a=Ge}=r,i=document.createElement("div");i.style.width="100%",i.style.height="100%",i.style.boxSizing="border-box",i.style.display="flex",i.style.flexDirection="column",i.style.justifyContent="center",i.style.overflow="hidden",a==="card"&&(i.style.padding="0 10px");let u=document.createElement("div");u.classList.add(v),s==="grey"&&u.classList.add("toss-ads-tone-grey"),o==="light"?u.classList.add("toss-ads-theme-light"):o==="dark"&&u.classList.add("toss-ads-theme-dark"),a==="card"&&(u.style.borderRadius="16px",u.style.overflow="hidden"),i.appendChild(u);let l=!1,m=null,f=b=>{let y=b instanceof Error?b:new Error(String(b));n?.onAdFailedToRender?.({slotId:"",adGroupId:e,adMetadata:{},error:{code:0,message:y.message}})},ae=oe(e,n);try{let b=e,y=S();if(!y)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!y.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let F=typeof t=="string"?document.querySelector(t):t;if(!F)throw new Error(`[toss-ad] Failed to find target element: ${t}`);Ve(F),F.appendChild(i),l=!0;let ie={spaceId:b,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:ce=>ce==="1"?Fe:ke,callbacks:ae};m=y.banner.createSlot(u,ie)}catch(b){l&&i.parentNode&&i.parentNode.removeChild(i),f(b)}return{destroy(){m?.destroy(),l&&i.parentNode&&i.parentNode.removeChild(i)}}}function Ue(e){let t=S();t?.banner&&t.banner.destroy(e)}function qe(){let e=S();e?.banner&&e.banner.destroyAll()}function oe(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Ie({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var wr={initialize:Object.assign(Ne,{isSupported:A.isSupported}),attach:Object.assign(Me,{isSupported:A.isSupported}),attachBanner:Object.assign(He,{isSupported:A.isSupported}),destroy:Object.assign(Ue,{isSupported:A.isSupported}),destroyAll:Object.assign(qe,{isSupported:A.isSupported})},Er=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")});var P=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var D=class{callbacks={};on(t,r){typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r)}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new D,debugLogger:new P};var T=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function N(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),N(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!T.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let l=i.headers.get("ETag"),m=i.headers.get("Last-Modified");l&&s.headers.set("If-None-Match",l),m&&s.headers.set("If-Modified-Since",m);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let u=await r.call(n,s);return a.put(s,u.clone()),u})})();N(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});var se=window.__appsInToss.debugLogger;se.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};se.log("load_complete",{isNavigationDebugSupported:r,...n})});function I(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:I(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:I(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:I(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;function e(t){let r=t.getContext("webgl2")??t.getContext("webgl");if(r==null)return;let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})}window.addEventListener("load",()=>{let t=document.querySelector("#unity-canvas");if(t!=null){e(t);return}new MutationObserver((n,o)=>{for(let s of n)s.type==="childList"&&s.addedNodes.forEach(a=>{if(a instanceof HTMLCanvasElement&&a.getAttribute("id")==="unity-canvas"&&(e(a),o.disconnect()),a instanceof HTMLElement){let i=a.querySelector("#unity-canvas");i!=null&&(e(i),o.disconnect())}})}).observe(document.body,{childList:!0,subtree:!0})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{T.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!T.test(n.url))return;let a=await s.clone().blob().then(u=>I(u.size/1024,2)).catch(u=>(r({request:n,requestAt:o,error:u}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{T.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var M=[];function ze(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){M.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function $e(){if(M.length===0)return;let e=M;M=[];let t=We(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function We(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>ze(),1e3);setInterval(()=>$e(),3e5);})();\n';
|
|
213654
|
+
m = '"use strict";(()=>{var de=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},h=new de,O=()=>Math.random().toString(36).substring(2,15),B=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function d(e){return(...t)=>{let r=O(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(h.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(h.on(`${e}/reject/${r}`,i=>{o(),a(B(i))})),h.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function R(e){return t=>{let r=O(),n=[h.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),h.on(`${e}/onError/${r}`,o=>{t.onError(B(o))})];return h.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{h.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function g(e){return()=>h.getConstant(e)}var ue=function(){return{emit:function(t,r){for(var n=this.events[t]||[],o=0,s=n.length;o<s;o++)n[o](r)},events:{},on:function(t,r){var n=this,o,s;return((o=this.events)[s=t]||(o[s]=[])).push(r),function(){var a;n.events[t]=(a=n.events[t])===null||a===void 0?void 0:a.filter(function(i){return r!==i})}}}};typeof window<"u"&&(window.__GRANITE_NATIVE_EMITTER=ue());var Xe=d("closeView"),Ye=d("generateHapticFeedback"),Ze=d("share"),Qe=d("setSecureScreen"),et=d("setScreenAwakeMode"),tt=d("getNetworkStatus"),rt=d("setIosSwipeGestureEnabled"),nt=d("openURL"),ot=d("openPermissionDialog"),st=d("getPermission"),at=d("requestPermission"),it=g("setClipboardText"),ct=g("getClipboardText"),dt=g("fetchContacts"),ut=g("fetchAlbumPhotos"),pt=g("getCurrentLocation"),mt=g("openCamera"),lt=d("appLogin"),gt=d("eventLog"),ft=d("getTossShareLink"),vt=d("setDeviceOrientation"),ht=d("checkoutPayment"),wt=d("saveBase64Data"),Et=d("appsInTossSignTossCert"),bt=d("getGameCenterGameProfile"),At=d("openGameCenterLeaderboard"),_t=d("submitGameCenterLeaderBoardScore"),St=d("getUserKeyForGame"),Ct=d("grantPromotionRewardForGame"),It=d("getIsTossLoginIntegratedService"),Tt=d("getServerTime"),yt=g("getLocale"),Lt=g("getSchemeUri"),Rt=g("getPlatformOS"),Pt=g("getOperationalEnvironment"),xt=g("getTossAppVersion"),Dt=g("getDeviceId"),Nt=g("getGroupId"),Mt=R("contactsViral"),Ft=R("startUpdateLocation"),kt=R("onVisibilityChangedByTransparentServiceWeb");var S=class extends Error{constructor({methodName:e,message:t}){super(),this.name=`${e} permission error`,this.message=t}},V=class extends S{constructor(){super({methodName:"fetchAlbumPhotos",message:"\\uC0AC\\uC9C4\\uCCA9 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},H=class extends S{constructor(){super({methodName:"fetchContacts",message:"\\uC5F0\\uB77D\\uCC98 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},U=class extends S{constructor(){super({methodName:"openCamera",message:"\\uCE74\\uBA54\\uB77C \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var k=class extends S{constructor(){super({methodName:"getCurrentLocation",message:"\\uC704\\uCE58 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},W=k,z=class extends S{constructor(){super({methodName:"getClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC77D\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}},$=class extends S{constructor(){super({methodName:"setClipboardText",message:"\\uD074\\uB9BD\\uBCF4\\uB4DC \\uC4F0\\uAE30 \\uAD8C\\uD55C\\uC774 \\uAC70\\uBD80\\uB418\\uC5C8\\uC5B4\\uC694."})}};var pe=class{get _window(){return typeof window<"u"?window:{ReactNativeWebView:{postMessage:()=>{}},__GRANITE_NATIVE_EMITTER:{on:()=>()=>{}},__CONSTANT_HANDLER_MAP:{}}}postMessage(e){let t=this._window.ReactNativeWebView;if(!t)throw new Error("ReactNativeWebView is not available in browser environment");t.postMessage(JSON.stringify(e))}on(e,t){let r=this._window.__GRANITE_NATIVE_EMITTER;if(!r)throw new Error("__GRANITE_NATIVE_EMITTER is not available");return r.on(e,t)}getConstant(e){let t=this._window.__CONSTANT_HANDLER_MAP;if(t&&e in t)return t[e];throw new Error(`${e} is not a constant handler`)}},w=new pe,te=()=>Math.random().toString(36).substring(2,15),re=e=>{if(e&&e.__isError){let t=new Error(e.message);for(let[r,n]of Object.entries(e))t[r]=n;return t}return e};function c(e){return(...t)=>{let r=te(),n=[],o=()=>{for(let s of n)s()};return new Promise((s,a)=>{n.push(w.on(`${e}/resolve/${r}`,i=>{o(),s(i)})),n.push(w.on(`${e}/reject/${r}`,i=>{o(),a(re(i))})),w.postMessage({type:"method",functionName:e,eventId:r,args:t})})}}function E(e){return t=>{let r=te(),n=[w.on(`${e}/onEvent/${r}`,o=>{t.onEvent(o)}),w.on(`${e}/onError/${r}`,o=>{t.onError(re(o))})];return w.postMessage({type:"addEventListener",functionName:e,eventId:r,args:t.options}),()=>{w.postMessage({type:"removeEventListener",functionName:e,eventId:r}),n.forEach(o=>o())}}}function p(e){return()=>w.getConstant(e)}var qt={getItem:c("getStorageItem"),setItem:c("setStorageItem"),removeItem:c("removeStorageItem"),clearItems:c("clearItems")},me=/^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*))?(?:\\+[\\da-z\\\\-]+(?:\\.[\\da-z\\\\-]+)*)?)?)?$/i,q=e=>["*","x","X"].includes(e),j=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},le=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],ge=(e,t)=>{if(q(e)||q(t))return 0;let[r,n]=le(j(e),j(t));return r>n?1:r<n?-1:0},K=e=>{if(typeof e!="string")throw new TypeError("Invalid argument: expected a string");let t=e.match(me);if(!t)throw new Error(`Invalid semver: \'${e}\'`);let[,r,n,o,s,a]=t;return[r,n,o,s,a]},J=(e,t)=>{let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n]??"0",s=t[n]??"0",a=ge(o,s);if(a!==0)return a}return 0},fe=(e,t)=>{let r=K(e),n=K(t),o=r.pop(),s=n.pop(),a=J(r,n);return a!==0?a:o&&s?J(o.split("."),s.split(".")):o?-1:s?1:0};function G(e){if(p("getOperationalEnvironment")()==="sandbox")return!0;let r=p("getTossAppVersion")(),o=p("getPlatformOS")()==="ios"?e.ios:e.android;return o===void 0?!1:o==="always"?!0:o==="never"?!1:fe(r,o)>=0}function X(e){return c("processProductGrant")(e)}var jt={createOneTimePurchaseOrder:e=>{let t=G({android:"5.219.0",ios:"5.219.0"}),r=()=>{};if(!t)return r;let n=G({android:"5.231.1",ios:"5.230.0"}),{options:o,onEvent:s,onError:a}=e,i=o.sku??o.productId;return n?E("requestOneTimePurchase")({options:{sku:i},onEvent:async l=>{if(l.type==="purchased"){let m=await o.processProductGrant({orderId:l.data.orderId});await X({orderId:l.data.orderId,isProductGranted:m}).catch(a)}else s(l)},onError:l=>{a(l)}}):(c("iapCreateOneTimePurchaseOrder")({productId:i}).then(m=>{Promise.resolve(o.processProductGrant({orderId:m.orderId})).then(()=>{s({type:"success",data:m})}).catch(f=>{a(f)})}).catch(m=>{a(m)}),r)},createSubscriptionPurchaseOrder:e=>{let t=G({android:"5.248.0",ios:"5.249.0"}),r=()=>{};if(!t)return r;let{options:n,onEvent:o,onError:s}=e,{sku:a,offerId:i,processProductGrant:u}=n;return E("requestSubscriptionPurchase")({options:{sku:a,offerId:i??null},onEvent:async m=>{if(m.type==="purchased"){let f=await u({orderId:m.data.orderId,subscriptionId:m.data.subscriptionId});await X({orderId:m.data.orderId,isProductGranted:f}).catch(s)}else o(m)},onError:m=>{s(m)}})},getProductItemList:c("iapGetProductItemList"),getPendingOrders:c("getPendingOrders"),getCompletedOrRefundedOrders:c("getCompletedOrRefundedOrders"),completeProductGrant:c("completeProductGrant")},Kt=p("getSafeAreaInsets");var Jt=p("getSafeAreaInsets");var Xt={loadAppsInTossAdMob:Object.assign(E("loadAppsInTossAdMob"),{isSupported:p("loadAppsInTossAdMob_isSupported")}),showAppsInTossAdMob:Object.assign(E("showAppsInTossAdMob"),{isSupported:p("showAppsInTossAdMob_isSupported")}),isAppsInTossAdMobLoaded:Object.assign(c("isAppsInTossAdMobLoaded"),{isSupported:p("isAppsInTossAdMobLoaded_isSupported")})};var Yt={getDeploymentId:p("getDeploymentId")},Zt=p("deploymentId"),Qt=p("brandDisplayName"),er=p("brandIcon"),tr=p("brandPrimaryColor");var rr={addAccessoryButton:c("addAccessoryButton"),removeAccessoryButton:c("removeAccessoryButton")},ve=c("requestPermission"),he=c("getPermission"),we=c("openPermissionDialog");function C({permission:e,handler:t,error:r}){let n=async(...o)=>{if(await ve(e)==="denied")throw new r;return t(...o)};return n.getPermission=()=>he(e),n.openPermissionDialog=()=>we(e),n}var or=C({handler:e=>c("fetchAlbumPhotos")(e),permission:{name:"photos",access:"read"},error:V}),ar=C({handler:e=>c("fetchContacts")(e),permission:{name:"contacts",access:"read"},error:H}),cr=C({handler:e=>c("getCurrentLocation")(e),permission:{name:"geolocation",access:"access"},error:k}),ur=C({handler:e=>c("openCamera")(e),permission:{name:"camera",access:"access"},error:U}),mr=C({handler:e=>c("setClipboardText")(e),permission:{name:"clipboard",access:"write"},error:$}),gr=C({handler:()=>c("getClipboardText")(),permission:{name:"clipboard",access:"read"},error:z}),Ee=c("getPermission"),be=c("openPermissionDialog"),ne=e=>E("updateLocationEvent")({...e,onError:t=>{let r=new W;return t instanceof Error&&t.name===r.name?e.onError(r):e.onError(t)}});ne.getPermission=()=>Ee({name:"geolocation",access:"access"});ne.openPermissionDialog=()=>be({name:"geolocation",access:"access"});var vr=Object.assign(E("loadFullScreenAd"),{isSupported:p("loadFullScreenAd_isSupported")}),hr=Object.assign(E("showFullScreenAd"),{isSupported:p("showFullScreenAd_isSupported")}),Ae=c("openURL");function _e(e){let t=Se(e);return Ae(t)}function Se(e){return["http://","https://"].some(r=>e.startsWith(r))?Ce(e):e}function Ce(e){return`supertoss://web?url=${encodeURIComponent(e)}&external=true`}var Y="https://static.toss.im/ads/sdk/toss-ads-space-kit-1.3.0.js",Z=15e3,P=null;function _(){if(!(typeof window>"u"))return window.TossAdsSpaceKit}function Ie(){if(typeof window>"u"||typeof document>"u")return Promise.reject(new Error("Ads SDK can only be loaded in a browser environment."));let e=_();if(e)return Promise.resolve(e);if(P)return P;let t=new Promise((r,n)=>{let o=document.createElement("script"),s=()=>{o.removeEventListener("load",a),o.removeEventListener("error",i),window.clearTimeout(u),P=null},a=()=>{let l=_();if(l){s(),r(l);return}s(),n(new Error("Ads SDK script loaded but window.TossAdsSpaceKit was not exposed."))},i=()=>{s(),n(new Error(`Failed to load Ads SDK script from ${Y}.`))},u=window.setTimeout(()=>{s(),n(new Error(`Loading Ads SDK timed out after ${Z}ms.`))},Z);o.addEventListener("load",a),o.addEventListener("error",i),o.async=!0,o.src=Y,document.head.appendChild(o)});return P=t,t}var A=Object.assign(E("fetchTossAd"),{isSupported:p("fetchTossAd_isSupported")}),Te=c("tossAdEventLog"),ye=new Set(["1","2"]);function Le(e){return new Promise((t,r)=>{if(!A.isSupported()){r(new Error("fetchTossAd is not supported in this environment."));return}return A({options:e,onEvent:t,onError:r})})}function Q(e){let t=Array.isArray(e.ads)?e.ads.filter(r=>ye.has(String(r.styleId))):[];return{requestId:e.requestId??"",status:e.status??"OK",ads:t,ext:e.ext}}function Re(e){return Pe(e)?e.resultType!=="SUCCESS"?e:e.success?{...e,success:Q(e.success)}:{resultType:"FAIL",error:{reason:"fetchTossAd returned SUCCESS without payload"}}:xe(e)?{resultType:"SUCCESS",success:Q(e)}:{resultType:"FAIL",error:{reason:"Invalid response from fetchTossAd"}}}function Pe(e){return!!(e&&typeof e=="object"&&"resultType"in e)}function xe(e){return!!(e&&typeof e=="object"&&"ads"in e)}function De(){return async(e,t)=>{try{let r=await Le({adGroupId:t.spaceUnitId,sdkId:"108",availableStyleIds:["1","2"]});return Re(r)}catch(r){return{resultType:"FAIL",error:{reason:r instanceof Error?r.message:"Unknown fetchTossAd error"}}}}}var L=null;function Ne(e){let{callbacks:t}=e,r=()=>t?.onInitialized?.(),n=a=>{let i=a instanceof Error?a:new Error(String(a));t?.onInitializationFailed?.(i)};if(_()?.isInitialized()){r();return}if(L!=null){L.then(r).catch(n);return}let s=Ie().then(a=>{if(a.isInitialized())return;let u={environment:"live",customAdFetcher:De(),opener:_e};a.init(u)});L=s,s.then(r).catch(n).finally(()=>{L===s&&(L=null)})}function Me(e,t,r={}){let{callbacks:n}=r,o=s=>{let a=s instanceof Error?s:new Error(String(s));n?.onAdFailedToRender?.({slotId:"",adGroupId:e,adMetadata:{},error:{code:0,message:a.message}})};try{let s=e,a=_();if(!a)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!a.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let i=typeof t=="string"?document.querySelector(t):t;if(!i)throw new Error(`[toss-ad] Failed to find target element: ${t}`);let u={spaceId:s,autoLoad:!0,theme:r.theme,padding:r.padding,callbacks:oe(e,r.callbacks)};a.banner.createSlot(i,u)}catch(s){o(s)}}var Fe="16px 20px",ke="20px",Ge="auto",Oe="blackAndWhite",Be="expanded",v="toss-ads-attach",ee="toss-ads-attach-style";function Ve(e){let t=e.ownerDocument;if(!t||t.getElementById(ee))return;let r=t.createElement("style");r.id=ee,r.textContent=`\n .${v} { background: #ffffff; }\n .${v}.toss-ads-tone-grey { background: #f2f4f7; }\n @media (prefers-color-scheme: dark) {\n .${v} { background: #17171c; }\n .${v}.toss-ads-tone-grey { background: #101013; }\n }\n .${v}.toss-ads-theme-light { background: #ffffff; }\n .${v}.toss-ads-theme-light.toss-ads-tone-grey { background: #f2f4f7; }\n .${v}.toss-ads-theme-dark { background: #17171c; }\n .${v}.toss-ads-theme-dark.toss-ads-tone-grey { background: #101013; }\n `;let n=t.head??t.body??t.documentElement;n&&n.appendChild(r)}function He(e,t,r={}){let{callbacks:n,theme:o=Ge,tone:s=Oe,variant:a=Be}=r,i=document.createElement("div");i.style.width="100%",i.style.height="100%",i.style.boxSizing="border-box",i.style.display="flex",i.style.flexDirection="column",i.style.justifyContent="center",i.style.overflow="hidden",a==="card"&&(i.style.padding="0 10px");let u=document.createElement("div");u.classList.add(v),s==="grey"&&u.classList.add("toss-ads-tone-grey"),o==="light"?u.classList.add("toss-ads-theme-light"):o==="dark"&&u.classList.add("toss-ads-theme-dark"),a==="card"&&(u.style.borderRadius="16px",u.style.overflow="hidden"),i.appendChild(u);let l=!1,m=null,f=b=>{let y=b instanceof Error?b:new Error(String(b));n?.onAdFailedToRender?.({slotId:"",adGroupId:e,adMetadata:{},error:{code:0,message:y.message}})},ae=oe(e,n);try{let b=e,y=_();if(!y)throw new Error("[toss-ad] Call initialize() before attaching an ad.");if(!y.banner)throw new Error("[toss-ad] Loaded TossAdsSpaceKit does not support banner ads.");let F=typeof t=="string"?document.querySelector(t):t;if(!F)throw new Error(`[toss-ad] Failed to find target element: ${t}`);Ve(F),F.appendChild(i),l=!0;let ie={spaceId:b,autoLoad:!0,theme:o==="auto"?void 0:o,renderPadding:ce=>ce==="1"?Fe:ke,callbacks:ae};m=y.banner.createSlot(u,ie)}catch(b){l&&i.parentNode&&i.parentNode.removeChild(i),f(b)}return{destroy(){m?.destroy(),l&&i.parentNode&&i.parentNode.removeChild(i)}}}function Ue(e){let t=_();t?.banner&&t.banner.destroy(e)}function We(){let e=_();e?.banner&&e.banner.destroyAll()}function oe(e,t){if(!t)return;let r=n=>{let o={...n??{}};return o.adGroupId=o.adGroupId??o.spaceId??e,delete o.spaceId,o};return{onAdRendered:n=>t.onAdRendered?.(r(n)),onAdViewable:n=>t.onAdViewable?.(r(n)),onAdClicked:n=>t.onAdClicked?.(r(n)),onAdImpression:n=>{Te({log_name:"display_ads_all::impression__1px_banner",log_type:"event",params:{event_type:"impression",schema_id:1812034,request_id:n?.adMetadata?.requestId??""}}),t.onAdImpression?.(r(n))},onAdFailedToRender:n=>t.onAdFailedToRender?.({...r(n),error:n?.error??{code:0,message:"UNKNOWN"}}),onNoFill:n=>t.onNoFill?.(r(n))}}var wr={initialize:Object.assign(Ne,{isSupported:A.isSupported}),attach:Object.assign(Me,{isSupported:A.isSupported}),attachBanner:Object.assign(He,{isSupported:A.isSupported}),destroy:Object.assign(Ue,{isSupported:A.isSupported}),destroyAll:Object.assign(We,{isSupported:A.isSupported})},Er=Object.assign(c("getServerTime"),{isSupported:p("getServerTime_isSupported")});var x=class{_log=c("debugLog");log(t,r){try{this._log({log_name:`apps_in_toss_webview_${t}`,log_type:"debug",params:{...r,...this.getCommonParams()}})}catch{}}getCommonParams(){return{...this.getLocationInfo(),...this.getNavigatorInfo(),...this.getScreenInfo(),appName:window.__appsInToss.appName,deploymentId:window.__appsInToss.deploymentId,sessionId:window.__appsInToss.sessionId,isGame:window.__appsInToss.webViewType==="game",timestampMs:Date.now()}}getLocationInfo(){return{url:window.location.href,urlOrigin:window.location.origin,urlHost:window.location.hostname,urlPath:window.location.pathname,urlSearch:window.location.search}}getNavigatorInfo(){return{userAgent:navigator.userAgent,platform:navigator.platform,language:navigator.language,cookieEnabled:navigator.cookieEnabled,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory?navigator.deviceMemory*1024*1024:void 0,maxTouchPoints:navigator.maxTouchPoints}}getScreenInfo(){return{screenWidth:screen.width,screenHeight:screen.height,availableScreenWidth:screen.availWidth,availableScreenHeight:screen.availHeight,devicePixelRatio:window.devicePixelRatio,colorDepth:screen.colorDepth,pixelDepth:screen.pixelDepth,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight}}};var D=class{callbacks={};on(t,r){return typeof this.callbacks[t]>"u"&&(this.callbacks[t]=[]),this.callbacks[t].push(r),()=>{this.callbacks[t]=this.callbacks[t]?.filter(n=>n!==r)??[]}}emit(t,r){this.callbacks[t]?.forEach(n=>n(r))}};window.__appsInToss={appName:p("getAppName")(),deploymentId:p("getDeploymentId")(),webViewType:p("getWebViewType")(),sessionId:Math.random().toString(36).substring(2),eventEmitter:new D,debugLogger:new x};var I=/\\.(data|wasm|framework\\.js)(?:\\.gz|\\.br|\\.unityweb)?$/;function N(e){window.fetch=new Proxy(window.fetch,{apply:e})}(()=>{if(window.__appsInToss.webViewType!=="game"||typeof caches>"u")return;let e="@apps-in-toss/caches/",t=`${e}${window.__appsInToss.deploymentId}`;window.addEventListener("load",async()=>{let r=await caches.keys();for(let n of r)n.startsWith(e)&&n!==t&&await caches.delete(n)}),N(async(r,n,o)=>{let s=new Request(o[0],o[1]);if(!I.test(s.url))return await r.call(n,s);let a=await caches.open(t),i=await a.match(s);if(i){let l=i.headers.get("ETag"),m=i.headers.get("Last-Modified");l&&s.headers.set("If-None-Match",l),m&&s.headers.set("If-Modified-Since",m);let f=await r.call(n,s);return f.status===304?(i.__revalidateResponse=f,i):(a.put(s,f.clone()),f)}let u=await r.call(n,s);return a.put(s,u.clone()),u})})();N(async(e,t,r)=>{let n=new Request(r[0],r[1]),o=Date.now();window.__appsInToss.eventEmitter.emit("fetchRequest",{request:n});try{let s=await e.call(t,n);return window.__appsInToss.eventEmitter.emit("fetchResponse",{request:n,response:s,requestAt:o}),s}catch(s){throw window.__appsInToss.eventEmitter.emit("fetchError",{request:n,requestAt:o,error:s}),s}});HTMLCanvasElement.prototype.getContext=new Proxy(HTMLCanvasElement.prototype.getContext,{apply:(e,t,r)=>{let n=e.apply(t,r);return(n instanceof WebGL2RenderingContext||n instanceof WebGLRenderingContext)&&window.__appsInToss.eventEmitter.emit("webglGetContext",{canvas:t,context:n}),n}});var se=window.__appsInToss.debugLogger;se.log("load_start",{});window.addEventListener("load",()=>{let e=performance.timeOrigin,t=performance.getEntriesByType?.("navigation")[0]??null,r=typeof e<"u"&&t!==null,n=r?{navigationStartAtMs:e+t.startTime,navigationRedirectStartAtMs:e+t.redirectStart,navigationRedirectEndAtMs:e+t.redirectEnd,navigationRedirectCount:t.redirectCount,navigationServiceWorkerStartAtMs:e+t.workerStart,navigationFetchStartAtMs:e+t.fetchStart,navigationDomainLookupStartAtMs:e+t.domainLookupStart,navigationDomainLookupEndAtMs:e+t.domainLookupEnd,navigationConnectStartAtMs:e+t.connectStart,navigationSecureConnectStartAtMs:e+t.secureConnectionStart,navigationConnectEndAtMs:e+t.connectEnd,navigationRequestStartAtMs:e+t.requestStart,navigationResponseStartAtMs:e+t.responseStart,navigationResponseEndAtMs:e+t.responseEnd,navigationDomInteractiveAtMs:e+t.domInteractive,navigationDomContentLoadedEventStartAtMs:e+t.domContentLoadedEventStart,navigationDomContentLoadedEventEndAtMs:e+t.domContentLoadedEventEnd,navigationDomCompleteAtMs:e+t.domComplete}:{};se.log("load_complete",{isNavigationDebugSupported:r,...n})});function T(e,t){return parseFloat(e.toFixed(t))}(()=>{if(typeof performance.memory>"u"||typeof performance.memory.usedJSHeapSize>"u"||typeof performance.memory.totalJSHeapSize>"u"||typeof performance.memory.jsHeapSizeLimit>"u")return;function e(t){window.__appsInToss.debugLogger.log(t,{usedJSHeapSize:T(performance.memory.usedJSHeapSize/1024,2),totalJSHeapSize:T(performance.memory.totalJSHeapSize/1024,2),jsHeapSizeLimit:T(performance.memory.jsHeapSizeLimit/1024,2)})}e("memory_usage_first_0s"),setTimeout(()=>e("memory_usage_first_1s"),1e3),setTimeout(()=>e("memory_usage_first_10s"),1e4),setTimeout(()=>e("memory_usage_first_30s"),3e4),setTimeout(()=>e("memory_usage_first_60s"),6e4),setInterval(()=>e("memory_usage_every_180s"),18e4)})();(()=>{let e=window.__appsInToss.debugLogger,t=performance.timeOrigin;if(typeof t>"u"||typeof PerformanceObserver>"u")return;new PerformanceObserver(o=>{o.getEntries().forEach(a=>{a.name==="first-paint"?e.log("first_paint",{fpStartAtMs:t+a.startTime}):a.name==="first-contentful-paint"&&e.log("first_contentful_paint",{fcpStartAtMs:t+a.startTime})})}).observe({type:"paint"}),new PerformanceObserver(o=>{o.getEntries().forEach(a=>{e.log("largest_contentful_paint",{lcpStartAtMs:t+a.startTime,lcpRenderSize:a.size})})}).observe({type:"largest-contentful-paint"})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.eventEmitter.on("webglGetContext",({canvas:t,context:r})=>{if(t.getAttribute("id")!=="unity-canvas")return;e();let n=r.getExtension("WEBGL_debug_renderer_info"),o=r.getParameter(r.MAX_VIEWPORT_DIMS),s={webGLRenderer:r.getParameter(r.RENDERER),webGLVendor:r.getParameter(r.VENDOR),webGLVersion:r.getParameter(r.VERSION),webGLShadingLanguageVersion:r.getParameter(r.SHADING_LANGUAGE_VERSION),webGLMaxTextureSize:r.getParameter(r.MAX_TEXTURE_SIZE),webGLMaxViewportWidth:o[0],webGLMaxViewportHeight:o[1],webGLMaxRenderbufferSize:r.getParameter(r.MAX_RENDERBUFFER_SIZE)},a=n?{webGLUnmaskedVendor:r.getParameter(n.UNMASKED_VENDOR_WEBGL),webGLUnmaskedRenderer:r.getParameter(n.UNMASKED_RENDERER_WEBGL)}:{};window.__appsInToss.debugLogger.log("unity_webgl_info",{...s,...a})})})();(()=>{if(window.__appsInToss.webViewType!=="game")return;let e=window.__appsInToss.debugLogger,t=window.__appsInToss.eventEmitter;t.on("fetchRequest",({request:n})=>{I.test(n.url)&&e.log("game_resource_download_start",{gameResourceRequestURL:n.url})});function r({request:n,requestAt:o,error:s}){e.log("game_resource_download_error",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceError:s instanceof Error?s.message:"Unknown Error"})}t.on("fetchResponse",async({request:n,requestAt:o,response:s})=>{if(!I.test(n.url))return;let a=await s.clone().blob().then(u=>T(u.size/1024,2)).catch(u=>(r({request:n,requestAt:o,error:u}),null));if(a===null)return;let i=Date.now();e.log("game_resource_download_end",{gameResourceRequestURL:n.url,gameResourceRequestAtMs:o,gameResourceResponseAtMs:i,gameResourceResponseSize:a,gameResourceResponseStatus:s.__revalidateResponse?.status??s.status,gameResourceDownloadDurationMs:i-o})}),t.on("fetchError",async({request:n,requestAt:o,error:s})=>{I.test(n.url)&&r({request:n,requestAt:o,error:s})})})();var M=[];function ze(){let e=0;function t(r){let n=performance.now();if(r<n-1e3){M.push(e);return}e+=1,window.requestAnimationFrame(()=>t(r))}window.requestAnimationFrame(()=>t(performance.now()))}function $e(){if(M.length===0)return;let e=M;M=[];let t=qe(e).toSorted(),r={};for(let o=0;o<=100;o+=10){let s=t[Math.floor((t.length-1)*(o/100))];s&&(r[`fpsP${o}`]=s)}let n=t.reduce((o,s)=>o+s,0);r.fpsAverage=n/t.length,window.__appsInToss.debugLogger.log("fps_every_300s",r)}function qe(e){let t=new Set(e);return Array.from(t.values())}setInterval(()=>ze(),1e3);setInterval(()=>$e(),3e5);})();\n';
|
|
213654
213655
|
0 && (module.exports = {
|
|
213655
213656
|
afterDocumentLoad,
|
|
213656
213657
|
beforeDocumentLoad
|