aboutsummaryrefslogtreecommitdiff
path: root/src/components/mrf_transparency_panel/mrf_transparency_panel.js
blob: 6a1baec8168c78a994224568c25a6280e0433fe9 (plain)
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
import { mapState } from 'vuex'
import { get } from 'lodash'

const MRFTransparencyPanel = {
  computed: {
    ...mapState({
      federationPolicy: state => get(state, 'instance.federationPolicy'),
      mrfPolicies: state => get(state, 'instance.federationPolicy.mrf_policies', []),
      quarantineInstances: state => get(state, 'instance.federationPolicy.quarantined_instances', []),
      acceptInstances: state => get(state, 'instance.federationPolicy.mrf_simple.accept', []),
      rejectInstances: state => get(state, 'instance.federationPolicy.mrf_simple.reject', []),
      ftlRemovalInstances: state => get(state, 'instance.federationPolicy.mrf_simple.federated_timeline_removal', []),
      mediaNsfwInstances: state => get(state, 'instance.federationPolicy.mrf_simple.media_nsfw', []),
      mediaRemovalInstances: state => get(state, 'instance.federationPolicy.mrf_simple.media_removal', [])
    }),
    hasInstanceSpecificPolicies () {
      return this.quarantineInstances.length ||
        this.acceptInstances.length ||
        this.rejectInstances.length ||
        this.ftlRemovalInstances.length ||
        this.mediaNsfwInstances.length ||
        this.mediaRemovalInstances.length
    }
  }
}

export default MRFTransparencyPanel