diff --git a/fluxer_app/src/features/channel/components/modals/channel_tabs/channel_overview_tab/shared.ts b/fluxer_app/src/features/channel/components/modals/channel_tabs/channel_overview_tab/shared.ts index 60897297b..754a3001f 100644 --- a/fluxer_app/src/features/channel/components/modals/channel_tabs/channel_overview_tab/shared.ts +++ b/fluxer_app/src/features/channel/components/modals/channel_tabs/channel_overview_tab/shared.ts @@ -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'; diff --git a/fluxer_app/src/features/messaging/utils/AutocompleteOptionBuilders.ts b/fluxer_app/src/features/messaging/utils/AutocompleteOptionBuilders.ts index 257eb8ed1..0a868316a 100644 --- a/fluxer_app/src/features/messaging/utils/AutocompleteOptionBuilders.ts +++ b/fluxer_app/src/features/messaging/utils/AutocompleteOptionBuilders.ts @@ -142,15 +142,14 @@ function matchGuildMembers(membersToUse: Array, parsedQuery: Parsed return matchedMembers; } -export function searchGuildMembers( - membersToUse: Array, - parsedQuery: ParsedMentionQuery, - limit: number, -): Array { - 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): Map { + const rank = new Map(); + for (const member of members) { + if (!rank.has(member.user.id)) { + rank.set(member.user.id, rank.size); + } + } + return rank; } export function filterGuildMembers(