decord/source/modules/activities/panel/native/useActivityWebViewLockManager.tsx

127 lines
3.9 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 16329
// Function ID: 16330
2026-07-29 08:29:29 +00:00
// Name: useActivityWebViewLockManager
2026-08-24 06:08:38 +00:00
// Dependencies: [32, 19, 4119, 4107, 2]
2026-07-20 16:05:17 +00:00
// Exports: default, useLockedWebView
2026-08-24 06:08:38 +00:00
// Module 16329 (useActivityWebViewLockManager)
import closure_2 from "_slicedToArray" /* 32 */;
import closure_3 from "noop" /* 19 */;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-08-24 06:08:38 +00:00
let result = require("set").fileFinishedImporting("modules/activities/panel/native/useActivityWebViewLockManager.tsx");
2026-07-20 16:05:17 +00:00
export default function useActivityWebViewLockManager() {
return React.useState(() => {
function getCanRender(arg0) {
let tmp = 0 === set.size;
if (!tmp) {
const iter2 = set.values().next();
let value;
2026-07-29 08:29:29 +00:00
if (iter2 != null) {
2026-07-20 16:05:17 +00:00
value = iter2.value;
}
tmp = value === arg0;
const iter = set.values();
}
return tmp;
}
const set = new Set();
const map = new Map();
return () => {
2026-07-29 08:29:29 +00:00
const id = getCanRender.useId();
let tmp2 = map(getCanRender.useState(() => {
2026-08-24 06:08:38 +00:00
let tmp2 = 0 === set.size;
2026-07-29 08:29:29 +00:00
if (!tmp2) {
2026-08-24 06:08:38 +00:00
const iter2 = set.values().next();
2026-07-29 08:29:29 +00:00
let value;
if (iter2 != null) {
value = iter2.value;
}
tmp2 = value === tmp;
2026-08-24 06:08:38 +00:00
const iter = set.values();
2026-07-29 08:29:29 +00:00
}
return tmp2;
}), 2);
2026-08-24 06:08:38 +00:00
closure_1 = tmp3;
2026-07-20 16:05:17 +00:00
const items = [id];
2026-07-29 08:29:29 +00:00
const insertionEffect = getCanRender.useInsertionEffect(() => {
2026-08-24 06:08:38 +00:00
let obj = set;
set.add(id);
obj = { callback: set, canRender: null };
let tmp4 = 0 === set.size;
2026-07-29 08:29:29 +00:00
if (!tmp4) {
const iter2 = obj.values().next();
let value;
if (iter2 != null) {
value = iter2.value;
}
tmp4 = value === tmp;
const iter = obj.values();
}
obj[1] = tmp4;
2026-08-24 06:08:38 +00:00
const result = closure_1_2.set(tmp, obj);
2026-07-20 16:05:17 +00:00
return () => {
2026-08-24 06:08:38 +00:00
closure_1_1.delete(closure_0);
closure_1_2.delete(closure_0);
2026-07-20 16:05:17 +00:00
};
}, items);
const items1 = [id, tmp2[1]];
2026-07-29 08:29:29 +00:00
const layoutEffect = getCanRender.useLayoutEffect(() => {
if (null == closure_0) {
let resolved = Promise.resolve();
closure_0 = resolved.then(() => {
while (tmp2 !== undefined) {
2026-08-24 06:08:38 +00:00
let tmp4 = closure_1_2;
let tmp5 = closure_1_2(tmp3, 2);
2026-07-29 08:29:29 +00:00
[tmp6, tmp8] = tmp5;
let callback = tmp8.callback;
let tmp9 = callback;
let tmp7 = tmp6;
let tmp10 = callback(tmp6);
let tmp11 = tmp10;
if (tmp10 !== tmp8.canRender) {
let tmp12 = lib;
let tmp13 = tmp6;
let obj = { canRender: null, callback: null };
let tmp14 = tmp10;
obj[0] = tmp11;
let tmp15 = callback;
obj[1] = callback;
let result = lib.set(tmp7, obj);
let callbackResult = callback(tmp11);
}
continue;
}
2026-08-24 06:08:38 +00:00
c0 = undefined;
2026-07-29 08:29:29 +00:00
});
}
2026-07-20 16:05:17 +00:00
return () => {
2026-07-29 08:29:29 +00:00
if (null == closure_0) {
const resolved = Promise.resolve();
closure_0 = resolved.then(() => { ... });
}
2026-07-20 16:05:17 +00:00
};
}, items1);
return tmp2[0];
};
})[0];
};
export const useLockedWebView = function useLockedWebView(transitionState) {
transitionState = transitionState.transitionState;
2026-07-29 08:29:29 +00:00
let shown;
let renderWebView;
2026-07-23 10:11:24 +00:00
shown = transitionState(shown[2]).useSharedValue(false);
2026-07-29 08:29:29 +00:00
renderWebView = React.useContext(transitionState.context).useActivityWebViewLock();
2026-07-20 16:05:17 +00:00
const items = [shown, transitionState, renderWebView];
const effect = React.useEffect(() => {
if (transitionState !== transitionState(shown[3]).TransitionStates.YEETED) {
if (renderWebView) {
const result = shown.set(true);
}
}
const result1 = shown.set(false);
}, items);
return { shown, renderWebView };
};