// Metro module 9062 (f9063).
import { useMemo } from "react";
import { View } from "react-native";
import PresenceStore from "../../../stores/PresenceStore";
import RelationshipStore from "../../../stores/RelationshipStore";
import UserStore from "../../../stores/UserStore";
import { DOT_UNICODE } from "../ActivityStatusConstants";
import { ActivityTypes } from "../../../Constants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import { useStateFromStores } from "../../../_bundle/Module589";
import useDiscoverableApplicationStream from "../../blocking/useDiscoverableApplicationStream";
import useUserVoiceActivity from "../useUserVoiceActivity";
import { useGameMentionsAsPlainText } from "../../game_mentions/hooks/useGameMentionsAsPlainText";
import ApplicationStreamActivityStatus from "./ApplicationStreamActivityStatus";
import isGameActivity from "../../activities/utils/isGameActivity";
import PresenceActivityStatus from "./PresenceActivityStatus";
import VoiceActivityStatus from "./VoiceActivityStatus";
import ActivityEmoji from "./ActivityEmoji";
import ActivityStatusText from "./ActivityStatusText";
const useStyles = createStyles({
container: {
flexDirection: "row",
alignItems: "center",
gap: 4
},
icon: {
marginTop: 1
},
emoji: {
marginRight: 0
}
});
export default function ActivityStatus(props) {
let r71;
let stateFromStores;
const { userId, guildId, iconStyle, textStyle, emojiSize = 14, maxFontSizeMultiplier, animate = true, hideEmoji = false } = props;
stateFromStores = void 0;
const styles = useStyles();
const stateFromStores2 = useStateFromStores([UserStore], () => UserStore.getUser(userId));
stateFromStores = useStateFromStores([PresenceStore], () => PresenceStore.getActivities(userId));
const discoverableApplicationStream = useDiscoverableApplicationStream(userId);
const voiceChannel = useUserVoiceActivity({
userId,
guildId
}).voiceChannel;
const memo = useMemo(() => {
const r3 = stateFromStores == null ? void 0 : stateFromStores.find((stateFromStore) => stateFromStore.type === ActivityTypes.CUSTOM_STATUS);
if (r3 == null) {
return null;
}
const state = r3.state;
let r4 = state == null ? void 0 : state.trim();
if (r4 == null) {
r4 = null;
}
return (r4 !== "" ? r4 : null) == null ? r3.emoji == null ? null : r3 : r3;
}, [stateFromStores]);
const gameMentionsAsPlainText = useGameMentionsAsPlainText(memo?.state);
if (useStateFromStores([RelationshipStore], () => RelationshipStore.isBlockedOrIgnored(userId))) {
return null;
}
const bot = stateFromStores2?.bot;
const state = memo?.state;
const hideIcon = bot === true;
const hideText = state != null;
if (discoverableApplicationStream != null) {
r71 = ;
} else {
const activity = stateFromStores == null ? void 0 : stateFromStores.find(({ type }) => type !== ActivityTypes.CUSTOM_STATUS && type !== ActivityTypes.HANG_STATUS);
r71 = activity != null ? : voiceChannel != null ? : null;
}
const r96 = memo == null ? null : memo != null ? <>
{memo.emoji != null && !hideEmoji && }
{memo.state != null && {gameMentionsAsPlainText}}
> : null;
return
{r71}
{r71 != null && r96 != null && {DOT_UNICODE}}
{r96}
;
};