commit: 5096bff16cc680b7253c05a7ffa1d1c18da727a8
parent: d3adffbefecb7029e5bc83048a933907c7317327
Author: Shpuld Shpludson <shp@cock.li>
Date: Mon, 2 Dec 2019 12:20:25 +0000
Merge branch 'fix/mrf-js-errors' into 'develop'
fix "can't find property of undefined" errors in mrf transparency panel
See merge request pleroma/pleroma-fe!1008
Diffstat:
2 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/src/components/mrf_transparency_panel/mrf_transparency_panel.js b/src/components/mrf_transparency_panel/mrf_transparency_panel.js
@@ -1,16 +1,27 @@
import { mapState } from 'vuex'
+import { get } from 'lodash'
const MRFTransparencyPanel = {
- computed: mapState({
- federationPolicy: state => state.instance.federationPolicy,
- mrfPolicies: state => state.instance.federationPolicy.mrf_policies,
- acceptInstances: state => state.instance.federationPolicy.mrf_simple.accept,
- rejectInstances: state => state.instance.federationPolicy.mrf_simple.reject,
- quarantineInstances: state => state.instance.federationPolicy.quarantined_instances,
- ftlRemovalInstances: state => state.instance.federationPolicy.mrf_simple.federated_timeline_removal,
- mediaNsfwInstances: state => state.instance.federationPolicy.mrf_simple.media_nsfw,
- mediaRemovalInstances: state => state.instance.federationPolicy.mrf_simple.media_removal
- })
+ 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
diff --git a/src/components/mrf_transparency_panel/mrf_transparency_panel.vue b/src/components/mrf_transparency_panel/mrf_transparency_panel.vue
@@ -22,7 +22,9 @@
/>
</ul>
- <h2>{{ $t("about.mrf_policy_simple") }}</h2>
+ <h2 v-if="hasInstanceSpecificPolicies">
+ {{ $t("about.mrf_policy_simple") }}
+ </h2>
<div v-if="acceptInstances.length">
<h4>{{ $t("about.mrf_policy_simple_accept") }}</h4>