// 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 ? } variant="active" disabled={stateFromStores2 === ActivityJoinability.JOINED} onPress={() => {
onAction({
action: "PRESS_JOIN_BUTTON"
});
handleJoinEmbeddedActivity({
applicationId: application.id,
activityChannelId: stateFromStores,
locationObject: {},
analyticsLocations
});
ActionSheetActionCreators.hideActionSheet();
}} /> : null : null : null;
}
export function JoinGameActivityButton(props) {
const { user: user2, currentUser: currentUser2, activity: activity2, application: application2, onAction: onAction2 } = props;
const analyticsLocations2 = useAnalyticsLocations().analyticsLocations;
const application3 = {
id: application2.id,
deeplink_uri: application2.deepLinkUri
};
const stateFromStores2 = useStateFromStores([ChannelStore, GuildStore, GuildMemberCountStore, RelationshipStore, SelectedChannelStore, VoiceStateStore, PermissionStore, LocalActivityStore, SelfPresenceStore, EmbeddedActivitiesStore], () => getActivityJoinability({
user: user2,
currentUser: currentUser2,
activity: activity2,
application: application2,
channelId: null,
isEmbedded: false,
ChannelStore,
GuildStore,
GuildMemberCountStore,
RelationshipStore,
SelectedChannelStore,
VoiceStateStore,
PermissionStore,
LocalActivityStore,
SelfPresenceStore,
EmbeddedActivitiesStore
}));
return application2 == null ? null : stateFromStores2 !== ActivityJoinability.CANNOT_JOIN ?