mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
fix(app): order member mention results by search relevance (#1878)
This commit is contained in:
1 parent
1f0f7d1222
commit
e21544eac2
2 files changed
+9
-10
No files matched your search
+1
-1
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import type {ChannelRtcRegion} from '@app/features/channel/commands/ChannelCommands';
|
||||
import type {TriggerType} from '@app/features/messaging/hooks/useTextareaAutocomplete';
|
||||
import type {TriggerType} from '@app/features/messaging/utils/AutocompleteTriggerPolicy';
|
||||
import type {ComboboxOption} from '@app/features/ui/components/form/FormCombobox';
|
||||
import {VOICE_CHANNEL_BITRATE_MAX, VOICE_CHANNEL_BITRATE_MIN} from '@fluxer/constants/src/LimitConstants';
|
||||
|
||||
|
||||
@@ -142,15 +142,14 @@ function matchGuildMembers(membersToUse: Array<GuildMember>, parsedQuery: Parsed
|
||||
return matchedMembers;
|
||||
}
|
||||
|
||||
export function searchGuildMembers(
|
||||
membersToUse: Array<GuildMember>,
|
||||
parsedQuery: ParsedMentionQuery,
|
||||
limit: number,
|
||||
): Array<GuildMember> {
|
||||
const matchedMembers = matchGuildMembers(membersToUse, parsedQuery);
|
||||
return [...matchedMembers]
|
||||
.sort((a, b) => getMemberDisplayName(a).toLowerCase().localeCompare(getMemberDisplayName(b).toLowerCase()))
|
||||
.slice(0, limit);
|
||||
export function buildMemberSearchRank(members: ReadonlyArray<GuildMember>): Map<string, number> {
|
||||
const rank = new Map<string, number>();
|
||||
for (const member of members) {
|
||||
if (!rank.has(member.user.id)) {
|
||||
rank.set(member.user.id, rank.size);
|
||||
}
|
||||
}
|
||||
return rank;
|
||||
}
|
||||
|
||||
export function filterGuildMembers(
|
||||
|
||||
Reference in new issue
Block a user