about summary refs log tree commit diff
path: root/src/lib/labeling/types.ts
blob: d4efb499a35694dbb259304379df358b2f5a5655 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import {ComAtprotoLabelDefs} from '@atproto/api'
import {LabelPreferencesModel} from 'state/models/ui/preferences'

export type Label = ComAtprotoLabelDefs.Label

export interface LabelValGroup {
  id: keyof LabelPreferencesModel | 'illegal' | 'unknown'
  title: string
  imagesOnly: boolean
  subtitle?: string
  warning: string
  values: string[]
}

export interface PostLabelInfo {
  postLabels: Label[]
  accountLabels: Label[]
  profileLabels: Label[]
  isMuted: boolean
}

export interface ProfileLabelInfo {
  accountLabels: Label[]
  profileLabels: Label[]
  isMuted: boolean
}

export enum ModerationBehaviorCode {
  Show,
  Hide,
  Warn,
  WarnContent,
  WarnImages,
}

export interface ModerationBehavior {
  behavior: ModerationBehaviorCode
  noOverride?: boolean
  reason?: string
}

export interface AvatarModeration {
  warn: boolean
  blur: boolean
}

export interface PostModeration {
  avatar: AvatarModeration
  list: ModerationBehavior
  thread: ModerationBehavior
  view: ModerationBehavior
}

export interface ProfileModeration {
  avatar: AvatarModeration
  list: ModerationBehavior
  view: ModerationBehavior
}