/* Metro module 10256; source: modules/user_profile/native/UserProfileActivityButtons.tsx; dependencies: [5, 31, 1378, 1379, 5040, 4111, 1867, 6877, 3784, 3793, 1934, 6876, 4297, 661, 6868, 33, 4501, 697, 6771, 3774, 632, 10257, 10258, 6885, 4578, 1244, 8840, 8109, 4080, 10265, 6887, 1305, 8381, 10216, 3853, 10266, 8419, 5080, 5176, 4008, 8113, 7709, 4915, 1423, 9354, 7007, 8846, 10218, 1471, 8872, 2] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import EmbeddedActivitiesStore from '../../activities/EmbeddedActivitiesStore.tsx'; /* Metro dependency 1378 */
import ChannelStore from '../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
import GuildStore from '../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
import SelectedChannelStore from '../../../stores/SelectedChannelStore.tsx'; /* Metro dependency 1934 */
import PermissionStore from '../../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */
import RelationshipStore from '../../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */
import Linking from '../../../lib/native/Linking.tsx'; /* Metro dependency 3853 */
import ActionSheetActionCreators from '../../action_sheet/native/ActionSheetActionCreators.tsx'; /* Metro dependency 4080 */
import GuildMemberCountStore from '../../../stores/GuildMemberCountStore.tsx'; /* Metro dependency 4111 */
import VoiceStateStore from '../../../stores/VoiceStateStore.tsx'; /* Metro dependency 4297 */
import Platforms from '../../../lib/Platforms.tsx'; /* Metro dependency 4915 */
import ConnectedAccountsStore from '../../../stores/ConnectedAccountsStore.tsx'; /* Metro dependency 5040 */
import ModalActionCreators from '../../../actions/ModalActionCreators.tsx'; /* Metro dependency 5080 */
import UseAnalyticsLocations from '../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import SelfPresenceStore from '../../../stores/SelfPresenceStore.tsx'; /* Metro dependency 6876 */
import LocalActivityStore from '../../../stores/LocalActivityStore.tsx'; /* Metro dependency 6877 */
import HandleJoinEmbeddedActivity from '../../activities/handleJoinEmbeddedActivity.tsx'; /* Metro dependency 8109 */
import GetActivityChannelId from '../../activities/utils/getActivityChannelId.tsx'; /* Metro dependency 10257 */
import GetActivityJoinability from '../../activities/utils/getActivityJoinability.tsx'; /* Metro dependency 10258 */
import GamesActionCreatorsNative from '../../../actions/GamesActionCreators.native.tsx'; /* Metro dependency 10265 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as UseStateFromStoresModule from '../../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as NativeModule from '../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as AvatarUtilsModule from '../../../utils/AvatarUtils.tsx'; /* Metro dependency 1423 */
import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as YouBarExperimentModule from '../../main_tabs_v2/YouBarExperiment.tsx'; /* Metro dependency 5176 */
import * as GetActivityJoinabilityModule from '../../activities/utils/getActivityJoinability.tsx'; /* Metro dependency 10258 */
function _fun79633(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:6, offset: 0x01e5bcd2, size: 534 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
ReactModule;
let value = ConstantsModule;
const env0_15 = value.PlatformTypes;
const env0_16 = value.UserSettingsSections;
value = require(6868) /* metro dependency 6868: SpotifyConstants */;
const env0_17 = value.SpotifyEndpoints;
const env0_18 = value.SpotifyResourceTypes;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const CONTROL_SECONDARY_TEXT_DEFAULT = (Native).colors.CONTROL_SECONDARY_TEXT_DEFAULT;
const env0_20 = Reflect.apply(createStyles, value, [{icon: {tintColor: CONTROL_SECONDARY_TEXT_DEFAULT}}]);
(FileImportTrackerModule).fileFinishedImporting('modules/user_profile/native/UserProfileActivityButtons.tsx');
exports.JoinActivityButton = JoinActivityButton;
exports.JoinGameActivityButton = JoinGameActivityButton;
exports.PlayOnSpotifyButton = PlayOnSpotifyButton;
exports.WatchActivityButton = WatchActivityButton;
exports.VoiceChannelButtons = VoiceChannelButtons;
exports.ConnectPlatformButton = ConnectPlatformButton;
exports.CustomActivityButton = CustomActivityButton;
function JoinActivityButton({user, currentUser, activity, application, onAction}) { // fn#79634, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:560, offset: 0x01e5bee8, size: 707 bytes, params: 2, frame: 24
var r0;
const ActivityJoinability = (GetActivityJoinabilityModule).ActivityJoinability;
var Button;
var JOINED;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const env0_5 = (UseAnalyticsLocations)().analyticsLocations;
const env0_6 = (require(3774) /* metro dependency 3774: embeddedActivityLocationUtils */).getEmbeddedActivityLocationChannelId(EmbeddedActivitiesStore.getEmbeddedActivityForUserId(user.id,
application?.id)?.location);
let useStateFromStores = UseStateFromStoresModule.useStateFromStores;
const env0_7 = Reflect.apply(useStateFromStores, UseStateFromStoresModule, [[], _fun79635]);
useStateFromStores = UseStateFromStoresModule.useStateFromStores;
object = [ChannelStore];
object[1] = GuildStore;
object[2] = GuildMemberCountStore;
object[3] = RelationshipStore;
object[4] = SelectedChannelStore;
object[5] = VoiceStateStore;
object[6] = PermissionStore;
object[7] = LocalActivityStore;
object[8] = SelfPresenceStore;
object[9] = EmbeddedActivitiesStore;
const value5 = Reflect.apply(useStateFromStores, UseStateFromStoresModule, [object, _fun79636]);
if ((importDefault(6885) /* metro dependency 6885: isEmbeddedActivity */)(activity)) {
if (application != null) {
if (value5 === ActivityJoinability.CANNOT_JOIN) {
r0 = null;
} else {
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
object = {};
JOINED = ActivityJoinability.JOINED;
object.text = value5 === JOINED ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.DPfdsq) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['4i2vj+']);
object.icon = ((AppsIcon) => )((require(8840) /* metro dependency 8840: AppsIcon */).AppsIcon);
object.variant = 'active';
JOINED = ActivityJoinability.JOINED;
object.disabled = value5 === JOINED;
object.onPress = onPress_79637;
r0 = ;
}
} else {
r0 = null;
}
} else {
r0 = null;
}
return r0;
function _fun79635() { // fn#79635, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:852, offset: 0x01e5c1ab, size: 67 bytes, params: 1, frame: 13
const value = environment.__proto__;
return (GetActivityChannelId)({channelId: env0_6,
userId: user.id, activity: activity});
}
function _fun79636() { // fn#79636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:958, offset: 0x01e5c1ee, size: 176 bytes, params: 1, frame: 14
return (GetActivityJoinability)({isEmbedded: true, user: user,
currentUser: currentUser, activity: activity, application: application, channelId: env0_7,
ChannelStore: ChannelStore, GuildStore: GuildStore, GuildMemberCountStore: GuildMemberCountStore,
RelationshipStore: RelationshipStore, SelectedChannelStore: SelectedChannelStore,
VoiceStateStore: VoiceStateStore, PermissionStore: PermissionStore, LocalActivityStore: LocalActivityStore,
SelfPresenceStore: SelfPresenceStore, EmbeddedActivitiesStore: EmbeddedActivitiesStore});
}
function JoinActivityButtonOnPress() { // fn#79637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:1593, owner: JoinActivityButton.onPress, offset: 0x01e5c29e, size: 118 bytes, params: 1, frame: 15
onAction({action: 'PRESS_JOIN_BUTTON'});
(HandleJoinEmbeddedActivity)({applicationId: application.id,
activityChannelId: env0_7, locationObject: {}, analyticsLocations: analyticsLocations});
(ActionSheetActionCreators).hideActionSheet();
}
}
function JoinGameActivityButton({user, currentUser, activity, application, onAction}) { // fn#79638, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:1781, offset: 0x01e5c314, size: 527 bytes, params: 2, frame: 24
var r8;
var r0;
const ActivityJoinability = (GetActivityJoinabilityModule).ActivityJoinability;
var Button;
var JOINED;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const env0_5 = (UseAnalyticsLocations)().analyticsLocations;
const object = {};
object.id = application.id;
object.deeplink_uri = application.deepLinkUri;
const value2 = (UseStateFromStoresModule).useStateFromStores([ChannelStore,
GuildStore, GuildMemberCountStore, RelationshipStore, SelectedChannelStore, VoiceStateStore, PermissionStore,
LocalActivityStore, SelfPresenceStore, EmbeddedActivitiesStore], _fun79639);
if (application == null) {
r0 = null;
} else if (value2 === ActivityJoinability.CANNOT_JOIN) {
r0 = null;
} else {
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
JOINED = ActivityJoinability.JOINED;
r8 = value2 === JOINED ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t.DPfdsq) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.VJlc0S);
JOINED = ActivityJoinability.JOINED;
r0 = (
);
}
return r0;
function _fun79639() { // fn#79639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:2001, offset: 0x01e5c523, size: 174 bytes, params: 1, frame: 14
return (GetActivityJoinability)({user: user,
currentUser: currentUser, activity: activity, application: application, channelId: null, isEmbedded: false,
ChannelStore: ChannelStore, GuildStore: GuildStore, GuildMemberCountStore: GuildMemberCountStore,
RelationshipStore: RelationshipStore, SelectedChannelStore: SelectedChannelStore,
VoiceStateStore: VoiceStateStore, PermissionStore: PermissionStore, LocalActivityStore: LocalActivityStore,
SelfPresenceStore: SelfPresenceStore, EmbeddedActivitiesStore: EmbeddedActivitiesStore});
}
function JoinGameActivityButtonOnPress() { // fn#79640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:2576, owner: JoinGameActivityButton.onPress, offset: 0x01e5c5d1, size: 153 bytes, params: 1, frame: 18
onAction({action: 'PRESS_JOIN_BUTTON'});
const defaultImport = GamesActionCreatorsNative;
const join = defaultImport.join;
const activityBinding = activity;
Reflect.apply(join, defaultImport, [{userId: user.id, sessionId: activityBinding.session_id, application: env0_6,
channelId: null, messageId: null, applicationActivity: activityBinding, source: 'UserProfile',
analyticsLocations: analyticsLocations}]);
(ActionSheetActionCreators).hideActionSheet();
}
}
function PlayOnSpotifyButton({activity, onAction}) { // fn#79641, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10442:2826, offset: 0x01e5c66a, size: 317 bytes, params: 2, frame: 24
var r0;
var Button;
var intl;
const styles = useStyles();
if ((importDefault(6887) /* metro dependency 6887: isListeningOnSpotify */)(activity)) {
if (activity.sync_id != null) {
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r0 = (