1 import { ErrorPageData } from "@utils/types";
2 import { CommentView, GetSiteResponse } from "lemmy-js-client";
3 import type { ParsedQs } from "qs";
4 import { RequestState, WrappedLemmyHttp } from "./services/HttpService";
7 * This contains serialized data, it needs to be deserialized before use.
9 export interface IsoData<T extends RouteData = any> {
12 site_res: GetSiteResponse;
13 errorPageData?: ErrorPageData;
16 export type IsoDataOptionalSite<T extends RouteData = any> = Partial<
19 Pick<IsoData<T>, Exclude<keyof IsoData<T>, "site_res">>;
21 export interface ILemmyConfig {
28 lemmyConfig?: ILemmyConfig;
32 export interface InitialFetchRequest<T extends ParsedQs = ParsedQs> {
34 client: WrappedLemmyHttp;
37 site: GetSiteResponse;
40 export interface PostFormParams {
46 export enum CommentViewType {
51 export enum DataType {
61 export enum PersonDetailsView {
62 Overview = "Overview",
63 Comments = "Comments",
68 export enum PurgeType {
75 export enum VoteType {
80 export enum VoteContentType {
85 export interface CommentNodeI {
86 comment_view: CommentView;
87 children: Array<CommentNodeI>;
91 export type RouteData = Record<string, RequestState<any>>;