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