116 lines
5.5 KiB
TypeScript
116 lines
5.5 KiB
TypeScript
// Metro module 15553 (f15554).
|
|
import { useEffect, useCallback, useContext } from "react";
|
|
import { SearchResultExactCountEnabled } from "../../../../user_settings/UserSettings";
|
|
import { defaultCountFormatter } from "../../../../../design/components/Tabs/native/Tabs.native";
|
|
import * as _ReanimatedRexport from "../../../../reanimated/ReanimatedRexport";
|
|
import ReanimatedRexport, { useSharedValue, useAnimatedStyle, useAnimatedReaction } from "../../../../reanimated/ReanimatedRexport";
|
|
import * as _TransitionGroup from "../../../../../design/components/TransitionGroup/TransitionGroup";
|
|
import { TransitionGroup } from "../../../../../design/components/TransitionGroup/TransitionGroup";
|
|
import * as _spring from "../../../../../design/animation/reanimated/spring/spring";
|
|
import * as _springPresets from "../../../../../design/animation/reanimated/spring/springPresets";
|
|
import { SwipeForMemberListContext } from "../../../../main_tabs_v2/native/channel/SwipeForMemberListWrapper";
|
|
import { Tabs } from "../../../../../design/components/Tabs/native/Tabs.native";
|
|
let __initData, __initData2, __initData3, __initData4, __initData5, AnimatedTabs, renderItem;
|
|
const getItemKey = function getItemKey(a0) {
|
|
return a0.items.map((item) => item.id).join("-");
|
|
};
|
|
AnimatedTabs = function AnimatedTabs(props) {
|
|
let context;
|
|
const { state, transitionState, cleanUp } = props;
|
|
context = void 0;
|
|
const r0 = transitionState === _TransitionGroup.TransitionStates.MOUNTED ? 1 : 0;
|
|
let setting;
|
|
const sharedValue = useSharedValue(r0);
|
|
const f = () => {
|
|
const r7 = sharedValue.get();
|
|
const t = function t(a0) {
|
|
if (a0 ? transitionState === _TransitionGroup.TransitionStates.YEETED : a0) {
|
|
_ReanimatedRexport.runOnJS(cleanUp)();
|
|
}
|
|
};
|
|
t.__closure = {
|
|
transitionState,
|
|
TransitionStates: _TransitionGroup.TransitionStates,
|
|
runOnJS: _ReanimatedRexport.runOnJS,
|
|
cleanUp
|
|
};
|
|
t.__workletHash = 15209468679721;
|
|
t.__initData = __initData2;
|
|
return {
|
|
opacity: _spring.withSpring(r7, _springPresets.springStandard, "respect-motion-settings", t),
|
|
position: sharedValue.get() === 1 ? "relative" : "absolute"
|
|
};
|
|
};
|
|
f.__closure = {
|
|
withSpring: _spring.withSpring,
|
|
opacity: sharedValue,
|
|
springStandard: _springPresets.springStandard,
|
|
transitionState,
|
|
TransitionStates: _TransitionGroup.TransitionStates,
|
|
runOnJS: _ReanimatedRexport.runOnJS,
|
|
cleanUp
|
|
};
|
|
f.__workletHash = 10740262883803;
|
|
f.__initData = __initData;
|
|
const animatedStyle = useAnimatedStyle(f);
|
|
useEffect(() => {
|
|
sharedValue.set(transitionState === _TransitionGroup.TransitionStates.YEETED ? 0 : 1);
|
|
}, [sharedValue, transitionState]);
|
|
setting = void 0;
|
|
setting = SearchResultExactCountEnabled.useSetting();
|
|
const callback = useCallback((a0) => !setting && a0 > 1000 ? `(${defaultCountFormatter(1000)}+)` : `(${defaultCountFormatter(a0)})`, [setting]);
|
|
context = useContext(SwipeForMemberListContext);
|
|
const h = function h() {
|
|
if (context != null) {
|
|
context.disallowGesture.set(false);
|
|
}
|
|
};
|
|
h.__closure = {
|
|
swipeForMemberListContext: context
|
|
};
|
|
h.__workletHash = 5080152010224;
|
|
h.__initData = __initData3;
|
|
const callback2 = useCallback(h, [context]);
|
|
const F = () => state.scrollOffset.get() > 0;
|
|
F.__closure = {
|
|
state
|
|
};
|
|
F.__workletHash = 7791091456487;
|
|
F.__initData = __initData4;
|
|
const w = function w(a0, a1) {
|
|
if (a0 !== a1 && context != null) {
|
|
context.disallowGesture.set(a0);
|
|
}
|
|
};
|
|
w.__closure = {
|
|
swipeForMemberListContext: context
|
|
};
|
|
w.__workletHash = 15386779064911;
|
|
w.__initData = __initData5;
|
|
useAnimatedReaction(F, w);
|
|
return <ReanimatedRexport.View style={animatedStyle}>
|
|
<Tabs state={state} grow={false} formatCount={callback} simultaneousHandlers={context?.gesture} onEndDrag={context != null ? callback2 : void 0} />
|
|
</ReanimatedRexport.View>;
|
|
};
|
|
renderItem = function renderItem(a0, a1, a2, a3) {
|
|
return <AnimatedTabs key={a0} state={a1} transitionState={a2} cleanUp={a3} />;
|
|
};
|
|
__initData = {
|
|
code: "function SearchTabsTransitionGroupTsx1(){const{withSpring,opacity,springStandard,transitionState,TransitionStates,runOnJS,cleanUp}=this.__closure;return{opacity:withSpring(opacity.get(),springStandard,'respect-motion-settings',function(finished){if(finished&&transitionState===TransitionStates.YEETED){runOnJS(cleanUp)();}}),position:opacity.get()===1?'relative':'absolute'};}"
|
|
};
|
|
__initData2 = {
|
|
code: "function SearchTabsTransitionGroupTsx2(finished){const{transitionState,TransitionStates,runOnJS,cleanUp}=this.__closure;if(finished&&transitionState===TransitionStates.YEETED){runOnJS(cleanUp)();}}"
|
|
};
|
|
__initData3 = {
|
|
code: "function SearchTabsTransitionGroupTsx3(){const{swipeForMemberListContext}=this.__closure;var _swipeForMemberListCo;(_swipeForMemberListCo=swipeForMemberListContext)===null||_swipeForMemberListCo===void 0||_swipeForMemberListCo.disallowGesture.set(false);}"
|
|
};
|
|
__initData4 = {
|
|
code: "function SearchTabsTransitionGroupTsx4(){const{state}=this.__closure;return state.scrollOffset.get()>0;}"
|
|
};
|
|
__initData5 = {
|
|
code: "function SearchTabsTransitionGroupTsx5(isOffsetFromStart,prevIsOffsetFromStart){const{swipeForMemberListContext}=this.__closure;if(isOffsetFromStart!==prevIsOffsetFromStart){var _swipeForMemberListCo;(_swipeForMemberListCo=swipeForMemberListContext)===null||_swipeForMemberListCo===void 0||_swipeForMemberListCo.disallowGesture.set(isOffsetFromStart);}}"
|
|
};
|
|
export default function SearchTabsTransitionGroup(props) {
|
|
return <TransitionGroup items={[props.state]} getItemKey={getItemKey} renderItem={renderItem} />;
|
|
};
|