25 lines
778 B
TypeScript

import type { ApiCollectionJSON } from '@/mastodon/api_types/collections';
import type { ApiSearchResultsJSON } from '@/mastodon/api_types/search';
import type { ApiHashtagJSON } from '@/mastodon/api_types/tags';
export type SearchType = 'account' | 'hashtag' | 'accounts' | 'statuses';
export interface RecentSearch {
q: string;
type?: SearchType;
}
export interface SearchResults {
accounts: string[];
statuses: string[];
hashtags: ApiHashtagJSON[];
collections: ApiCollectionJSON[];
}
export const createSearchResults = (serverJSON: ApiSearchResultsJSON) => ({
accounts: serverJSON.accounts.map((account) => account.id),
statuses: serverJSON.statuses.map((status) => status.id),
hashtags: serverJSON.hashtags,
collections: serverJSON.collections,
});