webapp/src/components/types.ts
2022-12-02 09:12:50 +03:00

32 lines
681 B
TypeScript

// in a separate file to avoid circular dependencies
import type { Author, Chat, Shout, Topic } from '../graphql/types.gen'
import type { LayoutType } from '../stores/zine/layouts'
// all the things (she said) that could be passed from the server
export type PageProps = {
randomTopics?: Topic[]
article?: Shout
shouts?: Shout[]
author?: Author
allAuthors?: Author[]
topic?: Topic
allTopics?: Topic[]
searchQuery?: string
layout?: LayoutType
// other types?
searchResults?: Shout[]
chats?: Chat[]
}
export type RootSearchParams = {
modal: string
lang: string
}
export type UploadFile = {
source: string
name: string
size: number
file: File
}