Files
discord-decomp/modules/media_viewer/native/useEntranceAnimation.tsx
T
2026-11-01 12:12:55 +02:00

78 lines
2.6 KiB
TypeScript

// Metro module 12323 (f12324).
import { useState, useCallback } from "react";
import { STANDARD_EASING } from "../../../design/void/native";
import { create } from "../../../_bundle/Module644";
import { batchUpdates } from "../../../_bundle/Module705";
import { withTiming } from "../../../design/animation/reanimated/timing/timing";
import * as _ReanimatedRexport from "../../reanimated/ReanimatedRexport";
let c8518_4, c8518_5, __initData, __initData2;
const setUseEntranceAnimationState = function setUseEntranceAnimationState(c19796_0) {
batchUpdates(() => c8518_5.setState(c19796_0));
};
c8518_4 = {
duration: 300,
easing: STANDARD_EASING
};
c8518_5 = create(() => ({
isComplete: false
}));
__initData = {
code: "function useEntranceAnimationTsx1(){const{runOnJS,setUseEntranceAnimationState}=this.__closure;runOnJS(setUseEntranceAnimationState)({isComplete:true});}"
};
__initData2 = {
code: "function useEntranceAnimationTsx2(){const{runOnJS,setUseEntranceAnimationState,incrementLoads}=this.__closure;runOnJS(setUseEntranceAnimationState)({isComplete:true});runOnJS(incrementLoads)();}"
};
export { c8518_5 as useEntranceAnimationState };
export function useEntranceAnimation(a0) {
const [loads, setState] = useState(0);
const callback = useCallback(() => {
setState((prevState) => prevState + 1);
}, []);
const callback2 = useCallback(() => {
batchUpdates(() => c8518_5.setState({
isComplete: false
}));
const r23 = function t() {
_ReanimatedRexport.runOnJS(setUseEntranceAnimationState)({
isComplete: true
});
};
r23.__closure = {
runOnJS: _ReanimatedRexport.runOnJS,
setUseEntranceAnimationState
};
r23.__workletHash = 7427534745615;
r23.__initData = __initData;
a0.set(withTiming(1, c8518_4, "respect-motion-settings", r23));
}, [a0]);
const callback3 = useCallback(() => {
if (a0.get() !== 1) {
batchUpdates(() => c8518_5.setState({
isComplete: false
}));
const r28 = function t() {
_ReanimatedRexport.runOnJS(setUseEntranceAnimationState)({
isComplete: true
});
_ReanimatedRexport.runOnJS(callback)();
};
r28.__closure = {
runOnJS: _ReanimatedRexport.runOnJS,
setUseEntranceAnimationState,
incrementLoads: callback
};
r28.__workletHash = 9904090637386;
r28.__initData = __initData2;
a0.set(withTiming(1, c8518_4, "respect-motion-settings", r28));
} else {
callback();
}
}, [callback, a0]);
return {
loads,
handleLoadStart: callback2,
handleError: callback3,
handleLoad: callback3
};
}