webapp/src/pages/types.ts

36 lines
793 B
TypeScript
Raw Normal View History

2022-09-22 09:37:49 +00:00
// in a separate file to avoid circular dependencies
2022-10-09 05:08:38 +00:00
import type { Author, Chat, Shout, Topic } from '../graphql/types.gen'
2022-09-22 09:37:49 +00:00
// all the things (she said) that could be passed from the server
export type PageProps = {
randomTopics?: Topic[]
article?: Shout
2022-12-07 19:49:03 +00:00
layoutShouts?: Shout[]
authorShouts?: Shout[]
topicShouts?: Shout[]
homeShouts?: Shout[]
2022-09-22 09:37:49 +00:00
author?: Author
2022-10-05 15:11:14 +00:00
allAuthors?: Author[]
2022-09-22 09:37:49 +00:00
topic?: Topic
2022-10-05 15:11:14 +00:00
allTopics?: Topic[]
2022-09-22 09:37:49 +00:00
searchQuery?: string
layout?: string // LayoutType
2022-09-22 09:37:49 +00:00
// other types?
searchResults?: Shout[]
2022-10-09 05:08:38 +00:00
chats?: Chat[]
2022-09-22 09:37:49 +00:00
}
export type RootSearchParams = {
modal: string
lang: string
}
2022-12-02 06:12:50 +00:00
export type UploadFile = {
source: string
name: string
size: number
file: File
}
export type LayoutType = 'article' | 'audio' | 'video' | 'image' | 'literature'