]> Untitled Git - lemmy-ui.git/blob - src/shared/interfaces.ts
Comment Tree paging (#726)
[lemmy-ui.git] / src / shared / interfaces.ts
1 import { Either, Option } from "@sniptt/monads";
2 import { GetSiteResponse, LemmyHttp } from "lemmy-js-client";
3
4 /**
5  * This contains serialized data, it needs to be deserialized before use.
6  */
7 export interface IsoData {
8   path: string;
9   routeData: any[];
10   site_res: GetSiteResponse;
11 }
12
13 export interface ILemmyConfig {
14   wsHost?: string;
15 }
16
17 declare global {
18   interface Window {
19     isoData: IsoData;
20     lemmyConfig?: ILemmyConfig;
21   }
22 }
23
24 export interface InitialFetchRequest {
25   auth: Option<string>;
26   client: LemmyHttp;
27   path: string;
28 }
29
30 export interface PostFormParams {
31   name: Option<string>;
32   url: Option<string>;
33   body: Option<string>;
34   nameOrId: Option<Either<string, number>>;
35 }
36
37 export enum CommentViewType {
38   Tree,
39   Flat,
40 }
41
42 export enum DataType {
43   Post,
44   Comment,
45 }
46
47 export enum BanType {
48   Community,
49   Site,
50 }
51
52 export enum PersonDetailsView {
53   Overview,
54   Comments,
55   Posts,
56   Saved,
57 }
58
59 export enum PurgeType {
60   Person,
61   Community,
62   Post,
63   Comment,
64 }