Files
discord-decomp/sources/modules/user_profile/native/BotUserProfileContent.tsx
T
2026-07-27 16:20:00 +03:00

185 lines
13 KiB
TypeScript

/* Metro module 8779; source: modules/user_profile/native/BotUserProfileContent.tsx; dependencies: [31, 27, 1878, 6816, 6276, 33, 8496, 8752, 8760, 1585, 8514, 566, 4617, 3995, 6902, 8501, 8693, 8494, 8497, 6797, 3856, 8761, 8780, 4017, 8510, 8513, 4080, 8692, 1962, 8695, 1244, 8817, 8867, 8063, 8868, 4578, 6682, 697, 5080, 4603, 10210, 8762, 6792, 10288, 10327, 2] */
function _fun68635(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68635, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8964:6, offset: 0x01c56adb, size: 262 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const constantsModule = require(6816) /* metro dependency 6816: Constants */;
const env0_6 = constantsModule.PROFILE_CONTENT_BOTTOM_PADDING;
const env0_7 = constantsModule.PROFILE_CONTENT_WITHOUT_STATUS_TOP_PADDING;
const env0_8 = (require(6276) /* metro dependency 6276: ActionSheetConstants */).ACTION_SHEET_MAX_WIDTH;
const value3 = require(33) /* metro dependency 33 */;
const env0_9 = value3.jsx;
const env0_10 = value3.jsxs;
const env0_11 = value3.Fragment;
value = value.memo(BotUserProfileContent);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_profile/native/BotUserProfileContent.tsx');
exports.default = value;
}
function BotUserProfileContent({user, channel, displayProfile, showUserProfileActionSheet, disableMessage, scrollPosition}) { // fn#68636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8964:310, offset: 0x01c56be1, size: 2097 bytes, params: 2, frame: 53
var r33;
var r19;
var r18;
var moduleValue5;
var AddOrOpenAppButton;
var jsxRuntimeEnv0_11Binding2;
var UserProfileRolesCard;
var items8;
var UserProfileModeratorActions;
const value3 = (importDefault(8496) /* metro dependency 8496: UserProfileSharedStyles */)();
const value4 = (importDefault(8752) /* metro dependency 8752: useUserProfileBannerHeight */)(ACTION_SHEET_MAX_WIDTH);
const {bannerAnimatedStyle, bannerImageAnimatedStyle, contentAnimatedStyle, blurAnimatedProps,
showBlur} = (importDefault(8760) /* metro dependency 8760: useUserProfileOverscrollStyles */)({scrollPosition: scrollPosition,
bannerHeight: value4});
const bottom = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().bottom;
const userProfileAnalyticsContextModule = require(8514) /* metro dependency 8514: UserProfileAnalyticsContext */;
const useUserProfileAnalyticsContext = userProfileAnalyticsContextModule.useUserProfileAnalyticsContext;
const env0_2 = Reflect.apply(useUserProfileAnalyticsContext, userProfileAnalyticsContextModule,
[]).trackUserProfileAction;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const defaultImport3 = importDefault(4617) /* metro dependency 4617: NicknameUtils */;
const useName = defaultImport3.useName;
const guildId = displayProfile?.guildId;
let id = channel?.id;
const value6 = Reflect.apply(useName, defaultImport3, [guildId, id, user]);
const env0_3 = (importDefault(3995) /* metro dependency 3995: UserUtils */).useUserTag(user);
const application = displayProfile?.application;
const guild_id = channel?.guild_id;
(require(6902) /* metro dependency 6902: subscribeGuildMembers */).useSubscribeGuildMembers(env0_3.useMemo(function() {
return guild_id == null ? {} : user != null ? {[guild_id]: [user.id]} : {};
}, [guild_id, user]), 'BotUserProfileContent');
const value8 = (importDefault(8501) /* metro dependency 8501: useBadges */)(displayProfile);
const value9 = (importDefault(8693) /* metro dependency 8693: useCustomStatusActivityForUser */)(user.id);
const {theme, primaryColor,
secondaryColor} = (importDefault(8494) /* metro dependency 8494: useProfileTheme */)({user: user,
displayProfile: displayProfile});
const {containerBackground, avatarBackground,
statusBackground} = (require(8497) /* metro dependency 8497: useUserProfileColors */).useUserProfileColors({theme: theme,
primaryColor: primaryColor, secondaryColor: secondaryColor});
if (user == null) {
return null;
}
if (currentUser == null) {
return null;
}
const closure = onPressDisplayName;
const jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
const value12 = ((Component) => <Component user={user} displayProfile={displayProfile} bannerHeight={value4} bannerAnimatedStyle={bannerAnimatedStyle} bannerImageAnimatedStyle={bannerImageAnimatedStyle} blurAnimatedProps={blurAnimatedProps} showBlur={showBlur} buttons={<View style={value3.bannerButtons}>{((Component) => <Component user={user} application={application} channel={channel} />)(importDefault(8780) /* metro dependency 8780: BotUserProfileOverflowMenu */)}</View>} />)(importDefault(8761) /* metro dependency 8761: UserProfileOverscrollBanner */);
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const value13 = ((Component) => <Component user={user} guildId={displayProfile?.guildId ?? undefined} backgroundColor={avatarBackground} statusStyle={{backgroundColor: statusBackground}} />)(importDefault(8510) /* metro dependency 8510: UserProfileAvatar */);
const items3 = [value3.profileContentWrapper];
items3[1] = value3.profileContent;
const PROFILE_CONTENT_WITHOUT_STATUS_TOP_PADDING2 = value9 != null ? 0 : PROFILE_CONTENT_WITHOUT_STATUS_TOP_PADDING;
items3[2] = {paddingTop: PROFILE_CONTENT_WITHOUT_STATUS_TOP_PADDING2,
paddingBottom: bottom + PROFILE_CONTENT_BOTTOM_PADDING};
const items4 = [((Component) => <Component customStatusActivity={value9} hasCustomProfileTheme={primaryColor != null} onPressTruncatedStatus={onPressTruncatedStatus} style={value3.customStatusBubble} emojiOnlyStyle={value3.emojiOnlyCustomStatusBubble} />)(importDefault(8513) /* metro dependency 8513: UserProfileCustomStatusBubble */)];
const primaryInfo = value3.primaryInfo;
const UserProfilePrimaryInfo = importDefault(8695) /* metro dependency 8695: UserProfilePrimaryInfo */;
const pronouns = displayProfile?.pronouns;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const items5 = [<UserProfilePrimaryInfo user={user} guildId={guild_id} displayName={value6} pronouns={pronouns} badges={value8} badgeContainerBackground={containerBackground} displayNameAccessibilityHint={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y5MwJy)} onPressDisplayName={closure} onPressUserTag={closure} onPressPronouns={onPressPronouns} showBadgeToastOnPress />];
items5[1] = ((Component) => <Component user={user} />)(importDefault(8817) /* metro dependency 8817: UserProfileMutualGuilds */);
const UserProfileTextButtonGroup = importDefault(8867) /* metro dependency 8867: UserProfileTextButtonGroup */;
const primaryButtons = value3.primaryButtons;
if (application != null) {
moduleValue5 = require(8063) /* metro dependency 8063: ApplicationInstallUtils */;
if (moduleValue5.canInstallApplication(application)) {
AddOrOpenAppButton = importDefault(8868) /* metro dependency 8868: AddOrOpenAppButton */;
var defaultImport14Props = {application: application, botUserId: user.id};
r33 = channel ?? undefined;
defaultImport14Props.channel = r33;
r33 = guild_id ?? undefined;
defaultImport14Props.guildId = r33;
r19 = <AddOrOpenAppButton {...defaultImport14Props} />;
} else {
r19 = undefined;
}
} else {
r19 = undefined;
}
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const object = {};
const ChatIcon = (require(6682) /* metro dependency 6682: ChatIcon */).ChatIcon;
const CONTROL_SECONDARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_SECONDARY_TEXT_DEFAULT;
object.icon = <ChatIcon size="sm" color={CONTROL_SECONDARY_TEXT_DEFAULT} />;
object.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.zROXEV);
object.variant = 'secondary';
object.disabled = disableMessage;
object.grow = true;
const formatToPlainString = intl.formatToPlainString;
const zFfSFQ = (require(1244) /* metro dependency 1244: indexNative */).t.zFfSFQ;
const object2 = {};
object2.name = (importDefault(3995) /* metro dependency 3995: UserUtils */).getName(user);
object.accessibilityHint = Reflect.apply(formatToPlainString, intl, [zFfSFQ, object2]);
object.onPress = function() {
trackUserProfileAction({action: 'SEND_MESSAGE'});
importDefault(dependencyMap[26]).hideActionSheet();
importDefault(dependencyMap[38]).popAll();
importDefault(dependencyMap[39]).openPrivateChannel({recipientIds: user.id});
};
items5[2] = <UserProfileTextButtonGroup style={primaryButtons} maxWidth={ACTION_SHEET_MAX_WIDTH} primaryButton={r19} secondaryButton={<Button {...object} />} />;
items4[1] = <View style={primaryInfo}>{items5}</View>;
const items6 = [value3.card];
items6[1] = {backgroundColor: containerBackground};
const cards = value3.cards;
const items7 = [((Component) => <Component user={user} currentUser={currentUser} guildId={guild_id} style={items6} />)(importDefault(10210) /* metro dependency 10210: UserProfileActivity */)];
items7[1] = ((Component) => <Component userId={user.id} displayProfile={displayProfile} channel={channel} style={items6} />)(importDefault(8762) /* metro dependency 8762: UserProfileAboutMeCard */);
const value19 = guild_id != null;
if (value19) {
jsxRuntimeEnv0_11Binding2 = jsxRuntimeEnv0_11;
UserProfileRolesCard = importDefault(6792) /* metro dependency 6792: UserProfileRolesCard */;
id = user.id;
items8 = [<UserProfileRolesCard userId={id} guildId={guild_id} style={items6} />];
UserProfileModeratorActions = importDefault(10288) /* metro dependency 10288: UserProfileModeratorActions */;
id = channel?.id;
items8[1] = <UserProfileModeratorActions user={user} currentUser={currentUser} guildId={guild_id} channelId={id} showUserProfile={showUserProfileActionSheet} style={items6} />;
r18 = <>{items8}</>;
} else {
r18 = value19;
}
items7[2] = r18;
items7[3] = ((Component) => <Component userId={user.id} style={items6} onBack={showUserProfileActionSheet} />)(importDefault(10327) /* metro dependency 10327: UserProfileNote */);
items4[2] = <View style={cards}>{items7}</View>;
return (
<>
{value12}
<View2 style={contentAnimatedStyle}>
{value13}
<View style={items3}>
{items4}
</View>
</View2>
</>
);
}
function BotUserProfileContentOnPressDisplayName() { // fn#68639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8964:1363, owner: BotUserProfileContent.onPressDisplayName, offset: 0x01c5744c, size: 88 bytes, params: 1, frame: 14
trackUserProfileAction({action: 'COPY_USERNAME'});
(require(6797) /* metro dependency 6797: ClipboardUtilsNative */).copy(env0_3);
(require(3856) /* metro dependency 3856: ToastUtils */).presentUsernameCopied();
}
function BotUserProfileContentOnPressPronouns() { // fn#68640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8964:1467, owner: BotUserProfileContent.onPressPronouns, offset: 0x01c574a4, size: 61 bytes, params: 1, frame: 12
trackUserProfileAction({action: 'PRESS_PRONOUNS'});
const value = environment.__proto__;
(require(3856) /* metro dependency 3856: ToastUtils */).presentUserPronouns();
}
function onPressTruncatedStatus() { // fn#68641, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8964:2132, owner: BotUserProfileContent.onPressTruncatedStatus, offset: 0x01c574e1, size: 139 bytes, params: 1, frame: 19
let value = environment.__proto__;
const value2 = undefined;
const defaultImport = importDefault(dependencyMap[26]);
const openLazy = defaultImport.openLazy;
value = require(dependencyMap[28]);
value = value(dependencyMap[27], dependencyMap.paths);
Reflect.apply(openLazy, defaultImport, [value, 'UserProfileCustomStatusActionSheet', {user: user, guildId: guild_id,
channelId: channel == null ? value2 : channel.id}, 'stack']);
return value2;
}