Files
discord-decomp/_bundle/getWebScrollableElement.js
T
2026-11-01 12:12:55 +02:00

105 lines
3.4 KiB
JavaScript

// Metro module 1769 (f1770).
import { useCallback, useEffect, useRef } from "react";
import * as _Module1609 from "./Module1609";
import { useSharedValue } from "./Module1758";
import { logger } from "./Module1610";
import { useEvent } from "./Module1753";
let c1496_5, __initData, __initData2, _excluded;
const getWebScrollableElement = function getWebScrollableElement(a0) {
let r2 = a0 == null ? void 0 : a0.getScrollableNode();
if (r2 == null) {
r2 = a0;
}
return r2;
};
const isWeb = _Module1609.isWeb();
c1496_5 = "animatedRef is not initialized in useScrollViewOffset. Make sure to pass the animated ref to the scrollable component to get scroll offset updates.";
const r22 = isWeb ? function useScrollViewOffsetWeb(a0, a1) {
let callback;
let c13215_0 = a0;
let r6 = a1;
const sharedValue = useSharedValue(0);
if (a1 == null) {
r6 = sharedValue;
}
const current = useRef(r6).current;
const r18 = function _() {
if (c13215_0) {
const current4 = c13215_0.current;
let r5 = current4 == null ? void 0 : current4.getScrollableNode();
if (r5 == null) {
r5 = current4;
}
current.value = r5.scrollLeft === 0 ? r5.scrollTop : r5.scrollLeft;
}
};
r18.__closure = {
animatedRef: a0,
getWebScrollableElement,
offset: current
};
r18.__workletHash = 2244034762234;
r18.__initData = __initData;
callback = useCallback(r18, [a0, current]);
useEffect(() => {
if (c13215_0) {
return c13215_0.observe((a0) => {
if (a0) {
const current4 = c13215_0.current;
let r6 = current4 == null ? void 0 : current4.getScrollableNode();
if (r6 == null) {
r6 = current4;
}
const current3 = r6;
current3.addEventListener("scroll", callback);
return () => {
current3.removeEventListener("scroll", callback);
};
}
logger.warn(c1496_5);
});
}
}, [a0, callback]);
return current;
} : function useScrollViewOffsetNative(a0, a1) {
let event;
let c13216_0 = a0;
let r9 = a1;
const sharedValue = useSharedValue(0);
if (a1 == null) {
r9 = sharedValue;
}
const current2 = useRef(r9).current;
const r19 = function _(a0) {
current2.value = a0.contentOffset.x === 0 ? a0.contentOffset.y : a0.contentOffset.x;
};
r19.__closure = {
offset: current2
};
r19.__workletHash = 17316000082767;
r19.__initData = __initData2;
event = useEvent(r19, _excluded);
useEffect(() => {
if (c13216_0) {
return c13216_0.observe((a0) => {
if (a0) {
event.workletEventHandler.registerForEvents(a0);
return () => {
event.workletEventHandler.unregisterFromEvents(a0);
};
}
logger.warn(c1496_5);
});
}
}, [a0, event]);
return current2;
};
__initData = {
code: "function pnpm_useScrollViewOffsetTs1(){const{animatedRef,getWebScrollableElement,offset}=this.__closure;if(animatedRef){const element=getWebScrollableElement(animatedRef.current);offset.value=element.scrollLeft===0?element.scrollTop:element.scrollLeft;}}"
};
__initData2 = {
code: "function pnpm_useScrollViewOffsetTs2(event){const{offset}=this.__closure;offset.value=event.contentOffset.x===0?event.contentOffset.y:event.contentOffset.x;}"
};
_excluded = ["onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd"];
export { r22 as useScrollViewOffset };