Files
discord-decomp/sources/modules/premium/native/gifting/PremiumGiftBackgroundAnimation.android.tsx
2026-07-28 01:06:53 +03:00

185 lines
10 KiB
TypeScript

/* Metro module 7642; source: modules/premium/native/gifting/PremiumGiftBackgroundAnimation.android.tsx; dependencies: [57, 31, 27, 4502, 33, 4501, 566, 7643, 7644, 6760, 2] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import LottieAnimationView from '../../../../components_native/common/LottieAnimationView.tsx'; /* Metro dependency 6760 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as PremiumGiftingUtilsModule from '../../PremiumGiftingUtils.tsx'; /* Metro dependency 7643 */
import * as GiftAnimationDataModule from '../utils/GiftAnimationData.tsx'; /* Metro dependency 7644 */
function _fun61186(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61186, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:6, offset: 0x0171d404, size: 320 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_9 = (CreateStylesModule).createStyles({container: {'display': 'flex',
'alignItems': 'flex-end', 'justifyContent': 'center', 'flexDirection': 'row'}, consistentHeight: {height: 300},
animation: {'maxWidth': 375, 'width': '100%', 'height': 'auto'}, baseAnimation: {'position': 'absolute',
'bottom': 0}, lottie: {height: 275}});
(FileImportTrackerModule).fileFinishedImporting('modules/premium/native/gifting/PremiumGiftBackgroundAnimation.android.tsx');
exports.default = PremiumGiftBackgroundAnimation;
function PremiumGiftBackgroundAnimation({giftStyle, withConsistentHeight}) { // fn#61187, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:552, offset: 0x0171d544, size: 987 bytes, params: 2, frame: 38
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value2 = ReactModule.useRef(null);
const value3 = ReactModule.useRef(null);
const env0_3 = value3;
let useState = ReactModule.useState;
const AnimationState = (require(7643) /* metro dependency 7643: PremiumGiftingUtils */).AnimationState;
const ACTION = AnimationState.ACTION;
const value4 = Reflect.apply(useState, ReactModule, [ACTION]);
const binding2 = env0_3;
const value5 = binding2(value4, 2);
const property = value5[0];
const env0_5 = value5[1];
useState = ReactModule.useState;
const value8 = binding2(Reflect.apply(useState, ReactModule, [undefined]), 2);
const property2 = value8[0];
const env0_7 = value8[1];
useState = ReactModule.useState;
const value9 = binding2(Reflect.apply(useState, ReactModule, [undefined]), 2);
const property3 = value9[0];
const env0_9 = value9[1];
useState = ReactModule.useState;
const value10 = binding2(Reflect.apply(useState, ReactModule, [false]), 2);
const property4 = value10[0];
const env0_11 = value10[1];
const value11 = ReactModule.useMemo(_fun61189, [giftStyle]);
const value12 = ReactModule.useMemo(_fun61190, [giftStyle]);
const lottieType = (GiftAnimationDataModule).getLottieType(giftStyle);
ReactModule.useMemo(_fun61191, [property3, property2, giftStyle, property]);
const value14 = ReactModule.useCallback(_fun61192, [property, property4]);
ReactModule.useEffect(_fun61193, [property]);
ReactModule.useEffect(_fun61194, [useReducedMotion]);
const items3 = [styles.container];
items3[1] = withConsistentHeight && styles.consistentHeight;
const items2 = [styles.baseAnimation];
items2[1] = styles.animation;
const LottieType = (GiftAnimationDataModule).LottieType;
let LOTTIE = LottieType.LOTTIE;
items2[2] = lottieType === LOTTIE && styles.lottie;
const object3 = {};
const value16 = property2 === giftStyle;
object3.opacity = value16 ? property === (require(7643) /* metro dependency 7643: PremiumGiftingUtils */).AnimationState.LOOP ? 0 : 1 : 0;
items2[3] = object3;
LOTTIE = LottieType.LOTTIE;
const value17 = !useReducedMotion;
const lottieAnimationView = (
<LottieAnimationView
style={items2}
hardwareAccelerationAndroid={lottieType === LOTTIE}
ref={value2}
source={value11}
autoPlay={value17}
onAnimationFinish={value14}
loop={false}
/>
);
const defaultImport2 = LottieAnimationView;
const items4 = [styles.animation];
LOTTIE = LottieType.LOTTIE;
items4[1] = lottieType === LOTTIE && styles.lottie;
const object4 = {};
object4.opacity = value16 ? property !== (require(7643) /* metro dependency 7643: PremiumGiftingUtils */).AnimationState.LOOP ? 0 : 1 : 0;
items4[2] = object4;
LOTTIE = LottieType.LOTTIE;
return (
<View style={items3}>
{lottieAnimationView}
{((Component) => <Component style={items4} hardwareAccelerationAndroid={lottieType === LOTTIE} ref={value3} source={value12} autoPlay={useReducedMotion ? value17 : property === (require(7643) /* metro dependency 7643: PremiumGiftingUtils */).AnimationState.LOOP} loop />)(defaultImport2)}
</View>
);
function _fun61189() { // fn#61189, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:941, offset: 0x0171d91f, size: 70 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(7644) /* metro dependency 7644: GiftAnimationData */;
const getGiftAnimationData = value.getGiftAnimationData;
const giftStyleBinding = giftStyle;
const AnimationState = (PremiumGiftingUtilsModule).AnimationState;
const ACTION = AnimationState.ACTION;
return Reflect.apply(getGiftAnimationData, value, [giftStyleBinding, ACTION]);
}
function _fun61190() { // fn#61190, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:1026, offset: 0x0171d965, size: 70 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(7644) /* metro dependency 7644: GiftAnimationData */;
const getGiftAnimationData = value.getGiftAnimationData;
const giftStyleBinding = giftStyle;
const AnimationState = (PremiumGiftingUtilsModule).AnimationState;
const LOOP = AnimationState.LOOP;
return Reflect.apply(getGiftAnimationData, value, [giftStyleBinding, LOOP]);
}
function _fun61191() { // fn#61191, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:1134, offset: 0x0171d9ab, size: 137 bytes, params: 1, frame: 16
var binding2;
var value2;
const AnimationState = (PremiumGiftingUtilsModule).AnimationState;
let binding = env0_6;
if (binding !== giftStyle) {
binding = env0_7;
binding(giftStyle);
binding = env0_11;
binding2 = ReactModule;
value2 = environment.__proto__;
binding(binding2 !== AnimationState.LOOP && JsxRuntimeModule.jsxs != null);
binding = env0_5;
binding(AnimationState.ACTION);
}
}
function _fun61192(a0) { // fn#61192, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:1264, offset: 0x0171da34, size: 157 bytes, params: 2, frame: 16
var binding;
var value3;
const AnimationState = (PremiumGiftingUtilsModule).AnimationState;
if (env0_10) {
env0_11(false);
} else {
binding = ReactModule;
value3 = environment.__proto__;
if (!(binding === AnimationState.LOOP || a0)) {
binding = env0_9;
binding(AnimationState.ACTION);
binding = env0_5;
binding(AnimationState.LOOP);
}
}
}
function _fun61193() { // fn#61193, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:1407, offset: 0x0171dad1, size: 102 bytes, params: 1, frame: 13
var current;
const AnimationState = (PremiumGiftingUtilsModule).AnimationState;
const LOOP = AnimationState.LOOP;
if (ReactModule === LOOP) {
current = env0_2.current;
if (current != null) {
current.reset();
}
} else {
current = env0_3.current;
if (current != null) {
current.reset();
}
}
}
function _fun61194() { // fn#61194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7820:1534, offset: 0x0171db37, size: 39 bytes, params: 1, frame: 9
var current;
if (useReducedMotion) {
current = env0_2.current;
if (current != null) {
current.reset();
}
}
}
}
}
global.__d(_fun61186, 7642, [57, 31, 27, 4502, 33, 4501, 566, 7643, 7644, 6760,
2]) /* metro module 7642, dependencies: [57, 31, 27, 4502, 33, 4501, 566, 7643, 7644, 6760, 2] */;