/* Metro module 8404; source: modules/user_profile/native/EditCollectiblesCTAButton.tsx; dependencies: [31, 4502, 663, 1580, 33, 4501, 1585, 566, 8405, 4017, 4577, 3802, 5134, 1244, 4081, 8406, 5120, 4080, 4578, 2] */ import UseSafeAreaInsetsNative from '../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */ import PremiumUtils from '../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */ import ReanimatedRexport from '../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import ActionSheetActionCreators from '../../action_sheet/native/ActionSheetActionCreators.tsx'; /* Metro dependency 4080 */ import AccessibilityStore from '../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */ import UseCollectiblesData from '../../collectibles/hooks/useCollectiblesData.tsx'; /* Metro dependency 8405 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ 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 CollectiblesShopConstantsModule from '../../collectibles/CollectiblesShopConstants.tsx'; /* Metro dependency 663 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as MediaKeyboardConstantsModule from '../../media_keyboard/native/MediaKeyboardConstants.tsx'; /* Metro dependency 1580 */ import * as ReanimatedRexportModule from '../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */ function _fun66794(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#66794, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8589:6, offset: 0x01c09e08, size: 326 bytes, params: 8, frame: 20 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactModule; const env0_8 = (CreateStylesModule).createStyles({buttonRowContainer: {'flexGrow': 0, 'flexDirection': 'row', 'justifyContent': 'flex-end', 'paddingHorizontal': 12, 'height': 48}, buttonContainer: {'position': 'absolute', 'bottom': 0, 'left': 0, 'right': 0, 'marginLeft': 24, 'marginRight': 24, 'flexDirection': 'column', 'justifyContent': 'flex-end'}}); object = {code: 'function EditCollectiblesCTAButtonTsx1(){const{shouldShowButton,APPLY_BUTTON_BOUNCE_DISTANCE,APPLY_BUTTON_SCALE_TRANSITION,reducedMotion,withSpring,MEDIA_PICKER_SEND_BUTTON_SPRING}=this.__closure;const targetTranslateY=shouldShowButton.get()?0:APPLY_BUTTON_BOUNCE_DISTANCE;const targetScale=shouldShowButton.get()?1:APPLY_BUTTON_SCALE_TRANSITION;return{transform:[{translateY:reducedMotion?targetTranslateY:withSpring(targetTranslateY,MEDIA_PICKER_SEND_BUTTON_SPRING)},{scale:reducedMotion?targetScale:withSpring(targetScale,MEDIA_PICKER_SEND_BUTTON_SPRING)}]};}'}; object = {code: "function EditCollectiblesCTAButtonTsx2(){const{shouldShowButton}=this.__closure;return{pointerEvents:shouldShowButton.get()?'box-none':'none'};}"}; object = {code: 'function EditCollectiblesCTAButtonTsx3(){const{shouldShowButton,reducedMotion,withSpring,MEDIA_PICKER_SEND_BUTTON_SPRING}=this.__closure;const targetOpacity=shouldShowButton.get()?1:0;return{opacity:reducedMotion?targetOpacity:withSpring(targetOpacity,{...MEDIA_PICKER_SEND_BUTTON_SPRING,overshootClamping:true})};}'}; value = value.memo(_fun66795); (FileImportTrackerModule).fileFinishedImporting('modules/user_profile/native/EditCollectiblesCTAButton.tsx'); exports.default = value; function _fun66795({user, currentSkuId, selectedSkuId, isTryItOut, onApply, analyticsLocations, analyticsSource}) { // fn#66795, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8589:1553, offset: 0x01c09f4e, size: 995 bytes, params: 2, frame: 36 const onApply2 = onApply; const styles = useStyles(); const bottom = (UseSafeAreaInsetsNative)().bottom; const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() { return AccessibilityStore.useReducedMotion; }); const {product, purchase} = (UseCollectiblesData)(selectedSkuId); const value3 = (ReanimatedRexportModule).useSharedValue(false); let binding = onApply2; binding.useEffect(_fun66797, [selectedSkuId, currentSkuId, value3]); let useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; let closure = O_66798; object = {'shouldShowButton': null, 'APPLY_BUTTON_BOUNCE_DISTANCE': 60, 'APPLY_BUTTON_SCALE_TRANSITION': 0.9}; object.shouldShowButton = value3; object.reducedMotion = useReducedMotion; object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring; object.MEDIA_PICKER_SEND_BUTTON_SPRING = MEDIA_PICKER_SEND_BUTTON_SPRING; closure.__closure = object; closure.__workletHash = 15594859424201; closure.__initData = undefined; const value4 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); const useAnimatedProps = ReanimatedRexportModule.useAnimatedProps; closure = M_66799; closure.__closure = {shouldShowButton: value3}; closure.__workletHash = 16151141699021; closure.__initData = env0_10; const value5 = Reflect.apply(useAnimatedProps, ReanimatedRexportModule, [closure]); useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; closure = R_66800; object = {shouldShowButton: value3, reducedMotion: useReducedMotion}; object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring; object.MEDIA_PICKER_SEND_BUTTON_SPRING = MEDIA_PICKER_SEND_BUTTON_SPRING; closure.__closure = object; closure.__workletHash = 13351061137085; closure.__initData = env0_11; const value6 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); const canUseCollectibles2 = (PremiumUtils).canUseCollectibles(user); let r11 = (require(5134) /* metro dependency 5134: CollectiblesUtils */).isPremiumCollectiblesProduct(product) || (require(5134) /* metro dependency 5134: CollectiblesUtils */).isPremiumCollectiblesPurchase(purchase); const value7 = !canUseCollectibles2; let r18 = selectedSkuId == null || purchase != null && !(canUseCollectibles2 ? value7 : (require(5134) /* metro dependency 5134: CollectiblesUtils */).isPremiumCollectiblesPurchase(purchase)); r18 = !r18 ? r11 && isTryItOut : r18; r11 = r11 && value7 && !isTryItOut; binding = onApply2; const value12 = binding.useMemo(_fun66801, [r18, r11, user]); const value13 = binding.useCallback(_fun66802, [r18, onApply, r11, analyticsLocations, analyticsSource, selectedSkuId]); const View = (ReanimatedRexport).View; const items3 = [styles.buttonContainer, value6]; const View2 = (ReanimatedRexport).View; const items2 = [styles.buttonRowContainer, value4]; items2[2] = {marginBottom: bottom}; const Button = (ButtonNativeModule).Button; return (