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

109 lines
7.2 KiB
TypeScript

/* Metro module 8641; source: modules/messages/native/emoji/ExpressionGuildDetails.tsx; dependencies: [31, 27, 6820, 33, 4501, 697, 6819, 1423, 5475, 4573, 1244, 5278, 8640, 8642, 1305, 2] */
function _fun68141(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68141, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8826:6, offset: 0x01c40ad1, size: 518 bytes, params: 8, frame: 24
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const env0_4 = (require(6820) /* metro dependency 6820: ExpressionSourceRecord */).ExpressionSourceGuildRecord;
let value = require(33) /* metro dependency 33 */;
const env0_5 = value.jsx;
const env0_6 = value.Fragment;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.guildDetailsContainer = {flexDirection: 'column'};
object2.guildDetailsContent = {'flexDirection': 'row', 'marginTop': 8, 'alignItems': 'center'};
const object4 = {'width': 40, 'height': 40, 'borderRadius': null, 'marginRight': 12};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.guildIcon = object4;
object2.guildNameAndOnlineMembers = {flexDirection: 'column'};
object2.guildNameWrapper = {'flexDirection': 'row', 'alignItems': 'center', 'marginRight': 32};
object2.guildPartnerIcon = {marginRight: 8};
object2.guildDescriptionSection = {'flexDirection': 'row', 'alignItems': 'center', 'marginTop': 4};
const object5 = {'width': 4, 'height': 4, 'borderRadius': null, 'marginRight': 8, 'marginLeft': 8};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs;
const BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object5.backgroundColor = BACKGROUND_MOD_MUTED;
object2.dotSeparator = object5;
const object8 = {'borderRadius': null, 'borderColor': null, 'borderWidth': 1, 'paddingHorizontal': 4,
'paddingBottom': 2};
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const BORDER_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_STRONG;
object8.borderColor = BORDER_STRONG;
object2.joinGuildButton = object8;
const env0_8 = Reflect.apply(createStyles, value, [object2]);
const closure = ExpressionGuildDetails;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/native/emoji/ExpressionGuildDetails.tsx');
exports.default = closure;
exports.ExpressionGuildDetails = closure;
}
function ExpressionGuildDetails({guild, title, hasJoinedGuild, showingJoinGuildCta}) { // fn#68142, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8826:959, offset: 0x01c40cd7, size: 1149 bytes, params: 2, frame: 39
var r7;
var r11;
var defaultImport;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var jsxRuntimeEnv0_6Binding;
var items5;
const styles = useStyles();
const fromGuildType = ExpressionSourceGuildRecord.createFromGuildType(guild);
const isDiscoverable2 = fromGuildType.isDiscoverable();
if (isDiscoverable2) {
r7 = ((Component) => <Component style={styles.guildIcon} guild={fromGuildType} size={(require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XLARGE} animate />)(importDefault(6819) /* metro dependency 6819: GuildIcon */);
} else if (hasJoinedGuild) {
r7 = ((Component) => <Component style={styles.guildIcon} guild={fromGuildType} size={(require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes.XLARGE} animate />)(importDefault(6819) /* metro dependency 6819: GuildIcon */);
} else {
defaultImport = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
r7 = ((Component) => <Component style={styles.guildIcon} source={defaultImport.getGuildIconSource({id: guild.id,
icon: guild.icon, canAnimate: true,
size: 32})} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text variant="eyebrow" color="text-default">{title}</Text>;
const GuildBadge = importDefault(8642) /* metro dependency 8642: GuildBadge */;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const Sizes = Icon.Sizes;
const REFRESH_SMALL_16 = Sizes.REFRESH_SMALL_16;
const view = <View style={styles.guildNameWrapper}><GuildBadge guild={guild} style={styles.guildPartnerIcon} size={REFRESH_SMALL_16} disableColor /><Text variant="text-md/bold" color="mobile-text-heading-primary">{guild.name}</Text></View>;
if (isDiscoverable2) {
if (fromGuildType.presenceCount != null) {
jsxRuntimeEnv0_6Binding = jsxRuntimeEnv0_6;
items5 = [<Text variant="text-xs/medium" color="text-default">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t['LC+S+m'],
{membersOnline: fromGuildType.presenceCount})}</Text>];
items5[1] = <View style={styles.dotSeparator} />;
items5[2] = hasJoinedGuild || showingJoinGuildCta ? <Text variant="text-xs/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.inyJqO)}</Text> : ((PressableOpacity) => <PressableOpacity style={styles.joinGuildButton} onPress={onPress_68143}><Text variant="text-xs/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.riu2R5)}</Text></PressableOpacity>)((require(5278) /* metro dependency 5278: Pressables */).PressableOpacity);
r11 = <>{items5}</>;
} else {
r11 = <Text variant="text-xs/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.H29mx4)}</Text>;
}
} else {
r11 = <Text variant="text-xs/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.H29mx4)}</Text>;
}
return (
<View style={styles.guildDetailsContainer}>
{text}
<View style={styles.guildDetailsContent}>
{r7}
<View style={styles.guildNameAndOnlineMembers}>
{view}
<View style={styles.guildDescriptionSection}>
{r11}
</View>
</View>
</View>
</View>
);
}
function ExpressionGuildDetailsOnPress() { // fn#68143, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8826:2196, owner: ExpressionGuildDetails.onPress, offset: 0x01c41154, size: 50 bytes, params: 1, frame: 11
let value = environment.__proto__;
value = require(8640) /* metro dependency 8640: GuildUtils */;
return value.handleJoinGuild(guild.id);
}