// Metro module 12025 (f12026). import EmbeddedActivitiesStore from "../../activities/EmbeddedActivitiesStore"; import ChannelStore from "../../../stores/ChannelStore"; import ConnectedAccountsStore from "../../../stores/ConnectedAccountsStore"; import GuildMemberCountStore from "../../../stores/GuildMemberCountStore"; import GuildStore from "../../../stores/GuildStore"; import LocalActivityStore from "../../../stores/LocalActivityStore"; import PermissionStore from "../../../stores/PermissionStore"; import RelationshipStore from "../../../stores/RelationshipStore"; import SelectedChannelStore from "../../../stores/SelectedChannelStore"; import SelfPresenceStore from "../../../stores/SelfPresenceStore"; import VoiceStateStore from "../../../stores/VoiceStateStore"; import { PlatformTypes, UserSettingsSections } from "../../../Constants"; import { SpotifyResourceTypes, SpotifyEndpoints } from "../../spotify/SpotifyConstants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import useAnalyticsLocations from "../../app_analytics/useAnalyticsLocations"; import { getEmbeddedActivityLocationChannelId } from "../../activities/utils/embeddedActivityLocationUtils"; import { useStateFromStores } from "../../../_bundle/defaultAreStatesEqual"; import getActivityChannelId from "../../activities/utils/getActivityChannelId"; import getActivityJoinability, { ActivityJoinability } from "../../activities/utils/getActivityJoinability"; import isEmbeddedActivity from "../../activities/utils/isEmbeddedActivity"; import { Button } from "../../../design/components/Button/native/Button.native"; import { intl, t } from "../../../intl/index.native"; import { AppsIcon } from "../../../design/components/Icon/native/redesign/generated/AppsIcon"; import handleJoinEmbeddedActivity from "../../activities/handleJoinEmbeddedActivity"; import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators"; import GamesActionCreators_native from "../../../actions/GamesActionCreators.native"; import isListeningOnSpotify from "../../activities/utils/isListeningOnSpotify"; import { Icon } from "../../../design/void/native"; import Module7920 from "../../../_bundle/Module7920"; import { canOpenSpotifyUrl, openUrl, attributeInstall } from "../../now_playing/native/UserActivitySpotify"; import Linking from "../../../lib/native/Linking"; import getStreamURL from "../../activities/utils/getStreamURL"; import isStreaming from "../../activities/utils/isStreaming"; import ModalActionCreators from "../../../actions/ModalActionCreators"; import { getRootNavigationRef } from "../../main_tabs_v2/RootNavigationRef.native"; import { connectAndOpen } from "../../stage_channels/StageChannelModalActionCreators"; import { openGuildVoiceModal } from "../../../utils/native/PrivateChannelCallUtils"; import Platforms from "../../../lib/Platforms"; import { makeSource } from "../../../utils/AvatarUtils"; import authorizeConnection_native from "../../connections/authorizeConnection.native"; import { openUserSettings } from "../../user_settings/core/native/openUserSettings"; import isCrunchyrollActivity from "../../activities/utils/isCrunchyrollActivity"; import { getMetadata } from "../../../actions/UserActivityActionCreators"; import URLUtils from "../../../utils/URLUtils"; import { handleClick } from "../../../utils/MaskedLinkUtils"; function $mk116350($env) { return () => Linking.openURL($env[3]); } let env8265 = {}; const useStyles = createStyles({ icon: { tintColor: Module712.colors.CONTROL_SECONDARY_TEXT_DEFAULT } }); export function JoinActivityButton(props) { const { user, currentUser, activity, application, onAction } = props; const analyticsLocations = useAnalyticsLocations().analyticsLocations; const embeddedActivityLocationChannelId = getEmbeddedActivityLocationChannelId(EmbeddedActivitiesStore.getEmbeddedActivityForUserId(user.id, application?.id)?.location); const stateFromStores = useStateFromStores([], () => getActivityChannelId({ channelId: embeddedActivityLocationChannelId, userId: user.id, activity })); const stateFromStores2 = useStateFromStores([ChannelStore, GuildStore, GuildMemberCountStore, RelationshipStore, SelectedChannelStore, VoiceStateStore, PermissionStore, LocalActivityStore, SelfPresenceStore, EmbeddedActivitiesStore], () => getActivityJoinability({ isEmbedded: true, user, currentUser, activity, application, channelId: stateFromStores, ChannelStore, GuildStore, GuildMemberCountStore, RelationshipStore, SelectedChannelStore, VoiceStateStore, PermissionStore, LocalActivityStore, SelfPresenceStore, EmbeddedActivitiesStore })); return isEmbeddedActivity(activity) ? application != null ? stateFromStores2 !== ActivityJoinability.CANNOT_JOIN ?