forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import {type Sift} from '@bsky.app/sift'
2import {type Emoji} from '@emoji-mart/data'
3
4import type * as bsky from '#/types/bsky'
5
6export type AutocompleteProfile = {
7 key: string
8 type: 'profile'
9 value: string
10 profile: bsky.profile.AnyProfileView
11}
12
13export type AutocompleteTag = {
14 key: string
15 type: 'tag'
16 value: string
17 tag: string
18}
19
20export type AutocompleteEmoji = {
21 key: string
22 type: 'emoji'
23 value: string
24 emoji: Emoji
25}
26
27export type AutocompleteSearch = {
28 key: string
29 type: 'search'
30 value: string
31}
32
33export type AutocompleteItem =
34 | AutocompleteProfile
35 | AutocompleteTag
36 | AutocompleteEmoji
37 | AutocompleteSearch
38
39export type AutocompleteItemType = AutocompleteItem['type']
40
41export type AutocompleteItemProps = Parameters<
42 Parameters<typeof Sift<AutocompleteItem>>[0]['render']
43>[0]
44
45export type AutocompleteApi = {
46 query: string
47 items: AutocompleteItem[]
48}