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

84 lines
4.0 KiB
JavaScript

// Metro module 1837 (f1838).
import { useCallback } from "react";
import { Platform } from "react-native";
import * as _Module1838 from "./Module1838";
import * as _Module1606 from "./Module1606";
import { useAnimatedReaction } from "./Module1606";
import * as _Module1836 from "./Module1836";
const __initData = {
code: "function pnpm_indexTs1(target){const{contentOffsetY,IS_FABRIC,Platform,scrollTo,scrollViewRef}=this.__closure;if(contentOffsetY&&IS_FABRIC){contentOffsetY.value=target;}else if(Platform.OS===\"android\"){requestAnimationFrame(function(){scrollTo(scrollViewRef,0,target,false);});}else{scrollTo(scrollViewRef,0,target,false);}}"
};
const __initData2 = {
code: "function pnpm_indexTs2(){const{extraContentPadding}=this.__closure;return extraContentPadding.value;}"
};
const __initData3 = {
code: "function pnpm_indexTs3(current,previous){const{freeze,blankSpace,keyboardPadding,isScrollAtEnd,scroll,layout,size,inverted,keyboardLiftBehavior,shouldShiftContent,scrollToTarget}=this.__closure;if(freeze.value||previous===null){return;}const rawDelta=current-previous;if(rawDelta===0){return;}const previousTotal=Math.max(blankSpace.value,keyboardPadding.value+previous);const currentTotal=Math.max(blankSpace.value,keyboardPadding.value+current);const effectiveDelta=currentTotal-previousTotal;if(effectiveDelta===0){return;}const atEnd=isScrollAtEnd(scroll.value,layout.value.height,size.value.height,inverted);if(keyboardLiftBehavior===\"persistent\"&&effectiveDelta<0&&!atEnd){return;}if(!shouldShiftContent(keyboardLiftBehavior,atEnd)){return;}if(inverted){const target=Math.max(scroll.value-effectiveDelta,-currentTotal);scrollToTarget(target);}else{const maxScroll=Math.max(size.value.height-layout.value.height+currentTotal,0);const target=Math.min(scroll.value+effectiveDelta,maxScroll);scrollToTarget(target);}}"
};
export function useExtraContentPadding({ scrollViewRef, extraContentPadding, keyboardPadding, blankSpace, scroll, layout, size, contentOffsetY, inverted, keyboardLiftBehavior, freeze }) {
let callback;
const u = function u(a0) {
if (contentOffsetY && _Module1838.IS_FABRIC) {
contentOffsetY.value = a0;
} else {
requestAnimationFrame(() => {
_Module1606.scrollTo(scrollViewRef, 0, a0, false);
});
}
};
u.__closure = {
contentOffsetY,
IS_FABRIC: _Module1838.IS_FABRIC,
Platform,
scrollTo: _Module1606.scrollTo,
scrollViewRef
};
u.__workletHash = 2925167321956;
u.__initData = __initData;
callback = useCallback(u, [scrollViewRef, contentOffsetY]);
const v = () => extraContentPadding.value;
v.__closure = {
extraContentPadding
};
v.__workletHash = 6627638143453;
v.__initData = __initData2;
const f = function f(a0, a1) {
L11: {
if (!freeze.value && a1 !== null && a0 - a1 != 0) {
const r26 = Math.max(blankSpace.value, keyboardPadding.value + a1);
const r32 = Math.max(blankSpace.value, keyboardPadding.value + a0);
const r33 = r32 - r26;
if (r33 !== 0) {
const isScrollAtEnd = _Module1836.isScrollAtEnd(scroll.value, layout.value.height, size.value.height, inverted);
if (keyboardLiftBehavior === "persistent" && r33 < 0 && !isScrollAtEnd) {
break L11;
}
if (_Module1836.shouldShiftContent(keyboardLiftBehavior, isScrollAtEnd)) {
const r49 = Math;
if (inverted) {
callback(r49.max(scroll.value - r33, -r32));
} else {
callback(Math.min(scroll.value + r33, r49.max(size.value.height - layout.value.height + r32, 0)));
}
}
}
}
}
};
f.__closure = {
freeze,
blankSpace,
keyboardPadding,
isScrollAtEnd: _Module1836.isScrollAtEnd,
scroll,
layout,
size,
inverted,
keyboardLiftBehavior,
shouldShiftContent: _Module1836.shouldShiftContent,
scrollToTarget: callback
};
f.__workletHash = 14660760767987;
f.__initData = __initData3;
useAnimatedReaction(v, f, [inverted, keyboardLiftBehavior]);
}