decord/source/modules/reactions/native/MessageReactionsContent.tsx
2026-07-20 17:37:48 +00:00

743 lines
31 KiB
TypeScript

// Module ID: 9416
// Function ID: 73279
// Name: useReactors
// Dependencies: []
// Exports: MessageReactionsContent, MessageReactionsEmpty
// Module 9416 (useReactors)
let Platform;
function useReactors(channelId) {
channelId = channelId.channelId;
const arg1 = channelId;
const messageId = channelId.messageId;
const importDefault = messageId;
const reaction = channelId.reaction;
const importAll = reaction;
const reactionType = channelId.reactionType;
const dependencyMap = reactionType;
let obj = arg1(dependencyMap[14]);
const items = [closure_12];
const items1 = [channelId, messageId, reaction.emoji, reactionType];
const stateFromStores = obj.useStateFromStores(items, () => {
const reactions = reactions.getReactions(channelId, messageId, reaction.emoji, closure_14, reactionType);
let items;
if (null != reactions) {
items = reactions.values();
}
if (null == items) {
items = [];
}
return Array.from(items);
}, items1, importDefault(dependencyMap[16]));
obj = { reactors: stateFromStores };
if (reactionType === arg1(dependencyMap[17]).ReactionTypes.VOTE) {
const count_details = reaction.count_details;
let vote;
if (null != count_details) {
vote = count_details.vote;
}
let num = 0;
if (null != vote) {
num = vote;
}
let tmp3 = num;
} else {
tmp3 = reactionType === arg1(dependencyMap[17]).ReactionTypes.BURST ? reaction.burst_count : reaction.count;
}
obj.reactorsHasMore = tmp3 > stateFromStores.length;
return obj;
}
function useReactorsOnScrollNative(channelId) {
let reactors;
let reactorsHasMore;
channelId = channelId.channelId;
const arg1 = channelId;
const messageId = channelId.messageId;
const importDefault = messageId;
const reactionSelected = channelId.reactionSelected;
const importAll = reactionSelected;
({ reactors, reactorsHasMore } = channelId);
const dependencyMap = reactorsHasMore;
const reactionType = channelId.reactionType;
let closure_4 = reactionType;
let id;
let callback;
let closure_8;
let closure_9;
const React = React.useRef(false);
id = null;
if (reactors.length > 0) {
id = reactors[reactors.length - 1].id;
}
const items = [channelId, messageId, reactionSelected, reactorsHasMore, id, reactionType];
callback = React.useCallback((arg0, arg1) => {
let tmp = arg0 / arg1 > 0.75 && reactorsHasMore;
if (tmp) {
tmp = !ref.current;
}
if (tmp) {
ref.current = true;
let obj = reactionSelected(reactorsHasMore[18]);
obj = { channelId, messageId, emoji: reactionSelected.emoji, limit: closure_14, after: id, type: reactionType };
const reactors = obj.getReactors(obj);
reactors.then(() => {
closure_5.current = false;
});
}
}, items);
closure_8 = React.useRef(callback);
const items1 = [callback];
const effect = React.useEffect(() => {
closure_8.current = callback;
}, items1);
closure_9 = importDefault(dependencyMap[19])(() => messageId(reactorsHasMore[20]).debounce((arg0, arg1) => ref.current(arg0, arg1), 16));
return importDefault(dependencyMap[19])(() => (nativeEvent) => {
nativeEvent = nativeEvent.nativeEvent;
return callback(nativeEvent.contentOffset.y, nativeEvent.contentSize.height);
});
}
function useRenderFooter(reactors, reactorsHasMore) {
reactorsHasMore = reactors;
const importDefault = reactorsHasMore;
const tmp = callback4();
const importAll = tmp;
const items = [reactors, reactorsHasMore, tmp];
return React.useCallback(() => {
if (arg1) {
const obj = { style: tmp.loadingSpinner, size: "large" };
let tmp2 = callback(closure_6, obj);
} else {
tmp2 = null;
}
return tmp2;
}, items);
}
function useRenderItem(reactors, messageId, channelId, reactionSelected, arg4) {
messageId = reactors;
const importDefault = messageId;
const importAll = channelId;
const dependencyMap = reactionSelected;
let closure_4 = arg4;
const tmp = callback4();
const React = tmp;
const analyticsLocations = importDefault(dependencyMap[21])().analyticsLocations;
const items = [reactors, channelId, arg4, messageId, reactionSelected, tmp, analyticsLocations];
return React.useCallback((arg0, arg1) => {
let obj = arg0[arg1];
arg0 = obj;
const id = obj.id;
arg1 = id;
const diff = arg0.length - 1;
const channel = channel.getChannel(arg2);
let guildId = null;
if (null != channel) {
guildId = channel.getGuildId();
}
let obj2 = arg1(arg3[22]);
let nickname = obj2.getNickname(guildId, arg2, obj);
if (null == nickname) {
let obj3 = arg1(arg3[23]);
nickname = obj3.getGlobalName(obj);
}
let member = null;
if (null != guildId) {
member = member.getMember(guildId, id);
}
if (arg3.burst_count > 0) {
let NORMAL = arg0(arg3[17]).ReactionTypes.BURST;
} else {
NORMAL = arg0(arg3[17]).ReactionTypes.NORMAL;
}
const arg2 = NORMAL;
obj = { style: tmp.listRow };
obj = {};
const obj1 = { style: tmp.avatar, size: arg0(arg3[25]).AvatarSizes.SMALL };
const avatarSource = obj.getAvatarSource(guildId);
let guildMemberAvatarSource = avatarSource;
if (null != guildId) {
let avatar;
if (null != member) {
avatar = member.avatar;
}
guildMemberAvatarSource = avatarSource;
if (null != avatar) {
guildMemberAvatarSource = arg1(arg3[26]).getGuildMemberAvatarSource(member, obj);
const obj8 = arg1(arg3[26]);
}
}
obj1.source = guildMemberAvatarSource;
obj.leading = callback(arg0(arg3[25]).Avatar, obj1);
obj2 = { user: obj, nick: nickname };
obj.label = callback(arg1(arg3[27]), obj2);
let tmp22 = null;
if (arg4) {
tmp22 = null;
if (obj10.isAndroid()) {
obj3 = {
onPress() {
let obj = obj(emoji[18]);
obj = { channelId: NORMAL, messageId: id, emoji: emoji.emoji, location: obj(emoji[18]).ReactionLocations.MESSAGE, userId: obj.id };
obj = { burst: NORMAL === obj(emoji[17]).ReactionTypes.BURST };
obj.options = obj;
return obj.removeReaction(obj);
},
children: callback(arg0(arg3[29]).XSmallIcon, {})
};
tmp22 = callback(closure_7, obj3);
}
const obj10 = arg0(arg3[28]);
}
obj.trailing = tmp22;
obj.onLongPress = function onLongPress() {
const obj = { userId: id, channelId: NORMAL, messageId: id, localUser: obj, sourceAnalyticsLocations: closure_6 };
id(closure_3[30])(obj);
};
const items = [callback(arg1(arg3[24]), obj), ];
let tmp30 = null;
if (arg1 !== diff) {
tmp30 = callback(arg1(arg3[31]), {});
}
items[1] = tmp30;
obj.children = items;
return closure_17(closure_8, obj);
}, items);
}
function useRenderQuickActions(channelId, messageId, reactionSelected, reactors) {
messageId = channelId;
const importDefault = messageId;
const importAll = reactionSelected;
const dependencyMap = reactors;
const tmp = callback4();
let closure_4 = tmp;
const items = [reactors, channelId, messageId, reactionSelected, tmp];
return React.useCallback((arg0, arg1) => {
const channelId = arg3[arg1];
if (arg2.burst_count > 0) {
let NORMAL = channelId(arg3[17]).ReactionTypes.BURST;
} else {
NORMAL = channelId(arg3[17]).ReactionTypes.NORMAL;
const tmp = channelId;
}
arg1 = NORMAL;
let obj = { style: tmp.buttonRow };
obj = {};
const intl = channelId(arg3[33]).intl;
obj.title = intl.string(channelId(arg3[33]).t.N86XcP);
obj.IconComponent = channelId(arg3[29]).XSmallIcon;
obj.color = arg1(arg3[13]).unsafe_rawColors.RED_400;
obj.onPress = function onPress() {
let obj = lib(closure_3[18]);
obj = { channelId: lib, messageId: NORMAL, emoji: emoji.emoji, location: lib(closure_3[18]).ReactionLocations.MESSAGE, userId: lib.id };
obj = { burst: NORMAL === lib(closure_3[17]).ReactionTypes.BURST };
obj.options = obj;
return obj.removeReaction(obj);
};
obj.height = 48;
obj.children = callback(arg1(arg3[32]), obj);
return callback(closure_8, obj);
}, items);
}
function ReactionTab(arg0) {
let animated;
let reaction;
let selected;
({ reaction, selected } = arg0);
const tmp = callback4();
let obj = arg1(dependencyMap[34]);
let burst_colors = reaction.burst_colors;
if (null == burst_colors) {
burst_colors = [];
}
const emojiColorPalette = obj.useEmojiColorPalette(burst_colors);
let accentColor;
if (null != emojiColorPalette) {
accentColor = emojiColorPalette.accentColor;
}
let tmp5 = null;
if (null != accentColor) {
obj = { color: emojiColorPalette.accentColor };
tmp5 = obj;
}
let tmp6 = null;
if (null != emojiColorPalette) {
obj = {};
let obj3 = arg1(dependencyMap[35]);
obj.backgroundColor = obj3.hexOpacityToRgba(emojiColorPalette.backgroundColor, emojiColorPalette.opacity);
tmp6 = obj;
}
const emoji = reaction.emoji;
let obj4 = arg1(dependencyMap[14]);
const items = [closure_9];
const stateFromStores = obj4.useStateFromStores(items, () => useReducedMotion.useReducedMotion);
const AnimateEmoji = arg1(dependencyMap[36]).AnimateEmoji;
let emojiURL;
if (null != emoji.id) {
const obj1 = {};
({ id: obj7.id, animated } = emoji);
if (animated) {
animated = !stateFromStores;
}
if (animated) {
animated = tmp10;
}
obj1.animated = animated;
obj1.size = 48;
emojiURL = importDefault(dependencyMap[26]).getEmojiURL(obj1);
const obj6 = importDefault(dependencyMap[26]);
}
const obj2 = {};
const items1 = [tmp.tabContainer, , ];
let tabContainerSelected = null;
if (selected) {
tabContainerSelected = tmp.tabContainerSelected;
}
items1[1] = tabContainerSelected;
let tmp17 = null;
if (selected) {
tmp17 = null;
if (tmp2) {
tmp17 = tmp6;
}
}
items1[2] = tmp17;
obj2.style = items1;
obj2.accessible = true;
obj2.accessibilityLabel = emoji.name;
obj2.accessibilityState = { selected };
obj3 = { src: emojiURL, name: emoji.name };
const items2 = [, ];
({ emoji: arr4[0], emojiText: arr4[1] } = tmp);
obj3.textEmojiStyle = items2;
const items3 = [, ];
({ emoji: arr5[0], emojiImage: arr5[1] } = tmp);
obj3.fastImageStyle = items3;
const items4 = [callback2(importDefault(dependencyMap[37]), obj3), ];
obj4 = { variant: "text-md/bold" };
const items5 = [tmp.reactionCountText, , ];
let prop = null;
if (selected) {
prop = tmp.reactionCountTextSelected;
}
items5[1] = prop;
let tmp20 = null;
if (reaction.burst_count > 0) {
tmp20 = tmp5;
}
items5[2] = tmp20;
obj4.style = items5;
obj4.children = reaction.burst_count > 0 ? reaction.burst_count : reaction.count;
items4[1] = callback2(arg1(dependencyMap[11]).Text, obj4);
obj2.children = items4;
let name = emoji.id;
if (null == name) {
name = emoji.name;
}
return closure_17(closure_8, obj2, name);
}
function RemoveAllButton(channelId) {
let reactionSelectedIndex;
({ reactions: closure_0, reactionSelectedIndex } = channelId);
const importDefault = reactionSelectedIndex;
channelId = channelId.channelId;
const importAll = channelId;
const dependencyMap = channelId.messageId;
let obj = arg1(dependencyMap[14]);
const items = [closure_10];
const items1 = [channelId];
const stateFromStores = obj.useStateFromStores(items, () => channel.getChannel(channelId), items1);
let useReducedMotion = useReducedMotion.useReducedMotion;
let callback = useReducedMotion;
const tmp = callback4();
const tmp4 = callback(React.useState(true), 2);
const React = tmp4[0];
let closure_6 = tmp4[1];
let obj1 = arg1(dependencyMap[10]);
const sharedValue = obj1.useSharedValue(64);
let obj2 = arg1(dependencyMap[10]);
class S {
constructor() {
obj = {};
if (useReducedMotion) {
tmp5 = closure_7;
value = closure_7.get();
} else {
tmp = reactions;
tmp2 = messageId;
num = 39;
obj2 = reactions(messageId[39]);
tmp3 = closure_7;
obj = {};
num2 = 200;
obj.duration = 200;
value = obj2.withTiming(closure_7.get(), obj);
}
obj.maxWidth = value;
return obj;
}
}
obj = { useReducedMotion, buttonWidth: sharedValue, withTiming: arg1(dependencyMap[39]).withTiming };
S.__closure = obj;
S.__workletHash = 16499689496895;
S.__initData = closure_20;
const animatedStyle = obj2.useAnimatedStyle(S);
let obj4 = arg1(dependencyMap[10]);
const sharedValue1 = obj4.useSharedValue(0);
const tmp3 = importDefault(dependencyMap[38])(stateFromStores);
class T {
constructor() {
obj = { flex: "ignoreLogs", width: "OPEN_TO_PLAY", paddingVertical: "<string:2635747584>", paddingHorizontal: "getGuildMemberAvatarURLSimple", flexGrow: "<string:1163547136>" };
if (useReducedMotion) {
tmp5 = useSharedValue;
value = useSharedValue.get();
} else {
tmp = reactions;
tmp2 = messageId;
num = 39;
obj2 = reactions(messageId[39]);
tmp3 = useSharedValue;
obj = {};
num2 = 125;
obj.duration = 125;
value = obj2.withTiming(useSharedValue.get(), obj);
}
obj.opacity = value;
return obj;
}
}
obj = { useReducedMotion, textOpacity: sharedValue1, withTiming: arg1(dependencyMap[39]).withTiming };
T.__closure = obj;
T.__workletHash = 8698187840986;
T.__initData = closure_21;
const items2 = [sharedValue, sharedValue1];
const animatedStyle1 = arg1(dependencyMap[10]).useAnimatedStyle(T);
callback = React.useCallback(() => {
callback2(true);
const result = sharedValue.set(32);
const result1 = sharedValue1.set(0);
}, items2);
useReducedMotion = callback;
const items3 = [reactionSelectedIndex, callback];
const effect = React.useEffect(() => {
callback();
}, items3);
let tmp11 = null;
if (tmp3) {
obj1 = {
onPress() {
if (closure_5) {
callback2(false);
const result = sharedValue.set(callback(messageId[40]).getWindowDimensions().width);
const result1 = sharedValue1.set(1);
const obj2 = callback(messageId[40]);
} else {
channelId(messageId[18]).removeEmojiReactions(channelId, messageId, callback[closure_1].emoji);
callback();
const obj = channelId(messageId[18]);
}
}
};
obj2 = {};
const items4 = [tmp.removeAllButton, animatedStyle];
obj2.style = items4;
const obj3 = { color: importDefault(dependencyMap[13]).unsafe_rawColors.WHITE, size: "sm" };
const items5 = [callback2(arg1(dependencyMap[41]).TrashIcon, obj3), ];
obj4 = { Promise: 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011750085073665356, marginTop: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073859025267, flags: 127038322854202640000000000, style: animatedStyle1 };
const intl = arg1(dependencyMap[33]).intl;
obj4.children = intl.string(arg1(dependencyMap[33]).t.zx/e4P);
items5[1] = callback2(closure_18, obj4);
obj2.children = items5;
obj1.children = callback3(importDefault(dependencyMap[10]).View, obj2);
tmp11 = callback2(sharedValue, obj1);
}
return tmp11;
}
function EmojiOptionsButton(channelId) {
let reactionSelectedIndex;
let reactions;
channelId = channelId.channelId;
const arg1 = channelId;
const messageId = channelId.messageId;
const importDefault = messageId;
({ reactions, reactionSelectedIndex } = channelId);
let obj = arg1(dependencyMap[14]);
const items = [closure_10];
const items1 = [channelId];
const stateFromStores = obj.useStateFromStores(items, () => channel.getChannel(channelId), items1);
const tmp3 = importDefault(dependencyMap[38])(stateFromStores);
const importAll = tmp3;
const dependencyMap = tmp4;
const items2 = [channelId, messageId, reactions[reactionSelectedIndex], tmp3];
obj = {
onPress: React.useCallback(() => {
let obj = messageId(tmp4[42]);
obj = { channelId, messageId, reaction: tmp4, canRemoveReactions: tmp3 };
obj.openLazy(channelId(tmp4[44])(tmp4[43], tmp4.paths), "ReactionEmojiOptionsActionSheet", obj, "replaceTopSheet");
}, items2),
style: callback4().emojiOptionsButton
};
obj = { INTEGRATION_CREATE: "<string:1864193>", ConstraintReasonCode: "<string:2621440>" };
const intl = arg1(dependencyMap[33]).intl;
obj.children = intl.string(arg1(dependencyMap[33]).t.pCaYID);
const items3 = [callback2(arg1(dependencyMap[11]).Text, obj), ];
const obj1 = { color: importDefault(dependencyMap[13]).colors.ICON_SUBTLE, size: "xs" };
items3[1] = callback2(arg1(dependencyMap[45]).ChevronSmallRightIcon, obj1);
obj.children = items3;
return callback3(closure_7, obj);
}
function ReactionTabs(setReactionSelectedIndex) {
let reactionSelectedIndex;
let reactions;
const tmp = callback4();
({ reactions, reactionSelectedIndex } = setReactionSelectedIndex);
const arg1 = reactionSelectedIndex;
const importDefault = setReactionSelectedIndex.setReactionSelectedIndex;
let obj = importDefault(dependencyMap[46]);
obj = { style: tmp.reactionTab };
obj = {
tabs: reactions.map((emoji) => {
const id = emoji.emoji.id;
let str = "";
if (null != id) {
str = id;
}
return closure_16(closure_28, { reaction: emoji, selected: arg1 === reactionSelectedIndex }, "" + str + ":" + emoji.emoji.name);
})
};
({ tab: obj3.tabStyle, tabActive: obj3.tabStyleActive, tabSelected: obj3.tabStyleSelected } = tmp);
obj.tabIndexSelected = reactionSelectedIndex;
obj.onSelect = function onSelect(arg0) {
const result = reactionSelectedIndex(closure_3[48]).triggerHapticFeedback(setReactionSelectedIndex(closure_3[49]).IMPACT_LIGHT);
setReactionSelectedIndex(arg0);
};
obj.initialNumTabsToRender = arg1(dependencyMap[15]).MAX_REACTIONS;
const items = [callback2(importDefault(dependencyMap[47]), obj), callback2(importDefault(dependencyMap[31]), { outer: true }), ];
const obj1 = { style: tmp.removeButtonContainer };
const obj2 = { style: tmp.emojiTextIdentifier };
const tmp2 = closure_17;
const tmp3 = closure_8;
const tmp4 = importDefault(dependencyMap[47]);
const tmp5 = closure_17;
const tmp6 = closure_8;
obj2.children = arg1(dependencyMap[15]).getReactionEmojiName(reactions[reactionSelectedIndex].emoji);
const items1 = [callback2(arg1(dependencyMap[11]).Text, obj2), ];
const obj3 = {};
const obj6 = arg1(dependencyMap[15]);
const tmp7 = callback2;
const merged = Object.assign(setReactionSelectedIndex);
items1[1] = tmp7(obj.useExperiment({ location: "ReactionTabs" }, { autoTrackExposure: false }).tidaWebformEnabled ? EmojiOptionsButton : RemoveAllButton, obj3);
obj1.children = items1;
items[2] = tmp5(tmp6, obj1);
obj.children = items;
return tmp2(tmp3, obj);
}
let closure_4 = importDefault(dependencyMap[0]);
let closure_5 = importAll(dependencyMap[1]);
({ ActivityIndicator: closure_6, Platform, Pressable: closure_7, View: closure_8 } = arg1(dependencyMap[2]));
let closure_9 = importDefault(dependencyMap[3]);
let closure_10 = importDefault(dependencyMap[4]);
let closure_11 = importDefault(dependencyMap[5]);
let closure_12 = importDefault(dependencyMap[6]);
let closure_13 = importDefault(dependencyMap[7]);
const tmp2 = arg1(dependencyMap[2]);
({ DEFAULT_NUM_REACTION_USERS: closure_14, Permissions: closure_15 } = arg1(dependencyMap[8]));
const tmp3 = arg1(dependencyMap[8]);
({ jsx: closure_16, jsxs: closure_17 } = arg1(dependencyMap[9]));
const tmp4 = arg1(dependencyMap[9]);
let closure_18 = importDefault(dependencyMap[10]).createAnimatedComponent(arg1(dependencyMap[11]).Text);
let obj1 = arg1(dependencyMap[12]);
let obj = { container: { flex: 1 } };
obj = { padding: 32, borderTopLeftRadius: importDefault(dependencyMap[13]).radii.sm, borderTopRightRadius: importDefault(dependencyMap[13]).radii.sm };
obj.containerEmpty = obj;
obj1 = { height: 48, backgroundColor: importDefault(dependencyMap[13]).colors.MOBILE_ACTIONSHEET_BACKGROUND };
obj.listRow = obj1;
const obj2 = { alignItems: -0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002353438198072257, navigationReplace: 0.000000000000000000000000000000000000000000000000000000000000000000000015330799022023456, safe: 0.25, flex: 0.00000000000000000000000000000000000000000000000000000000000004667261428143591, backgroundColor: 0.0000000000000000000000000000000000000000000000000000000000000000000000037862717161737144, borderRadius: importDefault(dependencyMap[13]).radii.sm };
obj.tabContainer = obj2;
const importDefaultResult = importDefault(dependencyMap[10]);
obj.tabContainerSelected = { backgroundColor: importDefault(dependencyMap[13]).colors.INTERACTIVE_BACKGROUND_SELECTED };
obj.tab = {};
obj.tabSelected = { borderBottomColor: "transparent" };
const obj3 = { backgroundColor: importDefault(dependencyMap[13]).colors.INTERACTIVE_BACKGROUND_SELECTED };
obj.tabActive = { borderRadius: importDefault(dependencyMap[13]).radii.sm };
obj.reactionTab = {};
obj.removeButtonContainer = {};
const obj4 = { borderRadius: importDefault(dependencyMap[13]).radii.sm };
obj.emojiOptionsButton = { marginRight: importDefault(dependencyMap[13]).space.PX_16 };
const obj6 = { height: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0447\u0430\u0441\u0430", minHeight: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0447\u0430\u0441\u043E\u0432", maxHeight: "\u043E\u043A\u043E\u043B\u043E {{count}} \u0447\u0430\u0441\u043E\u0432", width: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0447\u0430\u0441", minWidth: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0447\u0430\u0441\u0430", maxWidth: "\u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0447\u0435\u0440\u0435\u0437 {{count}} \u0447\u0430\u0441\u043E\u0432", borderRadius: importDefault(dependencyMap[13]).radii.xxl, color: "{{count}} \u0447\u0430\u0441\u0430", backgroundColor: importDefault(dependencyMap[13]).colors.BACKGROUND_FEEDBACK_CRITICAL, marginLeft: "{{count}} \u0434\u0435\u043D\u044C" };
obj.removeAllButton = obj6;
const obj5 = { marginRight: importDefault(dependencyMap[13]).space.PX_16 };
obj.reactionCountText = { color: importDefault(dependencyMap[13]).colors.INTERACTIVE_TEXT_DEFAULT };
const obj7 = { color: importDefault(dependencyMap[13]).colors.INTERACTIVE_TEXT_DEFAULT };
obj.reactionCountTextSelected = { color: importDefault(dependencyMap[13]).colors.INTERACTIVE_TEXT_ACTIVE };
obj.emoji = { marginRight: 8 };
const obj9 = { "Bool(false)": 0, "Bool(false)": 53.614, "Bool(false)": 3, color: importDefault(dependencyMap[13]).colors.INTERACTIVE_TEXT_DEFAULT };
obj.emojiText = obj9;
obj.emojiImage = {};
obj.emojiTextIdentifier = { padding: 16 };
obj.avatar = { marginRight: 10 };
obj.buttonRow = { "Bool(true)": true, "Bool(true)": true, "Bool(true)": true };
obj.loadingSpinner = { "Bool(false)": false, "Bool(false)": false };
let closure_19 = obj1.createStyles(obj);
let closure_20 = { code: "function MessageReactionsContentTsx1(){const{useReducedMotion,buttonWidth,withTiming}=this.__closure;return{maxWidth:useReducedMotion?buttonWidth.get():withTiming(buttonWidth.get(),{duration:200})};}" };
let closure_21 = { code: "function MessageReactionsContentTsx2(){const{useReducedMotion,textOpacity,withTiming}=this.__closure;return{opacity:useReducedMotion?textOpacity.get():withTiming(textOpacity.get(),{duration:125}),color:'white',fontSize:14,marginLeft:8,textAlignVertical:'center'};}" };
const Storage = arg1(dependencyMap[54]).Storage;
let closure_22 = Storage.get("MessageReactionsContent_SwipableBounced", false);
const obj8 = { color: importDefault(dependencyMap[13]).colors.INTERACTIVE_TEXT_ACTIVE };
const result = arg1(dependencyMap[60]).fileFinishedImporting("modules/reactions/native/MessageReactionsContent.tsx");
export { useReactors };
export { useReactorsOnScrollNative };
export const MessageReactionsEmpty = function MessageReactionsEmpty() {
const tmp = callback4();
let obj = arg1(dependencyMap[51]);
const tmp2 = importDefault(dependencyMap[50])();
obj = { scrollable: true, startHeight: 338 + tmp2.bottom };
obj = { style: tmp.containerEmpty };
const obj1 = { source: obj.useNoResultsSource() };
const intl = arg1(dependencyMap[33]).intl;
obj1.title = intl.string(arg1(dependencyMap[33]).t.HmPOrp);
const intl2 = arg1(dependencyMap[33]).intl;
obj1.body = intl2.string(arg1(dependencyMap[33]).t.pTJ5J/);
obj.children = callback2(arg1(dependencyMap[25]).RefreshEmptyState, obj1);
obj.children = callback2(arg1(dependencyMap[53]).BottomSheetView, obj);
return callback2(arg1(dependencyMap[52]).BottomSheet, obj);
};
export const MessageReactionsContent = function MessageReactionsContent(channelId) {
let disableManage;
let emoji;
let isSelectedBurst;
let messageId;
let reactionSelectedIndex;
let reactions;
let reactors;
let reactorsHasMore;
let setReactionSelectedIndex;
channelId = channelId.channelId;
const arg1 = channelId;
({ messageId, reactions, disableManage } = channelId);
({ emoji, isSelectedBurst } = channelId);
if (disableManage === undefined) {
disableManage = false;
}
let flag = channelId.disableTabs;
if (flag === undefined) {
flag = false;
}
const tmp2 = function useReactionSelected(reactions) {
let isSelectedBurst;
reactions = reactions.reactions;
const channelId = reactions;
({ emoji: closure_1, isSelectedBurst } = reactions);
if (isSelectedBurst === undefined) {
isSelectedBurst = false;
}
const tmp = callback(React.useState(() => {
if (null == closure_1) {
return 0;
} else {
const findIndexResult = reactions.findIndex((emoji) => {
const emojiEqualsResult = callback(closure_3[15]).emojiEquals(emoji.emoji, closure_1);
const burst_count = emoji.burst_count;
let num = 0;
if (null != burst_count) {
num = burst_count;
}
let tmp2 = num > 0;
if (closure_2) {
if (tmp2) {
tmp2 = emojiEqualsResult;
}
let tmp3 = tmp2;
} else {
tmp3 = !tmp2;
if (!tmp2) {
tmp3 = emojiEqualsResult;
}
}
return tmp3;
});
let num = 0;
if (findIndexResult >= 0) {
num = findIndexResult;
}
return num;
}
}), 2);
const bound = Math.min(tmp[0], reactions.length - 1);
return { reactionSelected: reactions[bound], reactionSelectedIndex: bound, setReactionSelectedIndex: tmp[1] };
}({ reactions, emoji, isSelectedBurst });
const reactionSelected = tmp2.reactionSelected;
({ reactionSelectedIndex, setReactionSelectedIndex } = tmp2);
if (null != reactionSelected.me_vote) {
let NORMAL = arg1(dependencyMap[17]).ReactionTypes.VOTE;
} else if (reactionSelected.burst_count > 0) {
NORMAL = arg1(dependencyMap[17]).ReactionTypes.BURST;
} else {
NORMAL = arg1(dependencyMap[17]).ReactionTypes.NORMAL;
}
let obj = { channelId, messageId, reaction: reactionSelected, reactionType: NORMAL };
const tmp = callback4();
({ reactors, reactorsHasMore } = useReactors(obj));
let obj1 = arg1(dependencyMap[14]);
const items = [closure_10];
const items1 = [channelId];
const stateFromStores = obj1.useStateFromStores(items, () => channel.getChannel(channelId), items1);
let obj2 = arg1(dependencyMap[55]);
const isActiveChannelOrUnarchivableThread = obj2.useIsActiveChannelOrUnarchivableThread(stateFromStores);
const tmp9 = useReactors(obj);
const tmp13 = function useCanManageMessages(channelId) {
const items = [closure_13];
const items1 = [channelId];
return channelId(closure_3[14]).useStateFromStores(items, () => closure_13.canWithPartialContext(constants.MANAGE_MESSAGES, { channelId: arg0 }), items1);
}(channelId) && !disableManage && isActiveChannelOrUnarchivableThread;
let name = reactionSelected.emoji.id;
if (null == name) {
name = reactionSelected.emoji.name;
}
obj = {};
const intl = arg1(dependencyMap[33]).intl;
obj.accessibilityLabel = intl.string(arg1(dependencyMap[33]).t.gHp0C4);
obj.footerSize = 48;
obj.insetBottom = importDefault(dependencyMap[50])().bottom;
obj = { channelId, messageId, reactionSelected, reactors, reactorsHasMore, reactionType: NORMAL };
obj.onScroll = useReactorsOnScrollNative(obj);
obj.renderFooter = useRenderFooter(reactors, reactorsHasMore);
obj.renderItem = useRenderItem(reactors, messageId, channelId, reactionSelected, tmp13);
obj.renderQuickActions = useRenderQuickActions(channelId, messageId, reactionSelected, reactors);
obj.itemSize = 48;
const items2 = [reactors.length];
obj.sections = items2;
obj.style = tmp.container;
const callback = React.useCallback(() => {
let closure_22 = true;
const Storage = channelId(closure_3[54]).Storage;
const result = Storage.set("MessageReactionsContent_SwipableBounced", true);
}, []);
let obj5 = arg1(dependencyMap[28]);
const tmp12 = importDefault(dependencyMap[50])();
obj1 = { scrollable: true, backdropOpacity: arg1(dependencyMap[56]).BACKDROP_OPACITY };
let tmp17 = null;
if (NORMAL === arg1(dependencyMap[17]).ReactionTypes.BURST) {
obj2 = { emoji: reactionSelected.emoji, reactionType: NORMAL, messageId, channelId };
tmp17 = callback2(importDefault(dependencyMap[57]), obj2);
}
obj1.backdropChildren = tmp17;
let tmp21 = null;
if (true !== flag) {
const obj3 = { reactions, reactionSelectedIndex, setReactionSelectedIndex, messageId, channelId };
tmp21 = callback2(ReactionTabs, obj3);
}
obj1.header = tmp21;
if (tmp15) {
const obj4 = { inActionSheet: true, bounceFirstRowOnMount: !closure_22, onBounceSwipable: callback };
let tmp25Result = tmp25(tmp26[58]);
const merged = Object.assign(obj);
let tmp24Result = tmp24(tmp25Result, obj4, name);
} else {
obj5 = { inActionSheet: true };
tmp25Result = tmp25(tmp26[59]);
const merged1 = Object.assign(obj);
tmp24Result = tmp24(tmp25Result, obj5, name);
}
obj1.children = tmp24Result;
return callback2(arg1(dependencyMap[52]).BottomSheet, obj1);
};