Files
discord-decomp/modules/messages/native/emoji/MessageEmojiActionSheet.tsx
T
2026-11-01 12:12:55 +02:00

58 lines
2.4 KiB
TypeScript

// Metro module 9409 (f9410).
import { View } from "react-native";
import { AnalyticEvents } from "../../../../Constants";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import { isAndroid } from "../../../../utils/PlatformUtils";
import { v4 } from "../../../../_bundle/Module514";
import { BottomSheet } from "../../../../design/components/Sheet/native/BottomSheet.native";
import AnalyticsUtils from "../../../../utils/AnalyticsUtils";
import StandardEmojiContent from "./StandardEmojiContent";
import { useEmojiAndSource } from "../../../emojis/hooks/useEmojiAndSource";
import CustomEmojiContent from "./CustomEmojiContent";
let useStyles, MessageCustomEmojiActionSheet;
const MessageStandardEmojiActionSheet = function MessageStandardEmojiActionSheet(props) {
const emojiNode = props.emojiNode;
const styles = useStyles();
const nonce = v4();
return <BottomSheet startExpanded onDismiss={() => {
AnalyticsUtils.track(AnalyticEvents.CLOSE_POPOUT, {
nonce
});
}}>
<View style={styles.contentWrapper}>
<StandardEmojiContent emojiNode={emojiNode} nonce={nonce} />
</View>
</BottomSheet>;
};
MessageCustomEmojiActionSheet = function MessageCustomEmojiActionSheet(props) {
const emojiNode = props.emojiNode;
const styles = useStyles();
const emojiAndSource = useEmojiAndSource({
emojiId: emojiNode.id
});
const { sourceType, expressionSourceGuild, expressionSourceApplication, hasJoinedEmojiSourceGuild, emoji } = emojiAndSource;
if (emojiAndSource.isFetching) {
return null;
}
const nonce2 = v4();
return <BottomSheet startExpanded onDismiss={() => {
AnalyticsUtils.track(AnalyticEvents.CLOSE_POPOUT, {
nonce: nonce2
});
}}>
<View style={styles.contentWrapper}>
<CustomEmojiContent emojiNode={emojiNode} sourceType={sourceType} expressionSourceApplication={expressionSourceApplication} expressionSourceGuild={expressionSourceGuild} customEmojiFromJoinedGuild={emoji} hasJoinedEmojiSourceGuild={hasJoinedEmojiSourceGuild} nonce={nonce2} />
</View>
</BottomSheet>;
};
useStyles = createStyles({
contentWrapper: {
paddingHorizontal: 16,
paddingBottom: isAndroid() ? 16 : 0
}
});
export default function MessageEmojiActionSheet(props) {
const emojiNode = props.emojiNode;
return "surrogate" in emojiNode ? <MessageStandardEmojiActionSheet emojiNode={emojiNode} /> : <MessageCustomEmojiActionSheet emojiNode={emojiNode} />;
};