/* Metro module 12035; source: modules/accept_invite/native/InviteDetails.tsx; dependencies: [57, 31, 27, 11876, 1885, 1878, 661, 9445, 33, 4501, 697, 6235, 4116, 1305, 11976, 3995, 1244, 8642, 4573, 1423, 5475, 683, 566, 12036, 9048, 4578, 6261, 2] */
function _fun92500(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:6, offset: 0x0208c23c, size: 957 bytes, params: 8, frame: 26
var object4;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const multiAccountStore = importDefault(11876) /* metro dependency 11876: MultiAccountStore */;
const userRecord = importDefault(1885) /* metro dependency 1885: UserRecord */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_9 = value.AnalyticEvents;
const env0_10 = value.InviteStates;
const env0_11 = (require(9445) /* metro dependency 9445: HubConstants */).INVITE_ROUTING_HUB_GUILD_ID;
value = require(33) /* metro dependency 33 */;
const env0_12 = value.jsx;
const env0_13 = value.jsxs;
const env0_14 = value.Fragment;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object4 = {};
const object7 = {'height': 64, 'width': 64, 'margin': 0};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object4.avatar = object7;
const object8 = {'borderRadius': null, 'height': 64, 'width': 64, 'marginBottom': 24, 'marginTop': 24};
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.none;
object4.avatarContainer = object8;
object4.inviteJoinContainer = {'flexDirection': 'row', 'alignItems': 'flex-start', 'marginBottom': 8,
'marginLeft': 16, 'marginRight': 16};
object4.inviteJoinText = {textAlign: 'center'};
const object12 = {};
object12.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.none;
object12.marginRight = 8;
object4.inviterIconWrapper = object12;
const object13 = {'width': 20, 'height': 20};
object13.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object4.inviterIcon = object13;
object4.guildNameContainer = {'flexDirection': 'row', 'alignItems': 'center', 'marginBottom': 8};
object4.guildNameText = {textAlign: 'center'};
const DARK_1_LIGHT_04 = (require(6235) /* metro dependency 6235: LegacyTokens */).DARK_1_LIGHT_04;
object4.featureIcon = {'flexGrow': 0, 'marginRight': 8, opacity: DARK_1_LIGHT_04};
object4.memberInfo = {'flexDirection': 'row', 'alignItems': 'center', 'marginBottom': 8};
object4.rolesList = {'marginTop': 8, 'marginBottom': 8, 'alignItems': 'center'};
const object14 = {'width': 8, 'height': 8, 'borderRadius': null, 'marginRight': 4};
object14.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const GREEN_360 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GREEN_360;
object14.backgroundColor = GREEN_360;
object4.dotOnline = object14;
const object15 = {'width': 8, 'height': 8, 'borderRadius': null, 'marginRight': 4, 'marginLeft': 16};
object15.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const PRIMARY_400 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PRIMARY_400;
object15.backgroundColor = PRIMARY_400;
object4.dotOffline = object15;
const object16 = {'width': '100%', 'backgroundColor': null, 'padding': 16, 'borderRadius': null, 'marginTop': 16,
'marginBottom': 8};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object16.backgroundColor = BACKGROUND_SURFACE_HIGH;
object16.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object4.embedDetailsCard = object16;
const env0_15 = Reflect.apply(createStyles, value, [object4]);
const getMemberCountFromInvite = function(a0) {
var object = {};
var property = a0.approximate_presence_count;
var value = null;
var value2 = 0;
object.onlineCount = value != property ? property : value2;
property = a0.approximate_member_count;
object.memberCount = value != property ? property : value2;
return value2 === object.memberCount ? value : object;
};
object4 = {ACCEPT: 0};
object4[0] = 'ACCEPT';
object4.DECLINE = 1;
object4[1] = 'DECLINE';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/accept_invite/native/InviteDetails.tsx');
exports.default = InviteDetails;
}
function InviteDestinationIcon({invite}) { // fn#92501, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:1889, offset: 0x0208c5f9, size: 341 bytes, params: 2, frame: 25
var r4;
var r5;
var inviter;
var value2;
var guild;
var value3;
var Avatar;
var userRecord;
var value;
const styles = useStyles();
const items2 = [styles.avatarContainer];
const inviteTypeUtilsModule = require(4116) /* metro dependency 4116: InviteTypeUtils */;
if (inviteTypeUtilsModule.isGroupDMInvite(invite)) {
inviter = invite.inviter;
value2 = null;
if (value2 != inviter) {
inviter = invite.inviter;
if (value2 != inviter) {
Avatar = (require(1305) /* metro dependency 1305: native */).Avatar;
var avatarProps = {avatarStyle: styles.avatar};
inviter = invite.inviter;
userRecord = new UserRecord();
avatarProps.user = userRecord;
avatarProps.guildId = undefined;
avatarProps.size = (require(1305) /* metro dependency 1305: native */).AvatarSizes.XLARGE;
userRecord = ;
r5 = userRecord;
} else {
r5 = value2;
}
r4 = r5;
} else {
guild = invite.guild;
value3 = null;
if (value3 != guild) {
value = importDefault(11976) /* metro dependency 11976: GuildInviteIcon */;
value = ((Component) => )(value);
r4 = value;
} else {
r4 = value3;
}
}
} else {
guild = invite.guild;
value3 = null;
if (value3 != guild) {
value = importDefault(11976) /* metro dependency 11976: GuildInviteIcon */;
value = ((Component) => )(value);
r4 = value;
} else {
r4 = value3;
}
}
return (
{r4}
);
}
function InviteHeader({invite}) { // fn#92502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:2269, offset: 0x0208c74e, size: 449 bytes, params: 2, frame: 22
var name;
var r0;
var r9;
var defaultImport;
var intl;
var formatToPlainString;
var property;
var defaultImport2;
const styles = useStyles();
const inviteTypeUtilsModule = require(4116) /* metro dependency 4116: InviteTypeUtils */;
if (inviteTypeUtilsModule.isGroupDMInvite(invite)) {
name = invite.channel?.name;
if (name != null) {
r0 = name;
} else {
defaultImport = importDefault(3995) /* metro dependency 3995: UserUtils */;
r0 = defaultImport.getFormattedName(invite.inviter);
}
r9 = r0;
} else {
r9 = invite.guild?.name;
}
const moduleValue2 = inviteTypeUtilsModule;
if (moduleValue2.isFriendInvite(invite)) {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
formatToPlainString = intl.formatToPlainString;
property = (require(1244) /* metro dependency 1244: indexNative */).t['4aF92R'];
defaultImport2 = importDefault(3995) /* metro dependency 3995: UserUtils */;
r9 = Reflect.apply(formatToPlainString, intl, [property,
{username: defaultImport2.getFormattedName(invite.inviter)}]);
}
return r9 == null ? null : {((Component) => )(importDefault(8642) /* metro dependency 8642: GuildBadge */)}{((Heading) => {r9})((require(4573) /* metro dependency 4573: Text */).Heading)};
}
function InviteJoinContext({invite, isRegistration, isGuildMember}) { // fn#92503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:2851, offset: 0x0208c90f, size: 1063 bytes, params: 2, frame: 27
var r2;
var r8;
var r6;
var moduleValue2;
var moduleValue3;
var format;
var spU2mI;
var defaultImport;
var formatToPlainString;
var x2L32Q;
var defaultImport2;
var Lu4h18;
var defaultImport3;
var Quj7HX;
var defaultImport4;
var moduleValue4;
const styles = useStyles();
const value2 = env0_4.useMemo(_fun92504, [invite, isGuildMember]);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const value3 = Reflect.apply(string, intl, [t['3rE1P8']]);
if ((require(4116) /* metro dependency 4116: InviteTypeUtils */).isFriendInvite(invite)) {
format = intl.format;
Quj7HX = (require(1244) /* metro dependency 1244: indexNative */).t.Quj7HX;
defaultImport4 = importDefault(3995) /* metro dependency 3995: UserUtils */;
r8 = Reflect.apply(format, intl, [Quj7HX, {username: defaultImport4.getFormattedName(invite.inviter)}]);
} else {
moduleValue2 = require(4116) /* metro dependency 4116: InviteTypeUtils */;
if (moduleValue2.isGroupDMInvite(invite)) {
if (invite.channel == null) {
r2 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.OsdY8B);
} else if (invite.inviter != null) {
format = intl.format;
Lu4h18 = (require(1244) /* metro dependency 1244: indexNative */).t.Lu4h18;
defaultImport3 = importDefault(3995) /* metro dependency 3995: UserUtils */;
r2 = Reflect.apply(format, intl, [Lu4h18, {username: defaultImport3.getFormattedName(invite.inviter)}]);
} else {
r2 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.OsdY8B);
}
r8 = r2;
} else {
moduleValue3 = require(4116) /* metro dependency 4116: InviteTypeUtils */;
if (moduleValue3.isStreamInvite(invite)) {
if (invite.target_user != null) {
formatToPlainString = intl.formatToPlainString;
x2L32Q = (require(1244) /* metro dependency 1244: indexNative */).t.x2L32Q;
defaultImport2 = importDefault(3995) /* metro dependency 3995: UserUtils */;
r8 = Reflect.apply(formatToPlainString, intl, [x2L32Q,
{username: defaultImport2.getFormattedName(invite.target_user)}]);
} else if (isAlreadyMember(invite, isGuildMember)) {
string = intl.string;
r8 = isRegistration ? Reflect.apply(string, intl, [t.jpwYbt]) : Reflect.apply(string, intl,
[t['FDsl+J']]);
} else if (shouldShowInviter(invite, isGuildMember) && invite.inviter != null) {
format = intl.format;
spU2mI = (require(1244) /* metro dependency 1244: indexNative */).t.spU2mI;
defaultImport = importDefault(3995) /* metro dependency 3995: UserUtils */;
r8 = Reflect.apply(format, intl, [spU2mI,
{username: defaultImport.getFormattedName(invite.inviter)}]);
} else {
r8 = value3;
}
} else if (isAlreadyMember(invite, isGuildMember)) {
string = intl.string;
r8 = isRegistration ? Reflect.apply(string, intl, [t.jpwYbt]) : Reflect.apply(string, intl,
[t['FDsl+J']]);
} else if (shouldShowInviter(invite, isGuildMember) && invite.inviter != null) {
format = intl.format;
spU2mI = (require(1244) /* metro dependency 1244: indexNative */).t.spU2mI;
defaultImport = importDefault(3995) /* metro dependency 3995: UserUtils */;
r8 = Reflect.apply(format, intl, [spU2mI, {username: defaultImport.getFormattedName(invite.inviter)}]);
} else {
r8 = value3;
}
}
}
if (value2 == null) {
r6 = null;
} else {
moduleValue4 = require(4116) /* metro dependency 4116: InviteTypeUtils */;
r6 = moduleValue4.isFriendInvite(invite) ? null : {((Component) => )(importDefault(5475) /* metro dependency 5475: FastImage */)};
}
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
{r6}
{r8}
);
}
function InviteMemberCounts({invite, isGuildMember}) { // fn#92505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:4163, offset: 0x0208cdf6, size: 533 bytes, params: 2, frame: 31
var r7;
var r6;
var r0;
var jsxRuntimeEnv0_14Binding;
var items4;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var items2;
var items3;
const styles = useStyles();
const memberCountFromInvite = getMemberCountFromInvite(invite);
if (memberCountFromInvite == null) {
r0 = null;
} else if (shouldShowInviter(invite, isGuildMember)) {
r0 = null;
} else if ((invite == null || invite.guild == null ? undefined : invite.guild.id) === INVITE_ROUTING_HUB_GUILD_ID) {
r0 = null;
} else {
var viewBindingProps = {style: styles.memberInfo};
if (memberCountFromInvite.onlineCount != null) {
jsxRuntimeEnv0_14Binding = jsxRuntimeEnv0_14;
items4 = [];
items4[1] = {intl.format((require(1244) /* metro dependency 1244: indexNative */).t['LC+S+m'],
{membersOnline: memberCountFromInvite.onlineCount})};
r7 = <>{items4}>;
} else {
r7 = null;
}
items2 = [r7];
if (memberCountFromInvite.memberCount != null) {
jsxRuntimeEnv0_14Binding = jsxRuntimeEnv0_14;
items3 = [];
items3[1] = {intl.format((require(1244) /* metro dependency 1244: indexNative */).t.zRl6XR,
{count: memberCountFromInvite.memberCount})};
r6 = <>{items3}>;
} else {
r6 = null;
}
items2[1] = r6;
r0 = {items2};
}
return r0;
}
function isAlreadyMember(a0, a1) { // fn#92507, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:1691, offset: 0x0208d053, size: 33 bytes, params: 3, frame: 3
return a1 && a0.state !== InviteStates.ACCEPTED;
}
function shouldShowInviter(a0, a1) { // fn#92508, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:1740, offset: 0x0208d074, size: 93 bytes, params: 3, frame: 15
var memberCount;
var getMemberCountFromInviteBinding;
var memberCountFromInviteBinding;
let value = a0.inviter != null;
let r0 = value && !isAlreadyMember(a0, a1);
if (r0) {
getMemberCountFromInviteBinding = getMemberCountFromInvite;
value = undefined;
memberCountFromInviteBinding = getMemberCountFromInviteBinding(a0);
memberCount = memberCountFromInviteBinding == null ? value : memberCountFromInviteBinding.memberCount;
value = 0;
value = !((memberCount ?? value) > 100);
r0 = value;
}
return r0;
}
function InviteDetails({invite, isGuildMember, onPressJoin, onPressClose, isRegistration}) { // fn#92509, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:4982, offset: 0x0208d0d1, size: 1234 bytes, params: 2, frame: 36
var r18;
var r19;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var value15;
const styles = useStyles();
let binding = env0_4;
const [property, env0_3] = env0_3Binding(binding.useState(), 2);
const guild_scheduled_event = invite.guild_scheduled_event;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const canUseMultiAccountMobile = (require(566) /* metro dependency 566: flux */).useStateFromStores([MultiAccountStore],
function() {
return MultiAccountStore.getCanUseMultiAccountMobile();
});
const jsxRuntimeEnv0_14Binding = jsxRuntimeEnv0_14;
const items3 = [];
items3[1] = ;
items3[2] = ;
items3[3] = ;
items3[4] = ((Component) => )(importDefault(12036) /* metro dependency 12036: InviteRolesList */);
items3[5] = guild_scheduled_event != null && {((GuildEventCardHeader) => )((require(9048) /* metro dependency 9048: GuildEventCardComponents */).GuildEventCardHeader)}{((GuildEventCardMetaInfo) => )((require(9048) /* metro dependency 9048: GuildEventCardComponents */).GuildEventCardMetaInfo)}{((GuildEventCardGuildInfo) => )((require(9048) /* metro dependency 9048: GuildEventCardComponents */).GuildEventCardGuildInfo)};
const isAlreadyMember2 = isAlreadyMember(invite, isGuildMember);
const r11 = currentUser != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getUserAvatarSource(currentUser,
false, 20) : null;
const r21 = r11 != null ? ((Icon) => )((require(4578) /* metro dependency 4578: ButtonNative */).Button.Icon) : undefined;
const r5 = currentUser != null ? intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['9sWQNT'],
{usernameHook: usernameHook_92514}) : undefined;
let string = (require(1244) /* metro dependency 1244: indexNative */).intl.string;
if (isAlreadyMember2) {
value15 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.IRoQXr);
r18 = value15;
r19 = value15;
} else if (canUseMultiAccountMobile && r5 != null) {
r18 = r5;
r19 = r5;
} else {
r18 = r5;
r19 = Reflect.apply(string, intl, [(require(1244) /* metro dependency 1244: indexNative */).t['e/6Ogt']]);
}
const ButtonGroup = (require(6261) /* metro dependency 6261: ButtonGroupNative */).ButtonGroup;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const buttonProps = {'icon': null, 'variant': 'primary', 'size': 'lg', icon: r21, text: r19,
accessibilityLabel: r18, onPress: onPress_92510};
binding = env0_19;
let ACCEPT = binding.ACCEPT;
buttonProps.loading = property === ACCEPT;
ACCEPT = binding.ACCEPT;
buttonProps.disabled = property === ACCEPT;
const button = ;
const object2 = {'variant': 'secondary', 'size': 'lg'};
string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
object2.text = isAlreadyMember2 ? Reflect.apply(string, intl, [t.WAI6xu]) : Reflect.apply(string, intl, [t.ndsK4Z]);
object2.onPress = onPress_92511;
binding = env0_19;
let DECLINE = binding.DECLINE;
object2.loading = property === DECLINE;
DECLINE = binding.DECLINE;
object2.disabled = property === DECLINE;
items3[6] = {button};
return (
<>
{items3}
>
);
}
function _fun92504() { // fn#92504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:2946, offset: 0x0208cd36, size: 192 bytes, params: 1, frame: 16
var r0;
var shouldShowInviter2;
var value3;
let value = environment.__proto__;
const inviteTypeUtilsModule = require(4116) /* metro dependency 4116: InviteTypeUtils */;
if (inviteTypeUtilsModule.isStreamInvite(invite)) {
if (invite.target_user != null) {
value = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
value = value.getUserAvatarSource(invite.target_user);
r0 = value;
} else {
shouldShowInviter2 = shouldShowInviter(invite, isGuildMember);
value3 = null;
if (shouldShowInviter2) {
if (value3 != invite.inviter) {
value = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
value = value.getUserAvatarSource(invite.inviter);
r0 = value;
} else {
r0 = value3;
}
} else {
r0 = value3;
}
}
} else {
shouldShowInviter2 = shouldShowInviter(invite, isGuildMember);
value3 = null;
if (shouldShowInviter2) {
if (value3 != invite.inviter) {
value = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
value = value.getUserAvatarSource(invite.inviter);
r0 = value;
} else {
r0 = value3;
}
} else {
r0 = value3;
}
}
return r0;
}
function InviteDetailsOnPress() { // fn#92510, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:5163, owner: InviteDetails.onPress, offset: 0x0208d5a3, size: 37 bytes, params: 1, frame: 12
const binding = env0_3;
const ACCEPT = env1_19.ACCEPT;
binding(ACCEPT);
onPressJoin();
}
function InviteDetailsOnPress_92511() { // fn#92511, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:5203, owner: InviteDetails.onPress, offset: 0x0208d5c8, size: 119 bytes, params: 1, frame: 18
const binding = env0_3;
const DECLINE = env1_19.DECLINE;
const value3 = undefined;
binding(DECLINE);
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const INVITE_ACCEPT_DISMISSED = AnalyticEvents.INVITE_ACCEPT_DISMISSED;
const inviteBinding = invite;
const guild = inviteBinding.guild;
Reflect.apply(track, defaultImport, [INVITE_ACCEPT_DISMISSED, {invite_code: inviteBinding.code,
guild_id: guild == null ? value3 : guild.id}]);
onPressClose();
return value3;
}
function InviteDetailsUsernameHook() { // fn#92514, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12221:6125, owner: InviteDetails.usernameHook, offset: 0x0208d652, size: 86 bytes, params: 1, frame: 15
const currentUserBinding = currentUser;
const username = currentUserBinding.username;
const hasUniqueUsername2 = currentUserBinding.hasUniqueUsername();
const value2 = '';
return value2 + username + (hasUniqueUsername2 ? value2 : '#' + currentUser.discriminator);
}