Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

dont filter exact matches from typeahead (#4802)

authored by

Hailey and committed by
GitHub
59bafb42 3627a249

+22 -11
+22 -11
src/state/queries/actor-autocomplete.ts
··· 45 45 }, 46 46 select: React.useCallback( 47 47 (data: AppBskyActorDefs.ProfileViewBasic[]) => { 48 - return computeSuggestions(data, moderationOpts || DEFAULT_MOD_OPTS) 48 + return computeSuggestions({ 49 + q: prefix, 50 + searched: data, 51 + moderationOpts: moderationOpts || DEFAULT_MOD_OPTS, 52 + }) 49 53 }, 50 - [moderationOpts], 54 + [prefix, moderationOpts], 51 55 ), 52 56 placeholderData: maintainData ? keepPreviousData : undefined, 53 57 }) ··· 81 85 } 82 86 } 83 87 84 - return computeSuggestions( 85 - res?.data.actors, 86 - moderationOpts || DEFAULT_MOD_OPTS, 87 - ) 88 + return computeSuggestions({ 89 + q: query, 90 + searched: res?.data.actors, 91 + moderationOpts: moderationOpts || DEFAULT_MOD_OPTS, 92 + }) 88 93 }, 89 94 [queryClient, moderationOpts, agent], 90 95 ) 91 96 } 92 97 93 - function computeSuggestions( 94 - searched: AppBskyActorDefs.ProfileViewBasic[] = [], 95 - moderationOpts: ModerationOpts, 96 - ) { 98 + function computeSuggestions({ 99 + q, 100 + searched = [], 101 + moderationOpts, 102 + }: { 103 + q?: string 104 + searched?: AppBskyActorDefs.ProfileViewBasic[] 105 + moderationOpts: ModerationOpts 106 + }) { 97 107 let items: AppBskyActorDefs.ProfileViewBasic[] = [] 98 108 for (const item of searched) { 99 109 if (!items.find(item2 => item2.handle === item.handle)) { ··· 102 112 } 103 113 return items.filter(profile => { 104 114 const modui = moderateProfile(profile, moderationOpts).ui('profileList') 105 - return !modui.filter || isJustAMute(modui) 115 + const isExactMatch = q && profile.handle.toLowerCase() === q 116 + return isExactMatch || !modui.filter || isJustAMute(modui) 106 117 }) 107 118 }