decord/source/modules/user_profile/native/UserProfilePrimaryInfo.tsx
2026-07-25 08:10:48 +00:00

562 lines
20 KiB
TypeScript

// Module ID: 8317
// Function ID: 66794
// Name: getStyleConfig
// Dependencies: [31, 27, 8043, 5510, 653, 7665, 33, 4131, 689, 8318, 8319, 8328, 4661, 8330, 4127, 8332, 5961, 3983, 8366, 1212, 8378, 8044, 6554, 3832, 8033, 675, 5959, 4980, 477, 8383, 1450, 7881, 8384, 3970, 2]
// Exports: default
// Module 8317 (getStyleConfig)
import getUserPrimaryGuild from "getUserPrimaryGuild";
import get_ActivityIndicator from "QuestsVisibleMessagesChangedSource";
import USER_PROFILE_TOOLTIP_DELAY from "USER_PROFILE_TOOLTIP_DELAY";
import ARBITRARY_LARGE_OFFSET from "ARBITRARY_LARGE_OFFSET";
import ME from "ME";
import { GuildTagBadgeSize } from "items";
import jsxProd from "conceal";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
let UserProfileThemeTypes;
let closure_11;
let closure_12;
let closure_13;
let closure_14;
let closure_15;
let closure_4;
let closure_5;
let closure_6;
let closure_7;
let closure_8;
let closure_9;
const require = arg1;
function getStyleConfig(arg0) {
let tmp;
if (null != arg0) {
tmp = table[arg0];
}
if (null == tmp) {
tmp = obj2;
}
return tmp;
}
class DisplayName {
constructor(arg0) {
({ user, guildId, name } = global);
({ onPress, showChevron } = global);
({ themeType, accessibilityHint } = global);
if (showChevron === undefined) {
showChevron = false;
}
({ pendingDisplayNameStyles, displayNameAccessibilityRole: closure_4 } = global);
c5 = undefined;
headingVariant = undefined;
renderDisplayName = function renderDisplayName() {
const obj = { userId: closure_0.id, guildId: closure_1, userName: name, variant: headingVariant, effectDisplayType: outer1_0(name[10]).EffectDisplayType.STATIC, lineClamp: 2, pendingDisplayNameStyles: getUserPrimaryGuild, defaultColor: "mobile-text-heading-primary", accessibilityRole: closure_4 };
return outer1_13(outer1_1(name[9]), obj);
};
renderBotTag = function renderBotTag() {
if (closure_0.isSystemUser()) {
let obj = { style: _undefined.botTag, type: outer1_1(name[11]).Types.SYSTEM_DM, verified: closure_0.isVerifiedBot() };
let tmp2 = outer1_13(outer1_1(name[11]), obj);
const tmp12 = outer1_1(name[11]);
} else {
tmp2 = null;
if (closure_0.bot) {
obj = { style: _undefined.botTag, type: outer1_1(name[11]).Types.BOT, verified: closure_0.isVerifiedBot() };
tmp2 = outer1_13(outer1_1(name[11]), obj);
const tmp6 = outer1_1(name[11]);
}
}
return tmp2;
};
tmp = c16();
c5 = tmp;
headingVariant = getStyleConfig(themeType).headingVariant;
if (null == onPress) {
tmp6 = jsxs;
tmp7 = c5;
obj = {};
items = [, ];
items[0] = renderDisplayName();
items[1] = renderBotTag();
obj.children = items;
tmp8Result = jsxs(c5, obj);
} else {
tmp9 = user;
tmp10 = name;
num2 = 12;
tmp8 = jsxs;
obj = {};
obj.onPress = onPress;
str = "button";
obj.accessibilityRole = "button";
obj.accessibilityLabel = name;
obj.accessibilityHint = accessibilityHint;
obj.style = tmp.displayName;
items1 = [, , ];
items1[0] = renderDisplayName();
items1[1] = renderBotTag();
if (showChevron) {
tmp2 = jsx;
tmp3 = user;
tmp4 = name;
num = 13;
showChevron = jsx(require("ChevronSmallDownIcon").ChevronSmallDownIcon, { size: "sm", color: "icon-muted" });
}
items1[2] = showChevron;
obj.children = items1;
tmp8Result = tmp8(require("PressableBase").PressableOpacity, obj);
}
return tmp8Result;
}
}
class UserTagAndPronouns {
constructor(arg0) {
userTag = global.userTag;
pronouns = global.pronouns;
onPressUserTag = global.onPressUserTag;
userTagAccessibilityHint = global.userTagAccessibilityHint;
str = global.onPressPronouns;
textVariant = undefined;
renderPronouns = function renderPronouns() {
const obj = { variant: textVariant, color: "mobile-text-heading-primary", lineClamp: 1, children: pronouns };
return outer1_13(userTag(onPressUserTag[14]).Text, obj);
};
({ themeType, pronounsAccessibilityHint } = global);
tmp2 = null != pronouns;
tmp = c16();
if (tmp2) {
num = 0;
tmp2 = pronouns.length > 0;
}
textVariant = getStyleConfig(themeType).textVariant;
items = [, , , ];
items[0] = onPressUserTag;
items[1] = textVariant;
items[2] = userTag;
items[3] = userTagAccessibilityHint;
obj = { style: tmp.detailsText };
tmp3 = jsxs;
tmp4 = View;
items1 = [, ];
items1[0] = userTagAccessibilityHint.useCallback(() => {
if (null == userTag) {
return null;
} else {
let obj = { variant: textVariant, color: "mobile-text-heading-primary", lineClamp: 2, children: userTag };
const tmp15 = outer1_13(userTag(onPressUserTag[14]).Text, obj);
if (null != onPressUserTag) {
obj = { onPress: onPressUserTag, accessibilityRole: "button", accessibilityLabel: userTag, accessibilityHint: userTagAccessibilityHint, children: tmp15 };
let tmp3 = outer1_13(userTag(onPressUserTag[12]).PressableOpacity, obj);
} else {
obj = { children: tmp15 };
tmp3 = outer1_13(outer1_5, obj);
}
return tmp3;
}
}, items)();
if (!tmp2) {
items1[1] = tmp2;
obj.children = items1;
return tmp3(tmp4, obj);
} else {
obj = {};
tmp7 = jsx;
tmp8 = userTag;
tmp9 = onPressUserTag;
num2 = 14;
tmp5 = jsxs;
tmp6 = Fragment;
obj1 = { variant: null, color: "mobile-text-heading-primary", accessibilityElementsHidden: true, importantForAccessibility: "no-hide-descendants" };
obj1.variant = textVariant;
tmp10 = DIVIDER_DOT;
obj1.children = DIVIDER_DOT;
items2 = [, ];
items2[0] = jsx(require("Text").Text, obj1);
if (null != onPressUserTag) {
tmp14 = jsx;
tmp15 = userTag;
tmp16 = onPressUserTag;
num3 = 12;
obj2 = {};
obj2.onPress = str;
str = "button";
obj2.accessibilityRole = "button";
obj2.accessibilityLabel = pronouns;
obj2.accessibilityHint = pronounsAccessibilityHint;
renderPronouns = renderPronouns();
obj2.children = renderPronouns;
tmp13 = jsx(require("PressableBase").PressableOpacity, obj2);
} else {
tmp11 = jsx;
tmp12 = View;
obj3 = {};
obj3.children = renderPronouns();
tmp13 = jsx(View, obj3);
}
items2[1] = tmp13;
obj.children = items2;
tmp5Result = tmp5(tmp6, obj);
}
return;
}
}
function ProfileBadge(source) {
let badgeSize;
let showToastOnPress;
let themeType;
source = source.source;
const id = source.id;
const label = source.label;
({ badgeSize, themeType, showToastOnPress } = source);
if (showToastOnPress === undefined) {
showToastOnPress = true;
}
let React;
let closure_4;
const tmp = _createForOfIteratorHelperLoose();
if (null != badgeSize) {
let obj = { width: badgeSize, height: badgeSize };
}
const ref = React.useRef(null);
let obj1 = source(label[15]);
React = obj1.useTieredTenureBadgeClickHandler(id, source.userId, themeType);
let obj2 = source(label[16]);
closure_4 = obj2.useAdUser("profile_badge");
let obj3 = source(label[17]);
const rootNavigationRef = obj3.getRootNavigationRef();
let currentRoute;
if (null != rootNavigationRef) {
if (rootNavigationRef.isReady()) {
currentRoute = rootNavigationRef.getCurrentRoute();
}
}
let prop;
if (null != currentRoute) {
const params = currentRoute.params;
if (null != params) {
prop = params.showOrbsBadgeCoachmark;
}
}
let obj5 = source(label[18]);
obj = { disabled: !(null != prop && prop) };
const orbsBadgeCoachmark = obj5.useOrbsBadgeCoachmark(obj);
const intl = source(label[19]).intl;
const formatToPlainStringResult = intl.formatToPlainString(source(label[19]).t.A0LN9t, { badgeLabel: label });
let tmp9 = themeType === UserProfileThemeTypes.YOU_SCREEN;
if (tmp9) {
tmp9 = "string" === typeof id;
}
let tmp10 = null;
if (tmp9) {
obj = { targetRef: ref, badgeId: id };
tmp10 = callback(id(label[20]), obj);
}
let tmp14 = themeType === UserProfileThemeTypes.YOU_SCREEN;
if (tmp14) {
tmp14 = "string" === typeof id;
}
if (tmp14) {
tmp14 = "orb_profile_badge" === id;
}
if (tmp14) {
tmp14 = null != orbsBadgeCoachmark;
}
let tmp15 = null;
if (tmp14) {
obj1 = { badgeRef: ref };
let merged = Object.assign(orbsBadgeCoachmark.props);
tmp15 = callback(id(label[18]), obj1);
const tmp19 = id(label[18]);
}
obj2 = {};
if (showToastOnPress) {
obj3 = {
accessibilityRole: "image",
accessibilityLabel: formatToPlainStringResult,
onPress() {
if (null == callback) {
if (id !== outer1_7(source(label[21]).BadgeId.GIFTING)) {
let obj = {};
const _HermesInternal = HermesInternal;
obj.key = "PROFILE_BADGE-" + label;
obj.content = label;
obj.icon = source;
id(label[23]).open(obj);
if (id === source(label[24]).QUEST_COMPLETED_BADGE) {
obj = {};
const obj7 = id(label[25]);
const merged = Object.assign(source(label[26]).getContentProperties(source(label[27]).QuestContent.QUEST_BADGE));
let advertisingId = null;
if (null != closure_4) {
advertisingId = null;
if (obj5.isIOS()) {
advertisingId = closure_4.advertisingId;
}
obj5 = source(label[28]);
}
obj["apple_advertising_id"] = advertisingId;
let advertisingId1 = null;
if (null != closure_4) {
advertisingId1 = null;
if (obj6.isAndroid()) {
advertisingId1 = closure_4.advertisingId;
}
obj6 = source(label[28]);
}
obj["android_advertising_id"] = advertisingId1;
obj["is_targeted"] = false;
obj7.track(outer1_11.QUEST_CONTENT_VIEWED, obj);
const obj9 = source(label[26]);
}
const obj3 = id(label[23]);
} else {
obj = source(label[22]);
const obj1 = { screen: outer1_12.PREMIUM_GIFTING, params: {} };
obj.openUserSettings(obj1);
}
} else {
callback();
}
},
ref
};
const obj4 = {};
const items = [tmp.badge, tmp2];
obj4.style = items;
obj4.source = source;
obj3.children = callback(closure_4, obj4);
const items1 = [tmp24(source(label[12]).PressableOpacity, obj3), tmp10, tmp15];
obj2.children = items1;
let tmp26 = obj2;
} else {
obj5 = {};
const items2 = [tmp.badge, tmp2];
obj5.style = items2;
obj5.source = source;
obj5.accessible = true;
obj5.accessibilityRole = "image";
obj5.accessibilityLabel = formatToPlainStringResult;
obj5.ref = ref;
const items3 = [tmp24(closure_4, obj5), tmp10, tmp15];
obj2.children = items3;
tmp26 = obj2;
}
return closure_14(closure_15, tmp26);
}
class ProfileBadgeRows {
constructor(arg0) {
userId = global.userId;
({ badges, isTryItOut, style, themeType } = global);
showToastOnPress = global.showToastOnPress;
width = undefined;
tmp = c16();
Image = tmp;
tmp2 = getStyleConfig(themeType);
badgeSize = tmp2.badgeSize;
badgeRowHorizontalPadding = tmp2.badgeRowHorizontalPadding;
mapped = badges.map((id) => {
let obj = { id: id.id, userId };
obj = {};
let iconSrc = id.iconSrc;
if (null == iconSrc) {
iconSrc = badgeRowHorizontalPadding(id.icon);
}
obj.uri = iconSrc;
obj.source = obj;
obj.label = id.description;
obj.badgeSize = badgeSize;
obj.themeType = themeType;
obj.showToastOnPress = showToastOnPress;
return outer1_13(outer1_22, obj, id.id);
});
getBadgeName = mapped;
if (isTryItOut) {
tmp3 = null;
isTryItOut = null == badges.find((id) => "premium" === id.id);
}
if (isTryItOut) {
tmp4 = jsx;
tmp5 = ProfileBadge;
obj = {};
tmp6 = style;
tmp7 = themeType;
num = 29;
obj.source = require("registerAsset");
str = "premium";
obj.id = "premium";
obj.userId = userId;
tmp8 = userId;
num2 = 19;
intl = require("getSystemLocale").intl;
obj = {};
tmp9 = globalThis;
_Date = Date;
prototype = Date.prototype;
tmp10 = new.target;
tmp11 = new.target;
date = new Date();
tmp13 = date;
obj.date = date;
obj.label = intl.formatToPlainString(require("getSystemLocale").t["8zbGNR"], obj);
obj.badgeSize = badgeSize;
obj.showToastOnPress = showToastOnPress;
arr = mapped.push(jsx(ProfileBadge, obj));
}
width = require("useWindowDimensions")().width;
items = [, , , ];
items[0] = mapped;
items[1] = badgeRowHorizontalPadding;
items[2] = badgeSize;
items[3] = width;
memo = showToastOnPress.useMemo(() => {
const rounded = Math.floor((width - 2 * outer1_9 - 2 * badgeRowHorizontalPadding + 4) / (badgeSize + 4));
return Array.from({ length: Math.ceil(mapped.length / rounded) }, (arg0, arg1) => outer1_7.slice(arg1 * rounded, (arg1 + 1) * rounded));
}, items);
obj1 = { style: items1, accessibilityRole: "list" };
items1 = [];
items1[0] = tmp.badges;
intl2 = require("getSystemLocale").intl;
obj1.accessibilityLabel = intl2.string(require("getSystemLocale").t.VWV0y5);
obj1.children = memo.map((children) => {
let obj = { style: items, children };
items = [tmp.badgeRow, , ];
obj = { paddingHorizontal: badgeRowHorizontalPadding };
items[1] = obj;
items[2] = closure_1;
return outer1_13(badgeSize, obj, arg1);
});
return jsx(badgeSize, obj1);
}
}
function GuildTag(arg0) {
let badgeSize;
let guildId;
let guildTagBadgeSize;
let guildTagHorizontalPadding;
let showToastOnPress;
let style;
let tag;
let themeType;
let user;
({ user, showToastOnPress } = arg0);
({ themeType, style } = arg0);
if (showToastOnPress === undefined) {
showToastOnPress = false;
}
const tmp = _createForOfIteratorHelperLoose();
let obj = require(7881) /* getUserPrimaryGuild */;
let primaryGuild;
if (null != user) {
primaryGuild = user.primaryGuild;
}
const userPrimaryGuild = obj.getUserPrimaryGuild(primaryGuild);
({ tag, guildId } = userPrimaryGuild);
const tmp4 = getStyleConfig(themeType);
({ badgeSize, guildTagBadgeSize, guildTagHorizontalPadding } = tmp4);
let obj1 = require(477) /* set */;
let tmp6 = null;
if (null != tag) {
tmp6 = null;
if (null != guildId) {
obj = {};
const items = [tmp.guildTag, , ];
obj = { minHeight: badgeSize + 4, paddingHorizontal: guildTagHorizontalPadding };
items[1] = obj;
items[2] = style;
obj.style = items;
obj1 = { userId: user.id, disabledTooltip: !showToastOnPress, containerStyles: tmp.transparentBackground };
const obj2 = { lineHeight: tmp5 };
obj1.textStyle = obj2;
obj1.badgeSize = guildTagBadgeSize;
obj1.textVariant = tmp4.guildTagTextVariant;
obj.children = callback(importDefault(8384), obj1);
tmp6 = callback(closure_5, obj);
}
}
return tmp6;
}
({ Image: closure_4, View: closure_5 } = get_ActivityIndicator);
({ getBadgeAssetFromCDN: closure_6, getBadgeName: closure_7 } = USER_PROFILE_TOOLTIP_DELAY);
({ DIVIDER_DOT: closure_8, PROFILE_SIDE_PADDING: closure_9, UserProfileThemeTypes } = ARBITRARY_LARGE_OFFSET);
({ AnalyticEvents: closure_11, UserSettingsSections: closure_12 } = ME);
({ jsx: closure_13, jsxs: closure_14, Fragment: closure_15 } = jsxProd);
_createForOfIteratorHelperLoose = { container: { flexDirection: "column" }, displayName: { flexDirection: "row", alignItems: "center", columnGap: 4 }, details: { flexDirection: "row", flexWrap: "wrap", gap: 8 }, detailsText: { flexDirection: "row", flexWrap: "wrap", alignContent: "center", paddingVertical: 2 }, botTag: { marginLeft: 4 } };
_createForOfIteratorHelperLoose = { alignSelf: "center", justifyContent: "center", borderRadius: require("_createForOfIteratorHelperLoose").radii.sm, columnGap: 4 };
_createForOfIteratorHelperLoose.guildTag = _createForOfIteratorHelperLoose;
_createForOfIteratorHelperLoose.transparentBackground = { backgroundColor: "transparent" };
_createForOfIteratorHelperLoose.badge = { resizeMode: "contain" };
_createForOfIteratorHelperLoose.badges = { alignSelf: "center", flexDirection: "column", justifyContent: "flex-start", rowGap: 8 };
let obj1 = { borderRadius: require("_createForOfIteratorHelperLoose").radii.sm, paddingVertical: 2, justifyContent: "flex-start", flexDirection: "row", marginRight: "auto", columnGap: 4 };
_createForOfIteratorHelperLoose.badgeRow = obj1;
_createForOfIteratorHelperLoose = _createForOfIteratorHelperLoose.createStyles(_createForOfIteratorHelperLoose);
let obj2 = { headingVariant: "heading-xl/bold", textVariant: "text-md/normal", badgeSize: 20, badgeRowHorizontalPadding: 7, guildTagBadgeSize: GuildTagBadgeSize.SIZE_16, guildTagTextVariant: "text-sm/medium", guildTagHorizontalPadding: 8 };
let obj3 = { headingVariant: "heading-lg/bold", textVariant: "text-sm/normal", badgeSize: 16, badgeRowHorizontalPadding: 6, guildTagBadgeSize: GuildTagBadgeSize.SIZE_12, guildTagTextVariant: "text-xs/medium", guildTagHorizontalPadding: 6 };
let closure_18 = { [UserProfileThemeTypes.PREVIEW]: obj3 };
const result = require("USER_PROFILE_TOOLTIP_DELAY").fileFinishedImporting("modules/user_profile/native/UserProfilePrimaryInfo.tsx");
export default function UserProfilePrimaryInfo(arg0) {
let badgeContainerBackground;
let badges;
let displayName;
let displayNameAccessibilityHint;
let displayNameAccessibilityRole;
let guildId;
let onPressDisplayName;
let onPressPronouns;
let onPressUserTag;
let pendingDisplayNameStyles;
let pronouns;
let pronounsAccessibilityHint;
let showBadgeToastOnPress;
let showChevron;
let style;
let themeType;
let user;
let userTagAccessibilityHint;
({ user, displayName, themeType, showBadgeToastOnPress } = arg0);
({ guildId, pronouns, style, badges, badgeContainerBackground, onPressDisplayName, displayNameAccessibilityHint, displayNameAccessibilityRole, onPressUserTag, userTagAccessibilityHint, onPressPronouns, pronounsAccessibilityHint, showChevron, pendingDisplayNameStyles } = arg0);
const tmp = _createForOfIteratorHelperLoose();
let obj = { backgroundColor: badgeContainerBackground };
let obj1 = importDefault(3970);
let name = obj1.useName(user);
let obj2 = importDefault(3970);
obj = { style: items };
items = [tmp.container, style];
obj = { user, guildId };
let tmp8 = name;
const userTag = obj2.useUserTag(user);
if ("" !== displayName) {
if (null != displayName) {
name = displayName;
}
tmp8 = name;
}
obj.name = tmp8;
obj.themeType = themeType;
obj.onPress = onPressDisplayName;
obj.accessibilityHint = displayNameAccessibilityHint;
obj.displayNameAccessibilityRole = displayNameAccessibilityRole;
obj.showChevron = showChevron;
obj.pendingDisplayNameStyles = pendingDisplayNameStyles;
const items1 = [callback(DisplayName, obj), ];
obj1 = { style: tmp.details };
obj2 = {};
let tmp14 = null;
if (!user.isProvisional) {
tmp14 = userTag;
}
obj2.userTag = tmp14;
obj2.pronouns = pronouns;
obj2.themeType = themeType;
obj2.onPressUserTag = onPressUserTag;
obj2.userTagAccessibilityHint = userTagAccessibilityHint;
obj2.onPressPronouns = onPressPronouns;
obj2.pronounsAccessibilityHint = pronounsAccessibilityHint;
const items2 = [callback(UserTagAndPronouns, obj2), callback(GuildTag, { user, themeType, style: obj, showToastOnPress: showBadgeToastOnPress }), callback(ProfileBadgeRows, { userId: user.id, badges, style: obj, themeType, showToastOnPress: showBadgeToastOnPress })];
obj1.children = items2;
items1[1] = closure_14(closure_5, obj1);
obj.children = items1;
return closure_14(closure_5, obj);
};
export { DisplayName };
export { UserTagAndPronouns };
export { ProfileBadgeRows };