126 lines
3.7 KiB
JavaScript
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 };
|
|
};
|