560 lines
37 KiB
TypeScript
560 lines
37 KiB
TypeScript
/* Metro module 14374; source: modules/home_drawer/native/useHomeDrawerGesture.tsx; dependencies: [57, 31, 14375, 14376, 4013, 4017, 1485, 4081, 1478, 1585, 4010, 14377, 4007, 4577, 5321, 8142, 2] */
|
|
import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
|
|
import UseWindowDimensionsNative from '../../screen/useWindowDimensions.native.tsx'; /* Metro dependency 1478 */
|
|
import UseSafeAreaInsetsNative from '../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
|
|
import HomeDrawerStore from './HomeDrawerStore.tsx'; /* Metro dependency 14375 */
|
|
import HomeDrawerSubtitleStore from './HomeDrawerSubtitleStore.tsx'; /* Metro dependency 14376 */
|
|
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 Module01485Module from '../../../by-id/module-01485.js'; /* Metro dependency 1485 */
|
|
import * as NavigationRouteUtilsNativeModule from '../../main_tabs_v2/helpers/NavigationRouteUtils.native.tsx'; /* Metro dependency 4007 */
|
|
import * as HomeDrawerExperimentModule from './HomeDrawerExperiment.tsx'; /* Metro dependency 4013 */
|
|
import * as ReanimatedRexportModule from '../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
|
|
import * as HapticUtilsNativeModule from '../../haptics/HapticUtils.native.tsx'; /* Metro dependency 4081 */
|
|
import * as SpringModule from '../../../design/animation/reanimated/spring/spring.tsx'; /* Metro dependency 4577 */
|
|
import * as Module05321Module from '../../../by-id/module-05321.js'; /* Metro dependency 5321 */
|
|
|
|
function _fun108770(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#108770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:6, offset: 0x0232d55b, size: 599 bytes, params: 8, frame: 24
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = ReactModule;
|
|
const env0_7 = {'mass': 0.3, 'damping': 30, 'stiffness': 400};
|
|
const env0_9 = {code: 'function useHomeDrawerGestureTsx1(){const{dragOffsetX,INITIAL_OPEN_WIDTH}=this.__closure;return dragOffsetX.get()>=INITIAL_OPEN_WIDTH;}'};
|
|
const env0_10 = {code: 'function useHomeDrawerGestureTsx2(isOpen,wasOpen){const{gestureState,runOnJS,triggerHapticFeedback,HapticFeedbackTypes}=this.__closure;if(!gestureState.get().active||wasOpen===null){return;}if(isOpen===wasOpen){return;}if(isOpen){runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.IMPACT_MEDIUM);}else{runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.SOFT);}}'};
|
|
const env0_11 = {code: 'function useHomeDrawerGestureTsx3(){const{panelX,peekX}=this.__closure;return panelX.get()+peekX.get();}'};
|
|
const env0_12 = {code: "function useHomeDrawerGestureTsx4(){const{withSpring,panelX,gestureState,HOME_GESTURE_DRAG_PHYSICS,HOME_DRAWER_FLING_PHYSICS}=this.__closure;return withSpring(panelX.get(),gestureState.get().active?HOME_GESTURE_DRAG_PHYSICS:HOME_DRAWER_FLING_PHYSICS,'animate-always');}"};
|
|
const env0_13 = {code: 'function useHomeDrawerGestureTsx5(){const{panelGestureSpringX,peekX}=this.__closure;return panelGestureSpringX.get()+peekX.get();}'};
|
|
const env0_14 = {code: 'function useHomeDrawerGestureTsx6(){const{safeAreaInsets,panelSpringTranslateX}=this.__closure;return{flex:1,marginTop:safeAreaInsets.top,transform:[{translateX:panelSpringTranslateX.get()}]};}'};
|
|
const env0_15 = {code: 'function useHomeDrawerGestureTsx7(){const{drawerRevealX,MAX_HOME_DRAWER_ANIMATING_WIDTH,GUILD_DESCRIPTION_ANIMATION_DISTANCE,MIN_HOME_DRAWER_TEXT_OPACITY,MIN_HOME_DRAWER_OPEN_WIDTH,withSpring,HOME_DRAWER_FLING_PHYSICS,clamp}=this.__closure;let x=0;if(drawerRevealX.get()<MAX_HOME_DRAWER_ANIMATING_WIDTH){x=Math.min(GUILD_DESCRIPTION_ANIMATION_DISTANCE,drawerRevealX.get()/MAX_HOME_DRAWER_ANIMATING_WIDTH*GUILD_DESCRIPTION_ANIMATION_DISTANCE);}const opacity=MIN_HOME_DRAWER_TEXT_OPACITY+drawerRevealX.get()/MIN_HOME_DRAWER_OPEN_WIDTH*(1-MIN_HOME_DRAWER_TEXT_OPACITY);return{transform:[{translateX:withSpring(x,HOME_DRAWER_FLING_PHYSICS)}],opacity:withSpring(clamp(opacity,0,1),HOME_DRAWER_FLING_PHYSICS)};}'};
|
|
const env0_16 = {code: 'function useHomeDrawerGestureTsx8(){const{drawerRevealX,MAX_HOME_DRAWER_ANIMATING_WIDTH,MAX_HOME_DRAWER_ICON_DISTANCE,withSpring,HOME_DRAWER_FLING_PHYSICS}=this.__closure;let x=0;if(drawerRevealX.get()<MAX_HOME_DRAWER_ANIMATING_WIDTH){x=Math.min(MAX_HOME_DRAWER_ICON_DISTANCE,drawerRevealX.get()/MAX_HOME_DRAWER_ANIMATING_WIDTH*MAX_HOME_DRAWER_ICON_DISTANCE);}return{transform:[{translateX:withSpring(x,HOME_DRAWER_FLING_PHYSICS)}]};}'};
|
|
const env0_17 = {code: 'function useHomeDrawerGestureTsx9(){const{drawerRevealX,MAX_HOME_DRAWER_ANIMATING_WIDTH,UNREAD_INDICATOR_ANIMATION_DISTANCE,withSpring,HOME_DRAWER_FLING_PHYSICS}=this.__closure;let left=0;if(drawerRevealX.get()<MAX_HOME_DRAWER_ANIMATING_WIDTH){left=-Math.min(UNREAD_INDICATOR_ANIMATION_DISTANCE,drawerRevealX.get()/MAX_HOME_DRAWER_ANIMATING_WIDTH*UNREAD_INDICATOR_ANIMATION_DISTANCE);}return{transform:[{translateX:withSpring(left,HOME_DRAWER_FLING_PHYSICS)}]};}'};
|
|
const env0_18 = {code: 'function useHomeDrawerGestureTsx10(){const{isPanelTouchActive,runOnJS,noteInteraction,gestureState,dragOffsetX}=this.__closure;isPanelTouchActive.set(false);runOnJS(noteInteraction)();gestureState.set({active:false,initialX:0,initialY:0,panelX:0});dragOffsetX.set(0);}'};
|
|
const env0_19 = {code: 'function useHomeDrawerGestureTsx11(event){const{runOnJS,setHomeDrawerState,dragOffsetX,INITIAL_OPEN_WIDTH,triggerHapticFeedback,HapticFeedbackTypes,panelX,FRACTION_OF_WIDTH_FOR_DRAWER_TO_REMAIN_OPEN,maxX,gestureState}=this.__closure;if(event.velocityX>50){runOnJS(setHomeDrawerState)(true);if(dragOffsetX.get()<INITIAL_OPEN_WIDTH){runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.IMPACT_MEDIUM);}}else if(event.velocityX<-50){runOnJS(setHomeDrawerState)(false);runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.SOFT);}else{if(panelX.get()===0){runOnJS(setHomeDrawerState)(false);}else if(panelX.get()>FRACTION_OF_WIDTH_FOR_DRAWER_TO_REMAIN_OPEN*maxX){runOnJS(setHomeDrawerState)(true);}else if(panelX.get()>=INITIAL_OPEN_WIDTH&&event.absoluteX-gestureState.get().initialX>0){runOnJS(setHomeDrawerState)(true);}else{runOnJS(setHomeDrawerState)(false);}}}'};
|
|
const env0_20 = {code: 'function useHomeDrawerGestureTsx12(event){const{gestureState,dragOffsetX,INITIAL_OPEN_WIDTH,panelX,DRAWER_RESISTANCE}=this.__closure;if(!gestureState.get().active)return;const newXOffset=event.absoluteX-gestureState.get().initialX;dragOffsetX.set(newXOffset);const basePosition=newXOffset+gestureState.get().panelX;if(gestureState.get().panelX===0&&newXOffset>=0&&newXOffset<INITIAL_OPEN_WIDTH){panelX.set(Math.max(basePosition/DRAWER_RESISTANCE,0));}else{panelX.set(Math.max(basePosition,0));}}'};
|
|
const env0_21 = {code: 'function useHomeDrawerGestureTsx13(event,manager){const{gestureState,panelX}=this.__closure;if(gestureState.get().active)return;const touchX=event.changedTouches[0].absoluteX;const touchY=event.changedTouches[0].absoluteY;const absoluteXDiff=Math.abs(touchX-gestureState.get().initialX);const absoluteYDiff=Math.abs(touchY-gestureState.get().initialY);if(absoluteYDiff>absoluteXDiff||panelX.get()===0&&touchX<gestureState.get().initialX||panelX.get()>0&&touchX>gestureState.get().initialX){manager.fail();}if(panelX.get()===0&&touchX>gestureState.get().initialX){gestureState.set({...gestureState.get(),active:true,initialX:touchX,panelX:panelX.get()});manager.activate();}else if(touchX<gestureState.get().initialX){gestureState.set({...gestureState.get(),active:true,initialX:touchX,panelX:panelX.get()});manager.activate();}}'};
|
|
const env0_22 = {code: 'function useHomeDrawerGestureTsx14(event){const{isPanelTouchActive,gestureState,panelX}=this.__closure;isPanelTouchActive.set(true);gestureState.set({active:false,initialX:event.absoluteX,initialY:event.absoluteY,panelX:panelX.get()});}'};
|
|
const createContext = value.createContext;
|
|
const object2 = {};
|
|
const Gesture = (Module05321Module).Gesture;
|
|
object2.gesture = Gesture.Pan();
|
|
object2.panelStyles = {};
|
|
object2.gestureState = (require(8142) /* metro dependency 8142: ReanimatedHelperTypes */).createFakeSharedValue({'active': false,
|
|
'initialX': 0, 'initialY': 0, 'panelX': 0});
|
|
object2.panelX = (require(8142) /* metro dependency 8142: ReanimatedHelperTypes */).createFakeSharedValue(0);
|
|
object2.panelSpringTranslateX = (require(8142) /* metro dependency 8142: ReanimatedHelperTypes */).createFakeSharedValue(0);
|
|
object2.guildsBarLabelDrawerStyle = {};
|
|
object2.guildsBarIconDrawerStyle = {};
|
|
object2.guildsBarUnreadDrawerStyle = {};
|
|
value = Reflect.apply(createContext, value, [object2]);
|
|
(FileImportTrackerModule).fileFinishedImporting('modules/home_drawer/native/useHomeDrawerGesture.tsx');
|
|
exports.HOME_DRAWER_FLING_PHYSICS = {'mass': 0.4, 'damping': 100, 'stiffness': 250};
|
|
exports.useHomeGesture = useHomeGesture;
|
|
exports.HomeDrawerStateContext = value;
|
|
function useHomeGesture() { // fn#108771, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:6346, offset: 0x0232d7b2, size: 1394 bytes, params: 1, frame: 34
|
|
const MobileHomeDrawerExperiment = (HomeDrawerExperimentModule).MobileHomeDrawerExperiment;
|
|
const {enableHome, enablePeekHint} = MobileHomeDrawerExperiment.useConfig({location: 'gesture'});
|
|
const value3 = HomeDrawerStore();
|
|
const panelX = value3.panelX;
|
|
const gestureState = value3.gestureState;
|
|
const updateMaxX = value3.updateMaxX;
|
|
const maxX = value3.maxX;
|
|
const maxX2 = maxX;
|
|
const setPanelX = value3.setPanelX;
|
|
const setPanelX2 = setPanelX;
|
|
const isPanelTouchActive = value3.isPanelTouchActive;
|
|
const noteInteraction = value3.noteInteraction;
|
|
const value4 = (ReanimatedRexportModule).useSharedValue(0);
|
|
const env0_7 = value4;
|
|
const value5 = (Module01485Module).useNavigation();
|
|
const env0_8 = value5;
|
|
const useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction;
|
|
let closure = useHomeGestureH;
|
|
closure.__closure = {dragOffsetX: value4, INITIAL_OPEN_WIDTH: 144};
|
|
closure.__workletHash = 2525772891435;
|
|
closure.__initData = env0_9;
|
|
const useHomeGestureM2 = useHomeGestureM;
|
|
object = {gestureState: gestureState};
|
|
object.runOnJS = ReanimatedRexportModule.runOnJS;
|
|
object.triggerHapticFeedback = (require(4081) /* metro dependency 4081: HapticUtilsNative */).triggerHapticFeedback;
|
|
const HapticFeedbackTypes = (require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes;
|
|
object.HapticFeedbackTypes = HapticFeedbackTypes;
|
|
useHomeGestureM2.__closure = object;
|
|
useHomeGestureM2.__workletHash = 11947599708940;
|
|
useHomeGestureM2.__initData = env0_10;
|
|
Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, useHomeGestureM2]);
|
|
const value6 = (UseWindowDimensionsNative)();
|
|
const value7 = (UseSafeAreaInsetsNative)();
|
|
const r11 = enableHome && !(importDefault(4010) /* metro dependency 4010: useChatLayout */)().isChatBesideChannelList;
|
|
const env0_11 = r11;
|
|
const value9 = ReanimatedRexportModule.useSharedValue(0);
|
|
const env0_12 = value9;
|
|
(require(14377) /* metro dependency 14377: useHomeDrawerPeekHint */).useHomeDrawerPeekHint(r11 && enablePeekHint,
|
|
value9);
|
|
let useDerivedValue = ReanimatedRexportModule.useDerivedValue;
|
|
closure = useHomeGestureZ;
|
|
closure.__closure = {panelX: panelX, peekX: value9};
|
|
closure.__workletHash = 4654854314200;
|
|
closure.__initData = env0_11;
|
|
const value10 = Reflect.apply(useDerivedValue, ReanimatedRexportModule, [closure]);
|
|
const env0_13 = value10;
|
|
const binding = setPanelX2;
|
|
binding.useEffect(_fun108775, [value6, value7, updateMaxX, r11]);
|
|
binding.useEffect(_fun108776, [value5, setPanelX, r11]);
|
|
useDerivedValue = ReanimatedRexportModule.useDerivedValue;
|
|
closure = useHomeGestureK;
|
|
const withSpring = (SpringModule).withSpring;
|
|
const binding2 = env0_8;
|
|
closure.__closure = {withSpring: withSpring, panelX: panelX, gestureState: gestureState,
|
|
HOME_GESTURE_DRAG_PHYSICS: env0_7, HOME_DRAWER_FLING_PHYSICS: binding2};
|
|
closure.__workletHash = 2174063493497;
|
|
closure.__initData = env0_12;
|
|
const value11 = Reflect.apply(useDerivedValue, ReanimatedRexportModule, [closure]);
|
|
const env0_14 = value11;
|
|
useDerivedValue = ReanimatedRexportModule.useDerivedValue;
|
|
closure = useHomeGestureQ;
|
|
closure.__closure = {panelGestureSpringX: value11, peekX: value9};
|
|
closure.__workletHash = 2927026959998;
|
|
closure.__initData = env0_13;
|
|
const value12 = Reflect.apply(useDerivedValue, ReanimatedRexportModule, [closure]);
|
|
const env0_15 = value12;
|
|
let useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
|
|
closure = useHomeGestureZ_108781;
|
|
closure.__closure = {safeAreaInsets: value7, panelSpringTranslateX: value12};
|
|
closure.__workletHash = 13544610996653;
|
|
closure.__initData = env0_14;
|
|
const value13 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]);
|
|
const env0_16 = value13;
|
|
useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
|
|
closure = useHomeGesture$;
|
|
object = {'drawerRevealX': null, 'MAX_HOME_DRAWER_ANIMATING_WIDTH': 48, 'GUILD_DESCRIPTION_ANIMATION_DISTANCE': 18,
|
|
'MIN_HOME_DRAWER_TEXT_OPACITY': 0.1, 'MIN_HOME_DRAWER_OPEN_WIDTH': 150};
|
|
object.drawerRevealX = value10;
|
|
object.withSpring = withSpring;
|
|
object.HOME_DRAWER_FLING_PHYSICS = binding2;
|
|
object.clamp = ReanimatedRexportModule.clamp;
|
|
closure.__closure = object;
|
|
closure.__workletHash = 1147372271952;
|
|
closure.__initData = env0_15;
|
|
const env0_17 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]);
|
|
useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
|
|
closure = useHomeGestureEe;
|
|
closure.__closure = {'drawerRevealX': null, 'MAX_HOME_DRAWER_ANIMATING_WIDTH': 48,
|
|
'MAX_HOME_DRAWER_ICON_DISTANCE': 12, drawerRevealX: value10, withSpring: withSpring,
|
|
HOME_DRAWER_FLING_PHYSICS: binding2};
|
|
closure.__workletHash = 16360618332998;
|
|
closure.__initData = env0_16;
|
|
const env0_18 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]);
|
|
useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
|
|
closure = useHomeGestureTe;
|
|
closure.__closure = {'drawerRevealX': null, 'MAX_HOME_DRAWER_ANIMATING_WIDTH': 48,
|
|
'UNREAD_INDICATOR_ANIMATION_DISTANCE': 6, drawerRevealX: value10, withSpring: withSpring,
|
|
HOME_DRAWER_FLING_PHYSICS: binding2};
|
|
closure.__workletHash = 8561772429103;
|
|
closure.__initData = env0_17;
|
|
const env0_19 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]);
|
|
const useMemo = binding.useMemo;
|
|
return {gesture: Reflect.apply(useMemo, binding, [_fun108785, [gestureState, panelX, value4, r11, maxX,
|
|
isPanelTouchActive, noteInteraction]]), panelStyles: value13,
|
|
homeDrawerState: maxX2(binding.useState(_fun108791), 1)[0]};
|
|
function useHomeGestureH() { // fn#108772, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:6684, owner: useHomeGesture.h, offset: 0x0232dd24, size: 25 bytes, params: 1, frame: 9
|
|
return env0_7.get() >= 144;
|
|
}
|
|
|
|
function useHomeGestureM(a0, a1) { // fn#108773, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:6799, owner: useHomeGesture.M, offset: 0x0232dd3d, size: 146 bytes, params: 3, frame: 16
|
|
var HapticFeedbackTypes;
|
|
var value;
|
|
const gestureStateBinding = gestureState;
|
|
const get = gestureStateBinding.get;
|
|
if (Reflect.apply(get, gestureStateBinding, []).active && a1 !== null && a0 !== a1) {
|
|
value = environment.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS((require(4081) /* metro dependency 4081: HapticUtilsNative */).triggerHapticFeedback);
|
|
HapticFeedbackTypes = (require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes;
|
|
if (a0) {
|
|
value(HapticFeedbackTypes.IMPACT_MEDIUM);
|
|
} else {
|
|
value(HapticFeedbackTypes.SOFT);
|
|
}
|
|
}
|
|
}
|
|
|
|
function useHomeGestureZ() { // fn#108774, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:7399, owner: useHomeGesture.z, offset: 0x0232ddcf, size: 35 bytes, params: 1, frame: 10
|
|
const panelXBinding = panelX;
|
|
let get = panelXBinding.get;
|
|
const value2 = Reflect.apply(get, panelXBinding, []);
|
|
const binding = env0_12;
|
|
get = binding.get;
|
|
return value2 + Reflect.apply(get, binding, []);
|
|
}
|
|
|
|
function _fun108775() { // fn#108775, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:7511, offset: 0x0232ddf2, size: 64 bytes, params: 1, frame: 14
|
|
const binding = env0_11;
|
|
const updateMaxXBinding = updateMaxX;
|
|
if (binding) {
|
|
updateMaxXBinding(env0_9, env0_10);
|
|
} else {
|
|
updateMaxXBinding({'width': 0, 'height': 0}, {'top': 0, 'bottom': 0, 'left': 0, 'right': 0});
|
|
}
|
|
}
|
|
|
|
function _fun108776() { // fn#108776, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:7605, offset: 0x0232de32, size: 45 bytes, params: 1, frame: 14
|
|
env0_8.addListener('state', handleStateChange_108777);
|
|
return _fun108778;
|
|
function handleStateChange_108777({data}) { // fn#108777, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:7610, offset: 0x0232de5f, size: 207 bytes, params: 2, frame: 18
|
|
var value5;
|
|
var value6;
|
|
const state = data.state;
|
|
let value = environment.__proto__.__proto__;
|
|
const value4 = NavigationRouteUtilsNativeModule.coerceGuildsRoute(state == null || state.routes == null ? undefined : state.routes[state?.index ?? 0]);
|
|
if (value4 != null) {
|
|
value5 = environment.__proto__;
|
|
if (env1_11) {
|
|
value6 = value4.params?.drawerOpen === true;
|
|
setPanelX(value6 ? 'open' : 'closed');
|
|
value = HomeDrawerSubtitleStore.getState();
|
|
if (value6) {
|
|
value.startTimer();
|
|
} else {
|
|
value.stopTimer();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _fun108778() { // fn#108778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:7960, offset: 0x0232df2e, size: 61 bytes, params: 1, frame: 13
|
|
let value = environment.__proto__;
|
|
const binding = env1_8;
|
|
binding.removeListener('state', handleStateChange_108777);
|
|
value = environment.__proto__.__proto__;
|
|
HomeDrawerSubtitleStore.getState().stopTimer();
|
|
}
|
|
|
|
}
|
|
|
|
function useHomeGestureK() { // fn#108779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:8095, owner: useHomeGesture.K, offset: 0x0232df6b, size: 93 bytes, params: 1, frame: 16
|
|
const withSpring = SpringModule.withSpring;
|
|
const panelXBinding = panelX;
|
|
let get = panelXBinding.get;
|
|
const value3 = Reflect.apply(get, panelXBinding, []);
|
|
const gestureStateBinding = gestureState;
|
|
get = gestureStateBinding.get;
|
|
return Reflect.apply(withSpring, SpringModule, [value3, Reflect.apply(get, gestureStateBinding,
|
|
[]).active ? env1_7 : env1_8, 'animate-always']);
|
|
}
|
|
|
|
function useHomeGestureQ() { // fn#108780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:8368, owner: useHomeGesture.Q, offset: 0x0232dfc8, size: 35 bytes, params: 1, frame: 10
|
|
let binding = env0_14;
|
|
let get = binding.get;
|
|
const value2 = Reflect.apply(get, binding, []);
|
|
binding = env0_12;
|
|
get = binding.get;
|
|
return value2 + Reflect.apply(get, binding, []);
|
|
}
|
|
|
|
function useHomeGestureZ_108781() { // fn#108781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:8514, owner: useHomeGesture.Z, offset: 0x0232dfeb, size: 59 bytes, params: 1, frame: 11
|
|
const object = {flex: 1};
|
|
object.marginTop = env0_10.top;
|
|
const object2 = {};
|
|
object2.translateX = env0_15.get();
|
|
object.transform = [object2];
|
|
return object;
|
|
}
|
|
|
|
function useHomeGesture$() { // fn#108782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:8715, owner: useHomeGesture.$, offset: 0x0232e026, size: 236 bytes, params: 1, frame: 22
|
|
let binding = env0_13;
|
|
const value2 = binding.get();
|
|
const value3 = 0;
|
|
const r11 = value2 < 48 ? global.Math.min(18, env0_13.get() / 48 * 18) : value3;
|
|
let value = env0_13.get();
|
|
value /= 150;
|
|
const object = {};
|
|
let withSpring = SpringModule.withSpring;
|
|
binding = env1_8;
|
|
object.transform = [{translateX: Reflect.apply(withSpring, SpringModule, [r11, binding])}];
|
|
withSpring = SpringModule.withSpring;
|
|
object.opacity = Reflect.apply(withSpring, SpringModule, [ReanimatedRexportModule.clamp(0.1 + value * 0.9, value3,
|
|
1), binding]);
|
|
return object;
|
|
}
|
|
|
|
function useHomeGestureEe() { // fn#108783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:9237, owner: useHomeGesture.ee, offset: 0x0232e112, size: 134 bytes, params: 1, frame: 16
|
|
var r5;
|
|
var Math;
|
|
var min;
|
|
var value;
|
|
let binding = env0_13;
|
|
if (binding.get() < 48) {
|
|
Math = global.Math;
|
|
min = Math.min;
|
|
binding = env0_13;
|
|
value = binding.get() / 48;
|
|
value = Reflect.apply(min, Math, [12, value * 12]);
|
|
r5 = value;
|
|
} else {
|
|
r5 = 0;
|
|
}
|
|
const object2 = {};
|
|
value = environment.__proto__;
|
|
object2.translateX = (require(4577) /* metro dependency 4577: spring */).withSpring(r5, env1_8);
|
|
return {transform: [object2]};
|
|
}
|
|
|
|
function useHomeGestureTe() { // fn#108784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:9597, owner: useHomeGesture.te, offset: 0x0232e198, size: 137 bytes, params: 1, frame: 16
|
|
var r5;
|
|
var Math;
|
|
var min;
|
|
var value;
|
|
let binding = env0_13;
|
|
if (binding.get() < 48) {
|
|
Math = global.Math;
|
|
min = Math.min;
|
|
binding = env0_13;
|
|
value = binding.get() / 48;
|
|
value = -Reflect.apply(min, Math, [6, value * 6]);
|
|
r5 = value;
|
|
} else {
|
|
r5 = 0;
|
|
}
|
|
const object2 = {};
|
|
value = environment.__proto__;
|
|
object2.translateX = (require(4577) /* metro dependency 4577: spring */).withSpring(r5, env1_8);
|
|
return {transform: [object2]};
|
|
}
|
|
|
|
function _fun108785() { // fn#108785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:9942, offset: 0x0232e221, size: 611 bytes, params: 1, frame: 25
|
|
const Gesture = (Module05321Module).Gesture;
|
|
const value6 = Gesture.Pan().enabled(env0_11).manualActivation(true).shouldCancelWhenOutside(false).maxPointers(1);
|
|
const onBegin = value6.onBegin;
|
|
let closure = function(a0) {
|
|
isPanelTouchActive.set(true);
|
|
var gestureStateBinding = gestureState;
|
|
var object = {active: false, initialX: a0.absoluteX, initialY: a0.absoluteY};
|
|
object.panelX = panelX.get();
|
|
gestureStateBinding.set(object);
|
|
};
|
|
const isPanelTouchActiveBinding = isPanelTouchActive;
|
|
let gestureStateBinding = gestureState;
|
|
const panelXBinding = panelX;
|
|
closure.__closure = {isPanelTouchActive: isPanelTouchActiveBinding, gestureState: gestureStateBinding,
|
|
panelX: panelXBinding};
|
|
closure.__workletHash = 16505445202158;
|
|
closure.__initData = env1_22;
|
|
const value7 = Reflect.apply(onBegin, value6, [closure]);
|
|
const onTouchesMove = value7.onTouchesMove;
|
|
closure = s_108787;
|
|
closure.__closure = {gestureState: gestureStateBinding, panelX: panelXBinding};
|
|
closure.__workletHash = 14569763728735;
|
|
closure.__initData = env1_21;
|
|
const value8 = Reflect.apply(onTouchesMove, value7, [closure]);
|
|
const onChange = value8.onChange;
|
|
closure = n_108788;
|
|
const binding = env0_7;
|
|
closure.__closure = {gestureState: gestureStateBinding, dragOffsetX: binding, INITIAL_OPEN_WIDTH: 144,
|
|
panelX: panelXBinding, DRAWER_RESISTANCE: 3};
|
|
closure.__workletHash = 14987365733436;
|
|
closure.__initData = env1_20;
|
|
const value9 = Reflect.apply(onChange, value8, [closure]);
|
|
const onEnd = value9.onEnd;
|
|
closure = t_108789;
|
|
object = {};
|
|
const runOnJS = (ReanimatedRexportModule).runOnJS;
|
|
object.runOnJS = runOnJS;
|
|
object.setHomeDrawerState = (require(4007) /* metro dependency 4007: NavigationRouteUtilsNative */).setHomeDrawerState;
|
|
object.dragOffsetX = binding;
|
|
object.INITIAL_OPEN_WIDTH = 144;
|
|
object.triggerHapticFeedback = (require(4081) /* metro dependency 4081: HapticUtilsNative */).triggerHapticFeedback;
|
|
const HapticFeedbackTypes = (require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes;
|
|
object.HapticFeedbackTypes = HapticFeedbackTypes;
|
|
object.panelX = panelXBinding;
|
|
object.FRACTION_OF_WIDTH_FOR_DRAWER_TO_REMAIN_OPEN = 0.5;
|
|
object.maxX = maxX;
|
|
object.gestureState = gestureStateBinding;
|
|
closure.__closure = object;
|
|
closure.__workletHash = 14661579894802;
|
|
closure.__initData = env1_19;
|
|
const value10 = Reflect.apply(onEnd, value9, [closure]);
|
|
const onFinalize = value10.onFinalize;
|
|
closure = e_108790;
|
|
closure.__closure = {isPanelTouchActive: isPanelTouchActiveBinding, runOnJS: runOnJS,
|
|
noteInteraction: noteInteraction, gestureState: gestureStateBinding, dragOffsetX: binding};
|
|
closure.__workletHash = 4660810514744;
|
|
closure.__initData = env1_18;
|
|
return Reflect.apply(onFinalize, value10, [closure]);
|
|
function s_108787(a0, a1) { // fn#108787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:10287, offset: 0x0232e4dd, size: 421 bytes, params: 3, frame: 19
|
|
var r0;
|
|
var changedTouches;
|
|
var absoluteX;
|
|
var absoluteY;
|
|
var Math;
|
|
var abs;
|
|
var value2;
|
|
var panelXBinding;
|
|
var gestureStateBinding6;
|
|
var set;
|
|
var object;
|
|
const value = environment.__proto__;
|
|
let get = gestureState.get;
|
|
if (!Reflect.apply(get, gestureStateBinding, []).active) {
|
|
changedTouches = a0.changedTouches;
|
|
absoluteX = changedTouches[0].absoluteX;
|
|
changedTouches = a0.changedTouches;
|
|
absoluteY = changedTouches[0].absoluteY;
|
|
Math = global.Math;
|
|
abs = Math.abs;
|
|
gestureStateBinding = gestureState;
|
|
get = gestureStateBinding.get;
|
|
value2 = Reflect.apply(abs, Math, [absoluteX - Reflect.apply(get, gestureStateBinding, []).initialX]);
|
|
Math = global.Math;
|
|
abs = Math.abs;
|
|
get = gestureStateBinding.get;
|
|
r0 = Reflect.apply(abs, Math, [absoluteY - Reflect.apply(get, gestureStateBinding,
|
|
[]).initialY]) > value2 || panelX.get() === 0 && absoluteX < gestureState.get().initialX;
|
|
r0 = !r0 ? panelX.get() > 0 && absoluteX > gestureState.get().initialX : r0;
|
|
if (r0) {
|
|
a1.fail();
|
|
}
|
|
panelXBinding = panelX;
|
|
get = panelXBinding.get;
|
|
r0 = Reflect.apply(get, panelXBinding, []) === 0 && absoluteX > gestureState.get().initialX;
|
|
r0 = !r0 ? absoluteX < gestureState.get().initialX : r0;
|
|
if (r0) {
|
|
gestureStateBinding6 = gestureState;
|
|
set = gestureStateBinding6.set;
|
|
object = {};
|
|
copyDataProperties(object, gestureStateBinding6.get(), gestureStateBinding);
|
|
object['active'] = true;
|
|
object['initialX'] = absoluteX;
|
|
object['panelX'] = panelX.get();
|
|
Reflect.apply(set, gestureStateBinding6, [object]);
|
|
a1.activate();
|
|
}
|
|
}
|
|
}
|
|
|
|
function n_108788(a0) { // fn#108788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:10754, offset: 0x0232e682, size: 204 bytes, params: 2, frame: 16
|
|
var absoluteX;
|
|
var value2;
|
|
var set;
|
|
var value3;
|
|
var panelXBinding;
|
|
var Math;
|
|
let get = gestureState.get;
|
|
if (Reflect.apply(get, gestureStateBinding, []).active) {
|
|
absoluteX = a0.absoluteX;
|
|
gestureStateBinding = gestureState;
|
|
get = gestureStateBinding.get;
|
|
value2 = absoluteX - Reflect.apply(get, gestureStateBinding, []).initialX;
|
|
env1_7.set(value2);
|
|
get = gestureStateBinding.get;
|
|
value3 = value2 + Reflect.apply(get, gestureStateBinding, []).panelX;
|
|
get = gestureStateBinding.get;
|
|
if (Reflect.apply(get, gestureStateBinding, []).panelX !== 0) {
|
|
panelXBinding = panelX;
|
|
set = panelXBinding.set;
|
|
Math = global.Math;
|
|
Reflect.apply(set, panelXBinding, [Math.max(value3, 0)]);
|
|
} else if (value2 >= 0) {
|
|
if (value2 < 144) {
|
|
panelXBinding = panelX;
|
|
set = panelXBinding.set;
|
|
Math = global.Math;
|
|
Reflect.apply(set, panelXBinding, [Math.max(value3 / 3, 0)]);
|
|
} else {
|
|
panelXBinding = panelX;
|
|
set = panelXBinding.set;
|
|
Math = global.Math;
|
|
Reflect.apply(set, panelXBinding, [Math.max(value3, 0)]);
|
|
}
|
|
} else {
|
|
panelXBinding = panelX;
|
|
set = panelXBinding.set;
|
|
Math = global.Math;
|
|
Reflect.apply(set, panelXBinding, [Math.max(value3, 0)]);
|
|
}
|
|
}
|
|
}
|
|
|
|
function t_108789(a0) { // fn#108789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:11079, offset: 0x0232e74e, size: 632 bytes, params: 2, frame: 16
|
|
var value;
|
|
var absoluteX;
|
|
var gestureStateBinding;
|
|
const setHomeDrawerState = (NavigationRouteUtilsNativeModule).setHomeDrawerState;
|
|
const triggerHapticFeedback = (HapticUtilsNativeModule).triggerHapticFeedback;
|
|
const HapticFeedbackTypes = (HapticUtilsNativeModule).HapticFeedbackTypes;
|
|
var value6;
|
|
if (a0.velocityX > 50) {
|
|
value = environment.__proto__.__proto__;
|
|
(require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS(setHomeDrawerState)(true);
|
|
value6 = environment.__proto__;
|
|
if (env1_7.get() < 144) {
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(triggerHapticFeedback);
|
|
value(HapticFeedbackTypes.IMPACT_MEDIUM);
|
|
}
|
|
} else if (a0.velocityX < -50) {
|
|
value = environment.__proto__.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(setHomeDrawerState);
|
|
value(false);
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(triggerHapticFeedback);
|
|
value(HapticFeedbackTypes.SOFT);
|
|
} else {
|
|
value = environment.__proto__;
|
|
if (panelX.get() === 0) {
|
|
value = environment.__proto__.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(setHomeDrawerState);
|
|
value(false);
|
|
} else if (panelX.get() > 0.5 * maxX) {
|
|
value = environment.__proto__.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(setHomeDrawerState);
|
|
value(true);
|
|
} else if (panelX.get() >= 144) {
|
|
absoluteX = a0.absoluteX;
|
|
gestureStateBinding = gestureState;
|
|
if (absoluteX - gestureStateBinding.get().initialX > 0) {
|
|
value = environment.__proto__.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(setHomeDrawerState);
|
|
value(true);
|
|
} else {
|
|
value = environment.__proto__.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(setHomeDrawerState);
|
|
value(false);
|
|
}
|
|
} else {
|
|
value = environment.__proto__.__proto__;
|
|
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
value = value.runOnJS(setHomeDrawerState);
|
|
value(false);
|
|
}
|
|
}
|
|
}
|
|
|
|
function e_108790() { // fn#108790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:11985, offset: 0x0232e9c6, size: 108 bytes, params: 1, frame: 14
|
|
isPanelTouchActive.set(false);
|
|
ReanimatedRexportModule.runOnJS(noteInteraction)();
|
|
gestureState.set({'active': false, 'initialX': 0, 'initialY': 0, 'panelX': 0});
|
|
env1_7.set(0);
|
|
}
|
|
|
|
}
|
|
|
|
function _fun108791() { // fn#108791, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14571:12289, offset: 0x0232ea32, size: 79 bytes, params: 1, frame: 3
|
|
return {gesture: env0_20, panelStyles: env0_16, gestureState: gestureState, panelX: panelX,
|
|
panelSpringTranslateX: env0_15, guildsBarLabelDrawerStyle: env0_17, guildsBarIconDrawerStyle: env0_18,
|
|
guildsBarUnreadDrawerStyle: env0_19};
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun108770, 14374, [57, 31, 14375, 14376, 4013, 4017, 1485, 4081, 1478, 1585, 4010, 14377, 4007, 4577,
|
|
5321, 8142,
|
|
2]) /* metro module 14374, dependencies: [57, 31, 14375, 14376, 4013, 4017, 1485, 4081, 1478, 1585, 4010, 14377, 4007, 4577, 5321, 8142, 2] */;
|