142 lines
7.1 KiB
TypeScript
142 lines
7.1 KiB
TypeScript
/* Metro module 11771; source: modules/premium/native/gifting/PremiumAnimatedGiftButton.tsx; dependencies: [31, 4502, 33, 4501, 697, 1357, 3860, 566, 477, 4017, 5278, 6760, 2] */
|
|
function _fun90148(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90148, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11957:6, offset: 0x0202dada, size: 209 bytes, params: 8, frame: 19
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const env0_3 = importAll(31) /* metro dependency 31 */;
|
|
const env0_4 = (require(31) /* metro dependency 31 */).useRef;
|
|
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
|
|
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
|
|
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun90149);
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/native/gifting/PremiumAnimatedGiftButton.tsx');
|
|
exports.PremiumAnimatedGiftButton = PremiumAnimatedGiftButton;
|
|
}
|
|
|
|
function _fun90149(a0, a1) { // fn#90149, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11957:171, offset: 0x0202dbab, size: 204 bytes, params: 3, frame: 19
|
|
const object4 = {};
|
|
const object5 = {};
|
|
const REDESIGN_BUTTON_TERTIARY_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.REDESIGN_BUTTON_TERTIARY_BACKGROUND;
|
|
object5.backgroundColor = REDESIGN_BUTTON_TERTIARY_BACKGROUND;
|
|
object5.width = a0;
|
|
object5.height = a0;
|
|
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
|
|
object5.marginHorizontal = a1;
|
|
object5.display = 'flex';
|
|
object5.alignItems = 'center';
|
|
object5.justifyContent = 'center';
|
|
object4.container = object5;
|
|
const object6 = {width: a0, height: a0};
|
|
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
|
|
object6.marginHorizontal = a1;
|
|
object6.display = 'flex';
|
|
object6.alignItems = 'center';
|
|
object6.justifyContent = 'center';
|
|
object4.containerRefresh = object6;
|
|
object4.animation = {'width': 30, 'height': 30};
|
|
object4.animationRefresh = {'width': 24, 'height': 24};
|
|
return object4;
|
|
}
|
|
|
|
function PremiumAnimatedGiftButton(a0) { // fn#90150, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11957:727, offset: 0x0202dc77, size: 698 bytes, params: 2, frame: 33
|
|
const active = a0.active;
|
|
const style = a0.style;
|
|
const activeStyle = a0.activeStyle;
|
|
const disabled = a0.disabled;
|
|
const accessibilityState = a0.accessibilityState;
|
|
const channelId = a0.channelId;
|
|
const animationDataUrl = a0.animationDataUrl;
|
|
const onAnimationFinished = a0.onAnimationFinished;
|
|
const loop = a0.loop;
|
|
const value2 = undefined;
|
|
const mobileVisualRefreshExperimentModule = require(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */;
|
|
const useMobileVisualRefreshConfig = mobileVisualRefreshExperimentModule.useMobileVisualRefreshConfig;
|
|
const enabled = Reflect.apply(useMobileVisualRefreshConfig, mobileVisualRefreshExperimentModule,
|
|
[{location: 'PremiumAnimatedGiftButton'}]).enabled;
|
|
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
|
|
let useToken = useTokenModule.useToken;
|
|
const CHAT_INPUT_ACTION_BUTTON_SIZE = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CHAT_INPUT_ACTION_BUTTON_SIZE;
|
|
const value3 = Reflect.apply(useToken, useTokenModule, [CHAT_INPUT_ACTION_BUTTON_SIZE]);
|
|
const moduleValue3 = useTokenModule;
|
|
useToken = moduleValue3.useToken;
|
|
const CHAT_INPUT_ACTION_BUTTON_MARGIN = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CHAT_INPUT_ACTION_BUTTON_MARGIN;
|
|
const value4 = Reflect.apply(useToken, moduleValue3, [CHAT_INPUT_ACTION_BUTTON_MARGIN]);
|
|
const moduleValue4 = useTokenModule;
|
|
useToken = moduleValue4.useToken;
|
|
const CHAT_INPUT_ACTION_BUTTON_MIN_TOUCH_TARGET_SIZE = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CHAT_INPUT_ACTION_BUTTON_MIN_TOUCH_TARGET_SIZE;
|
|
const value5 = Reflect.apply(useToken, moduleValue4, [CHAT_INPUT_ACTION_BUTTON_MIN_TOUCH_TARGET_SIZE]);
|
|
const styles = useStyles(value3, value4);
|
|
const Math = global.Math;
|
|
const value6 = Math.max(0, (value5 - value3) / 2);
|
|
const value7 = useRef(null);
|
|
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
|
|
function() {
|
|
return AccessibilityStore.useReducedMotion;
|
|
});
|
|
env0_3.useEffect(_fun90152, [channelId, useReducedMotion]);
|
|
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
|
|
const FadeOut = useReducedMotion ? value2 : (require(4017) /* metro dependency 4017: ReanimatedRexport */).FadeOut;
|
|
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
|
|
const object = {};
|
|
const r23 = enabled ? styles.containerRefresh : styles.container;
|
|
object.style = [r23, style, active && !disabled && activeStyle];
|
|
object.hitSlop = value6 > 0 ? value6 : value2;
|
|
object.accessibilityRole = 'button';
|
|
const object4 = {disabled: disabled};
|
|
copyDataProperties(object4, accessibilityState, r23);
|
|
object.accessibilityState = object4;
|
|
copyDataProperties(object, a0, r23);
|
|
let value = importDefault(6760) /* metro dependency 6760: LottieAnimationView */;
|
|
value = ((Component) => <Component ref={value7} style={enabled ? styles.animationRefresh : styles.animation} source={{uri: animationDataUrl}} loop={loop} autoPlay={false} onAnimationFinish={onAnimationFinished} />)(value);
|
|
return (
|
|
<View exiting={FadeOut}>
|
|
<PressableOpacity {...object}>
|
|
{value}
|
|
</PressableOpacity>
|
|
</View>
|
|
);
|
|
}
|
|
|
|
function _fun90152() { // fn#90152, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11957:1355, offset: 0x0202df31, size: 143 bytes, params: 1, frame: 14
|
|
var r0;
|
|
var r3;
|
|
var r1;
|
|
var value2;
|
|
var value3;
|
|
var moduleValue;
|
|
var value4;
|
|
var current;
|
|
var value6;
|
|
if (!useReducedMotion) {
|
|
value2 = environment.__proto__;
|
|
value3 = undefined;
|
|
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
|
|
if (moduleValue.isIOS()) {
|
|
value4 = env0_0 == null;
|
|
if (value4) {
|
|
r0 = value4;
|
|
r3 = value3;
|
|
} else {
|
|
current = env0_0.current;
|
|
r0 = current == null;
|
|
r3 = current;
|
|
}
|
|
if (!r0) {
|
|
r3.reset();
|
|
}
|
|
}
|
|
value6 = env0_0 == null;
|
|
if (value6) {
|
|
r0 = value6;
|
|
r1 = value3;
|
|
} else {
|
|
current = env0_0.current;
|
|
r0 = current == null;
|
|
r1 = current;
|
|
}
|
|
if (!r0) {
|
|
r1.play();
|
|
}
|
|
}
|
|
}
|
|
|