Files
2026-07-28 01:06:53 +03:00

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] */;