45 lines
933 B
TypeScript
45 lines
933 B
TypeScript
// in a separate file to avoid circular dependencies
|
|
import type { Author, Chat, Shout, Topic } from '../graphql/types.gen'
|
|
|
|
// all the things (she said) that could be passed from the server
|
|
export type PageProps = {
|
|
randomTopics?: Topic[]
|
|
article?: Shout
|
|
layoutShouts?: Shout[]
|
|
authorShouts?: Shout[]
|
|
topicShouts?: Shout[]
|
|
homeShouts?: 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
|
|
}
|
|
|
|
export type LayoutType = 'article' | 'audio' | 'video' | 'image' | 'literature'
|
|
|
|
export type FileTypeToUpload = 'image' | 'video' | 'doc'
|
|
|
|
export type MediaItem = {
|
|
url: string
|
|
title: string
|
|
body: string
|
|
source?: string
|
|
}
|