mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-19 05:55:34 +09:00
fix(app): apply streamer mode to member nicknames and stop guild scope leaking into global surfaces (#1697)
This commit is contained in:
1 parent
3fa766c39c
commit
3ff7189566
32 files changed
+82
-61
No files matched your search
@@ -138,7 +138,7 @@ export const RecipientList = observer((props: RecipientListProps) => {
|
||||
const query = searchQuery.toLowerCase();
|
||||
return props.recipients.filter((item) => {
|
||||
const username = item.user.username.toLowerCase();
|
||||
const displayName = NicknameUtils.getNickname(item.user).toLowerCase();
|
||||
const displayName = NicknameUtils.getNickname(item.user, null).toLowerCase();
|
||||
const channelName = (item.channelName || '').toLowerCase();
|
||||
return username.includes(query) || displayName.includes(query) || channelName.includes(query);
|
||||
});
|
||||
@@ -186,7 +186,8 @@ export const RecipientList = observer((props: RecipientListProps) => {
|
||||
const userId = item.type === 'group_dm' ? item.id : item.user.id;
|
||||
const isSending = props.sendingTo.has(userId);
|
||||
const isSent = props.sentTo.has(userId);
|
||||
const displayName = item.type === 'group_dm' ? item.channelName : NicknameUtils.getNickname(item.user);
|
||||
const displayName =
|
||||
item.type === 'group_dm' ? item.channelName : NicknameUtils.getNickname(item.user, null);
|
||||
const secondaryText = (() => {
|
||||
if (item.type === 'dm') return i18n._(DIRECT_MESSAGE_DESCRIPTOR);
|
||||
if (item.type === 'group_dm') return i18n._(GROUP_DM_DESCRIPTOR);
|
||||
|
||||
@@ -518,7 +518,7 @@ export const UserAreaPopout = observer(() => {
|
||||
const accentColor = getUserAccentColor(currentUser, profileData?.accent_color);
|
||||
const borderColor = accentColor;
|
||||
const bannerColor = accentColor;
|
||||
const displayName = currentUser ? NicknameUtils.getNickname(currentUser) : '';
|
||||
const displayName = currentUser ? NicknameUtils.getNickname(currentUser, null) : '';
|
||||
const customStatus = currentUserId ? Presence.getCustomStatus(currentUserId) : null;
|
||||
const hasCustomStatus = Boolean(normalizeCustomStatus(customStatus));
|
||||
const popoutContainerRef = useRef<HTMLDivElement | null>(null);
|
||||
|
||||
@@ -243,7 +243,7 @@ const UserAreaInner = observer(
|
||||
if (isDeafened) return i18n._(VOICE_UNDEAFEN_SELF_DESCRIPTOR);
|
||||
return i18n._(VOICE_DEAFEN_SELF_DESCRIPTOR);
|
||||
})();
|
||||
const displayName = NicknameUtils.getNickname(user);
|
||||
const displayName = NicknameUtils.getNickname(user, null);
|
||||
return (
|
||||
<section
|
||||
className={wrapperClassName}
|
||||
|
||||
@@ -81,7 +81,7 @@ export const FriendSelector: React.FC<FriendSelectorProps> = observer(
|
||||
return friends
|
||||
.map((relationship) => Users.getUser(relationship.id))
|
||||
.filter((user): user is User => Boolean(user))
|
||||
.sort((a, b) => NicknameUtils.getNickname(a).localeCompare(NicknameUtils.getNickname(b)));
|
||||
.sort((a, b) => NicknameUtils.getNickname(a, null).localeCompare(NicknameUtils.getNickname(b, null)));
|
||||
}, [relationships, excludeUserIds]);
|
||||
const activeStickyUserIds = useMemo(() => {
|
||||
return stickyUserIds.filter((id) => selectedUserIds.includes(id));
|
||||
@@ -89,13 +89,13 @@ export const FriendSelector: React.FC<FriendSelectorProps> = observer(
|
||||
const groupedFriends = useMemo(() => {
|
||||
const filtered = friendUsers.filter((user) => {
|
||||
if (!searchQuery) return true;
|
||||
return NicknameUtils.getNickname(user).toLowerCase().includes(searchQuery.toLowerCase());
|
||||
return NicknameUtils.getNickname(user, null).toLowerCase().includes(searchQuery.toLowerCase());
|
||||
});
|
||||
const stickySet = new Set(activeStickyUserIds);
|
||||
const groups: Record<string, Array<User>> = {};
|
||||
filtered.forEach((user) => {
|
||||
if (stickySet.has(user.id)) return;
|
||||
const firstLetter = NicknameUtils.getNickname(user)[0].toUpperCase();
|
||||
const firstLetter = NicknameUtils.getNickname(user, null)[0].toUpperCase();
|
||||
if (!groups[firstLetter]) {
|
||||
groups[firstLetter] = [];
|
||||
}
|
||||
@@ -153,14 +153,16 @@ export const FriendSelector: React.FC<FriendSelectorProps> = observer(
|
||||
data-flx="app.friend-selector.render-search-input.selected-pill"
|
||||
>
|
||||
<Avatar user={user} size={16} data-flx="app.friend-selector.render-search-input.avatar" />
|
||||
<span data-flx="app.friend-selector.render-search-input.span">{NicknameUtils.getNickname(user)}</span>
|
||||
<span data-flx="app.friend-selector.render-search-input.span">
|
||||
{NicknameUtils.getNickname(user, null)}
|
||||
</span>
|
||||
<FocusRing offset={-2} data-flx="app.friend-selector.render-search-input.focus-ring">
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => handleRemovePill(userId)}
|
||||
className={styles.removeButton}
|
||||
aria-label={i18n._(REMOVE_DESCRIPTOR, {
|
||||
displayName: NicknameUtils.getNickname(user),
|
||||
displayName: NicknameUtils.getNickname(user, null),
|
||||
})}
|
||||
data-flx="app.friend-selector.render-search-input.remove-button.remove-pill"
|
||||
>
|
||||
@@ -252,7 +254,7 @@ export const FriendSelector: React.FC<FriendSelectorProps> = observer(
|
||||
data-flx="app.friend-selector.status-aware-avatar"
|
||||
/>
|
||||
<span className={styles.friendName} data-flx="app.friend-selector.friend-name">
|
||||
{NicknameUtils.getNickname(user)}
|
||||
{NicknameUtils.getNickname(user, null)}
|
||||
</span>
|
||||
</div>
|
||||
<div className={styles.checkboxContainer} data-flx="app.friend-selector.checkbox-container">
|
||||
@@ -306,7 +308,7 @@ export const FriendSelector: React.FC<FriendSelectorProps> = observer(
|
||||
data-flx="app.friend-selector.status-aware-avatar--2"
|
||||
/>
|
||||
<span className={styles.friendName} data-flx="app.friend-selector.friend-name--2">
|
||||
{NicknameUtils.getNickname(user)}
|
||||
{NicknameUtils.getNickname(user, null)}
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
|
||||
Reference in new issue
Block a user