39 lines
3.2 KiB
TypeScript
39 lines
3.2 KiB
TypeScript
// Module ID: 10603
|
|
// Function ID: 82656
|
|
// Name: safeAreaInitJs
|
|
// Dependencies: [5, 27, 477, 1247, 1184, 2]
|
|
// Exports: createInjectedJavascriptForIOS, default
|
|
|
|
// Module 10603 (safeAreaInitJs)
|
|
import set from "set";
|
|
import { NativeModules } from "get ActivityIndicator";
|
|
|
|
const require = arg1;
|
|
function safeAreaInitJs(arg0) {
|
|
let iframeWindowVarName;
|
|
let insets;
|
|
let isIframeLoadedVarName;
|
|
({ insets, iframeWindowVarName, isIframeLoadedVarName } = arg0);
|
|
if (null == insets) {
|
|
insets = { top: 0, bottom: 0, left: 0, right: 0 };
|
|
}
|
|
return "\n " + iframeWindowVarName + ".addEventListener(\"load\", () => {\n var iframeDoc = " + iframeWindowVarName + ".document;\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-left', '" + insets.left + "px');\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-right', '" + insets.right + "px');\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-top', '" + insets.top + "px');\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-bottom', '" + insets.bottom + "px');\n " + isIframeLoadedVarName + " = true;\n });\n";
|
|
}
|
|
function safeAreasUpdateListenerJs(iframeWindowVarName) {
|
|
iframeWindowVarName = iframeWindowVarName.iframeWindowVarName;
|
|
return "\n function updateSafeAreaVars(insets) {\n var iframeDoc = " + iframeWindowVarName + ".document;\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-left', `${insets.left}px`);\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-right', `${insets.right}px`);\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-top', `${insets.top}px`);\n iframeDoc.documentElement.style.setProperty('--discord-safe-area-inset-bottom', `${insets.bottom}px`);\n " + iframeWindowVarName + ".dispatchEvent(new Event('resize'));\n // Force redraw\n iframeDoc.documentElement.offsetHeight;\n }\n " + iframeWindowVarName + ".addEventListener('message', function (e) {\n const messageData = e.data;\n const {type, data} = messageData;\n if (type === 'safeAreaUpdateEvent') {\n const {insets} = data;\n if (" + iframeWindowVarName.isIframeLoadedVarName + ") {\n updateSafeAreaVars(insets);\n } else {\n " + iframeWindowVarName + ".addEventListener(\"load\", () => {\n updateSafeAreaVars(insets);\n });\n }\n }\n });\n";
|
|
}
|
|
function _createWebviewHtmlFile() {
|
|
// CreateGeneratorClosureLongIndex (0x67)
|
|
const obj = callback(tmp);
|
|
return obj(...arguments);
|
|
}
|
|
const result = require("set").fileFinishedImporting("modules/activities/native/createWebviewHtmlFile.tsx");
|
|
|
|
export default function createWebviewHtmlFile() {
|
|
return _createWebviewHtmlFile(...arguments);
|
|
};
|
|
export const createInjectedJavascriptForIOS = function createInjectedJavascriptForIOS(insets) {
|
|
const obj = { insets, iframeWindowVarName: "iframeWindow", isIframeLoadedVarName: "isIframeLoaded" };
|
|
return "\nvar iframeWindow = window;\nvar isIframeLoaded = false;\n" + safeAreaInitJs(obj) + "\n" + safeAreasUpdateListenerJs({ iframeWindowVarName: "iframeWindow", isIframeLoadedVarName: "isIframeLoaded" }) + "\n";
|
|
};
|