decord/source/3905_useRivePlayback.js
2026-07-20 16:05:17 +00:00

126 lines
3.7 KiB
JavaScript

// Module ID: 3905
// Function ID: 32301
// Name: useRivePlayback
// Dependencies: []
// Exports: useRivePlayback
// Module 3905 (useRivePlayback)
let closure_0 = importAll(dependencyMap[0]);
const AppState = arg1(dependencyMap[1]).AppState;
const result = arg1(dependencyMap[2]).fileFinishedImporting("../discord_common/js/packages/design/components/Rive/native/useRivePlayback.tsx");
export const useRivePlayback = function useRivePlayback(riveViewRef, isReady) {
const React = riveViewRef;
isReady = isReady.isReady;
const AppState = isReady;
const appStatePlaybackEnabled = isReady.appStatePlaybackEnabled;
const shouldShortLoopForReducedMotion = isReady.shouldShortLoopForReducedMotion;
let closure_4 = React.useRef(false);
let closure_5 = React.useRef("background" === AppState.currentState);
let closure_6 = React.useRef(false);
let closure_7 = React.useRef(null);
let closure_8 = React.useRef(false);
let closure_9 = React.useRef(true);
const effect = React.useEffect(() => {
closure_9.current = true;
return () => {
closure_9.current = false;
};
}, []);
const callback = React.useCallback(() => {
if (null != ref.current) {
const _clearTimeout = clearTimeout;
clearTimeout(ref.current);
ref.current = null;
}
}, []);
const items = [callback, riveViewRef];
const pause = React.useCallback(() => {
callback();
if (null != arg0) {
arg0.pause();
}
closure_4.current = false;
}, items);
const items1 = [callback, shouldShortLoopForReducedMotion, pause];
const callback2 = React.useCallback(() => {
callback();
if (shouldShortLoopForReducedMotion) {
const _setTimeout = setTimeout;
closure_7.current = setTimeout(() => callback(), 5000);
}
}, items1);
const items2 = [riveViewRef, callback2];
const play = React.useCallback(() => {
if (null != arg0) {
arg0.play();
}
closure_4.current = true;
callback2();
}, items2);
const items3 = [appStatePlaybackEnabled, riveViewRef, callback2];
const items4 = [isReady];
const playIfNeeded = React.useCallback(() => {
if (!ref2.current) {
ref2.current = true;
const _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
closure_8.current = false;
if (ref2.current) {
if (closure_2) {
if (ref.current) {
closure_6.current = true;
}
}
if (null != closure_0) {
closure_0.playIfNeeded();
}
closure_4.current = true;
callback();
}
});
}
}, items3);
const effect1 = React.useEffect(() => {
if (isReady) {
closure_4.current = true;
}
}, items4);
const items5 = [isReady, callback2, callback];
const effect2 = React.useEffect(() => {
if (isReady) {
callback2();
return callback;
}
}, items5);
const items6 = [appStatePlaybackEnabled, isReady, play, pause];
const effect3 = React.useEffect(() => {
if (appStatePlaybackEnabled) {
let closure_0 = isReady.addEventListener("change", (arg0) => {
if ("background" === arg0) {
closure_5.current = true;
let current2 = closure_1;
if (closure_1) {
current2 = ref.current;
}
if (current2) {
ref2.current = true;
callback();
}
} else if ("active" === arg0) {
closure_5.current = false;
let current = closure_1;
if (closure_1) {
current = ref2.current;
}
if (current) {
ref2.current = false;
callback2();
}
}
});
return () => closure_0.remove();
}
}, items6);
return { play, pause, playIfNeeded };
};