mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 21:15: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
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
import type {ChannelRtcRegion} from '@app/features/channel/commands/ChannelCommands';
|
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 type {ComboboxOption} from '@app/features/ui/components/form/FormCombobox';
|
||||||
import {VOICE_CHANNEL_BITRATE_MAX, VOICE_CHANNEL_BITRATE_MIN} from '@fluxer/constants/src/LimitConstants';
|
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;
|
return matchedMembers;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function searchGuildMembers(
|
export function buildMemberSearchRank(members: ReadonlyArray<GuildMember>): Map<string, number> {
|
||||||
membersToUse: Array<GuildMember>,
|
const rank = new Map<string, number>();
|
||||||
parsedQuery: ParsedMentionQuery,
|
for (const member of members) {
|
||||||
limit: number,
|
if (!rank.has(member.user.id)) {
|
||||||
): Array<GuildMember> {
|
rank.set(member.user.id, rank.size);
|
||||||
const matchedMembers = matchGuildMembers(membersToUse, parsedQuery);
|
}
|
||||||
return [...matchedMembers]
|
}
|
||||||
.sort((a, b) => getMemberDisplayName(a).toLowerCase().localeCompare(getMemberDisplayName(b).toLowerCase()))
|
return rank;
|
||||||
.slice(0, limit);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function filterGuildMembers(
|
export function filterGuildMembers(
|
||||||
|
|||||||
Reference in new issue
Block a user