mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
2import {useLingui} from '@lingui/react'
3import {msg} from '@lingui/macro'
4
5export function useLabelBehaviorDescription(
6 labelValueDef: InterpretedLabelValueDefinition,
7 pref: LabelPreference,
8) {
9 const {_} = useLingui()
10 if (pref === 'ignore') {
11 return _(msg`Off`)
12 }
13 if (labelValueDef.blurs === 'content' || labelValueDef.blurs === 'media') {
14 if (pref === 'hide') {
15 return _(msg`Hide`)
16 }
17 return _(msg`Warn`)
18 } else if (labelValueDef.severity === 'alert') {
19 if (pref === 'hide') {
20 return _(msg`Hide`)
21 }
22 return _(msg`Warn`)
23 } else if (labelValueDef.severity === 'inform') {
24 if (pref === 'hide') {
25 return _(msg`Hide`)
26 }
27 return _(msg`Show badge`)
28 } else {
29 if (pref === 'hide') {
30 return _(msg`Hide`)
31 }
32 return _(msg`Disabled`)
33 }
34}
35
36export function useLabelLongBehaviorDescription(
37 labelValueDef: InterpretedLabelValueDefinition,
38 pref: LabelPreference,
39) {
40 const {_} = useLingui()
41 if (pref === 'ignore') {
42 return _(msg`Disabled`)
43 }
44 if (labelValueDef.blurs === 'content') {
45 if (pref === 'hide') {
46 return _(msg`Warn content and filter from feeds`)
47 }
48 return _(msg`Warn content`)
49 } else if (labelValueDef.blurs === 'media') {
50 if (pref === 'hide') {
51 return _(msg`Blur images and filter from feeds`)
52 }
53 return _(msg`Blur images`)
54 } else if (labelValueDef.severity === 'alert') {
55 if (pref === 'hide') {
56 return _(msg`Show warning and filter from feeds`)
57 }
58 return _(msg`Show warning`)
59 } else if (labelValueDef.severity === 'inform') {
60 if (pref === 'hide') {
61 return _(msg`Show badge and filter from feeds`)
62 }
63 return _(msg`Show badge`)
64 } else {
65 if (pref === 'hide') {
66 return _(msg`Filter from feeds`)
67 }
68 return _(msg`Disabled`)
69 }
70}