feat(app): gate the expression info card behind an experiment (#2773)

This commit is contained in:
Hampus authored and GitHub committed 2026-09-14 20:14:58 +02:00
1 parent 7c9274847f
commit 6339c3b8ad
110 files changed
+12827 -5191

No files matched your search

@@ -13,6 +13,8 @@ import * as PrivateChannelCommands from '@app/features/channel/commands/PrivateC
import {GifIndicator} from '@app/features/channel/components/embeds/media/GifIndicator';
import Channels from '@app/features/channel/state/Channels';
import {EmojiInfoBottomSheet} from '@app/features/emoji/components/bottomsheets/EmojiInfoBottomSheet';
import {ExpressionInfoBottomSheet} from '@app/features/expressions/components/bottomsheets/ExpressionInfoBottomSheet';
import ExpressionInfoCardRollout from '@app/features/expressions/state/ExpressionInfoCardRollout';
import {
BLOCKED_USER_DM_WARNING_DESCRIPTOR,
OPEN_DM_DESCRIPTOR,
@@ -244,6 +246,7 @@ const UserProfileMobileSheetContent: React.FC<UserProfileMobileSheetContentProps
const [showGlobalProfile, setShowGlobalProfile] = useState(false);
const [emojiInfoOpen, setEmojiInfoOpen] = useState(false);
const [selectedEmoji, setSelectedEmoji] = useState<EmojiInfoState | null>(null);
const expressionInfoCardEnabled = ExpressionInfoCardRollout.enabled;
const [mutualSheetView, setMutualSheetView] = useState<'friends' | 'communities_groups' | null>(null);
const hidePrivateDetails = StreamerMode.shouldHidePersonalInformation;
const isCurrentUser = user.id === Authentication.currentUserId;
@@ -950,12 +953,22 @@ const UserProfileMobileSheetContent: React.FC<UserProfileMobileSheetContentProps
guildMember={guildMember}
data-flx="user.user-profile-mobile-sheet.user-profile-mobile-sheet-content.user-profile-actions-sheet"
/>
<EmojiInfoBottomSheet
isOpen={emojiInfoOpen}
onClose={() => setEmojiInfoOpen(false)}
emoji={selectedEmoji}
data-flx="user.user-profile-mobile-sheet.user-profile-mobile-sheet-content.emoji-info-bottom-sheet"
/>
{expressionInfoCardEnabled ? (
<ExpressionInfoBottomSheet
kind="emoji"
isOpen={emojiInfoOpen}
onClose={() => setEmojiInfoOpen(false)}
emoji={selectedEmoji}
data-flx="user.user-profile-mobile-sheet.user-profile-mobile-sheet-content.expression-info-bottom-sheet"
/>
) : (
<EmojiInfoBottomSheet
isOpen={emojiInfoOpen}
onClose={() => setEmojiInfoOpen(false)}
emoji={selectedEmoji}
data-flx="user.user-profile-mobile-sheet.user-profile-mobile-sheet-content.emoji-info-bottom-sheet"
/>
)}
{mutualSheetView != null && (
<MutualItemsSheet
isOpen={true}
@@ -179,7 +179,11 @@ export const UserProfileBio: React.FC<{
>
<SafeMarkdown
content={bioContent}
options={{context: MarkdownContext.RESTRICTED_USER_BIO, guildId: profile?.guildId ?? undefined}}
options={{
context: MarkdownContext.RESTRICTED_USER_BIO,
guildId: profile?.guildId ?? undefined,
disableEmojiInfoCard: true,
}}
data-flx="user.user-profile-shared.user-profile-bio.safe-markdown"
/>
</div>