add composer local sources and convo members

This commit is contained in:
vineyardbovines
2026-07-14 19:45:00 -04:00
parent 34b6631087
commit e740f60fc8
3 changed files with 41 additions and 1 deletions
+10 -1
View File
@@ -29,6 +29,7 @@ import {
Autocomplete as AutocompleteBase,
AutocompleteItemEmoji,
AutocompleteItemProfile,
type LocalSource,
parseAutocompleteItemType,
useAutocomplete,
} from '#/components/Autocomplete'
@@ -101,6 +102,8 @@ export type ComposerProps = Omit<
undefined
>['placement']
disableEmojiFacets?: boolean
/** Local datasets weighted above remote results in the mention typeahead. */
localSources?: LocalSource[]
}
export function Composer({
@@ -117,6 +120,7 @@ export function Composer({
autocompletePlacement,
defaultValue,
disableEmojiFacets = !IS_WEB,
localSources,
...rest
}: ComposerProps) {
const {theme: t, fonts} = useAlf()
@@ -377,6 +381,7 @@ export function Composer({
inverted={autocompletePlacement?.startsWith('top')}
sift={sift}
activeFacet={activeFacet}
localSources={localSources}
onDismiss={() => setActiveFacet(null)}
/>
)}
@@ -392,16 +397,20 @@ function AutocompleteInner({
inverted,
sift,
activeFacet,
localSources,
onDismiss,
}: {
inverted?: boolean
sift: UseSiftReturn
activeFacet: TapperActiveFacet
localSources?: LocalSource[]
onDismiss: () => void
}) {
const itemType = parseAutocompleteItemType(activeFacet.type)
const {items} = useAutocomplete({
type: parseAutocompleteItemType(activeFacet.type),
type: itemType,
query: activeFacet.value,
sources: itemType === 'profile' ? localSources : undefined,
})
useEffect(() => {