This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,110 @@
// Metro module 9964 (f9965).
import { useMemo, useEffect } from "react";
import { View } from "react-native";
import UserRecord from "../../../records/UserRecord";
import GuildStore from "../../../stores/GuildStore";
import UserStore from "../../../stores/UserStore";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import useSafeAreaInsets_native from "../../safe_area/useSafeAreaInsets.native";
import ContextMenuSubmenuActionSheetHeader from "../../action_sheet/native/components/ContextMenuSubmenuActionSheetHeader";
import { ApplicationIntegrationType } from "../../../_bundle/Module8028";
import { useStateFromStores } from "../../../_bundle/Module589";
import { getUser } from "../../../actions/UserActionCreators";
import GuildIcon, { GuildIconSizes } from "../../guild/native/GuildIcon";
import { Text } from "../../../design/components/Text/native/Text";
import { intl, t } from "../../../intl/index.native";
import { PressableOpacity } from "../../../design/void/Pressables/native/Pressables";
import showUserProfileActionSheet from "../../user_profile/native/showUserProfileActionSheet";
import { Avatar, AvatarSizes } from "../../../design/void/native";
import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native";
const useStyles = createStyles({
itemContainer: {
flexDirection: "row",
paddingVertical: 12,
paddingHorizontal: 16,
alignItems: "center"
},
itemLabel: {
flexDirection: "column",
alignItems: "flex-start",
paddingLeft: 12
}
});
export default function AppInteractionInfoActionSheet(props) {
let c17588_2, c17588_3, id, stateFromStores, stateFromStores2;
const { message, guildId, onBack } = props;
c17588_2 = void 0;
c17588_3 = void 0;
id = void 0;
stateFromStores = void 0;
stateFromStores2 = void 0;
const styles = useStyles();
const bottom = useSafeAreaInsets_native().bottom;
const memo = useMemo(() => <ContextMenuSubmenuActionSheetHeader onBack={onBack} />, [onBack]);
const interactionMetadata = message.interactionMetadata;
const r42 = interactionMetadata == null ? void 0 : interactionMetadata.authorizing_integration_owners[ApplicationIntegrationType.USER_INSTALL];
c17588_2 = r42;
const interactionMetadata2 = message.interactionMetadata;
c17588_3 = interactionMetadata2 == null ? void 0 : interactionMetadata2.authorizing_integration_owners[ApplicationIntegrationType.GUILD_INSTALL];
const interactionMetadata3 = message.interactionMetadata;
id = interactionMetadata3 == null ? void 0 : interactionMetadata3.user.id;
stateFromStores = useStateFromStores([UserStore], () => UserStore.getUser(c17588_2));
const stateFromStores3 = useStateFromStores([GuildStore], () => GuildStore.getGuild(c17588_3));
const stateFromStores4 = useStateFromStores([UserStore], () => UserStore.getUser(id));
stateFromStores2 = stateFromStores4;
useEffect(() => {
if (stateFromStores == null && c17588_2 != null) {
getUser(c17588_2);
}
}, [stateFromStores, r42]);
let user = stateFromStores4;
if (user == null) {
const userRecord = new UserRecord(message.interactionMetadata?.user);
stateFromStores2 = userRecord;
user = userRecord;
}
return <BottomSheet header={memo} bodyStyles={{
paddingBottom: bottom
}}>
{stateFromStores3 != null ? <View style={styles.itemContainer}>
<GuildIcon guild={stateFromStores3} size={GuildIconSizes.SMALL_32} />
<View style={styles.itemLabel}>
<Text variant="text-md/semibold" color="mobile-text-heading-primary">{stateFromStores3.name}</Text>
<Text variant="text-xs/medium" color="text-subtle">
{intl.format(t.ShLXXB, {
application: message.author.username
})}
</Text>
</View>
</View> : stateFromStores != null ? <PressableOpacity onPress={() => showUserProfileActionSheet({
userId: stateFromStores.id,
channelId: message.channel_id
})}>
<View style={styles.itemContainer}>
<Avatar user={stateFromStores} size={AvatarSizes.REFRESH_MEDIUM_32} guildId={guildId} />
<View style={styles.itemLabel}>
<Text variant="text-md/semibold" color="mobile-text-heading-primary">{stateFromStores.username}</Text>
<Text variant="text-xs/medium" color="text-subtle">
{intl.format(t.ShLXXB, {
application: message.author.username
})}
</Text>
</View>
</View>
</PressableOpacity> : null}
{user != null ? <PressableOpacity onPress={() => showUserProfileActionSheet({
userId: stateFromStores2.id,
channelId: message.channel_id
})}>
<View style={styles.itemContainer}>
<Avatar user={user} size={AvatarSizes.REFRESH_MEDIUM_32} guildId={guildId} />
<View style={styles.itemLabel}>
<Text variant="text-md/semibold" color="mobile-text-heading-primary">{user.username}</Text>
<Text variant="text-xs/medium" color="text-subtle">
{intl.string(t["04gxNg"])}
</Text>
</View>
</View>
</PressableOpacity> : null}
</BottomSheet>;
};
+72
View File
@@ -0,0 +1,72 @@
// Metro module 8390 (f8391).
import { View } from "react-native";
import { BotTagTypes } from "../ApplicationConstants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { intl, t } from "../../../intl/index.native";
import { CheckmarkSmallBoldIcon } from "../../../design/components/Icon/native/redesign/generated/CheckmarkSmallBoldIcon";
import { Text } from "../../../design/components/Text/native/Text";
let useStyles;
const getBotLabel = function getBotLabel(r4 = BotTagTypes.BOT) {
let r20;
L8: {
if (BotTagTypes.SYSTEM_DM !== r4 && BotTagTypes.OFFICIAL !== r4) {
if (BotTagTypes.SERVER === r4) {
r20 = intl.string(t.PuJGuM);
break L8;
}
BotTagTypes.BOT;
r20 = intl.string(t["9RNkeF"]);
} else {
r20 = intl.string(t.lKQ7Wt);
}
}
return r20;
};
const BotTag = function BotTag(props) {
const { invertColor = false, type = BotTagTypes.BOT, style } = props;
let verified = props.verified;
const styles = useStyles();
const botLabel = getBotLabel(type);
const r1 = type === BotTagTypes.OFFICIAL || type === BotTagTypes.SYSTEM_DM;
if (!verified) {
verified = r1;
}
const r11 = verified ? <CheckmarkSmallBoldIcon size="xs" color={Module712.colors.WHITE} /> : null;
const r32 = invertColor ? styles.tagInverted : styles.tagNormal;
const r33 = invertColor ? styles.tagTextInverted : styles.tagTextNormal;
return <View style={[styles.tag, r32, style, r11 != null ? styles.verifiedTagLeftPadding : null]} accessible accessibilityRole="image" accessibilityLabel={r1 ? intl.string(t["7s687k"]) : verified ? intl.string(t.g76OcH) : type === BotTagTypes.SERVER ? intl.string(t["39trQT"]) : intl.string(t.qwJHjo)}>
{r11}
<Text variant="text-xs/semibold" lineClamp={1} maxFontSizeMultiplier={2} style={[r33]}>{botLabel}</Text>
</View>;
};
useStyles = createStyles({
tag: {
paddingLeft: 4,
paddingRight: 4,
borderRadius: Module712.radii.xs,
display: "flex",
flexDirection: "row",
justifyContent: "center",
alignItems: "center",
gap: 1
},
verifiedTagLeftPadding: {
paddingLeft: 1
},
tagNormal: {
backgroundColor: Module712.colors.BACKGROUND_BRAND
},
tagInverted: {
backgroundColor: Module712.colors.WHITE
},
tagTextNormal: {
color: Module712.colors.WHITE
},
tagTextInverted: {
color: Module712.colors.BACKGROUND_BRAND
}
});
BotTag.Types = BotTagTypes;
export default BotTag;
export { getBotLabel };