summaryrefslogtreecommitdiff
path: root/src/client/app/admin
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-02-08 04:26:43 +0900
committerGitHub <noreply@github.com>2019-02-08 04:26:43 +0900
commite6612f610c4b8a04663e95bc23e4b5e7ae255831 (patch)
tree364d1f52b2db506a2315eb65c4276cc8fed3fad4 /src/client/app/admin
parentUpdate CONTRIBUTING.md (diff)
downloadsharkey-e6612f610c4b8a04663e95bc23e4b5e7ae255831.tar.gz
sharkey-e6612f610c4b8a04663e95bc23e4b5e7ae255831.tar.bz2
sharkey-e6612f610c4b8a04663e95bc23e4b5e7ae255831.zip
Implement instance blocking (#4182)
* Implement instance blocking * Add missing text * Delete unnecessary file * Covert Punycode to Unicode
Diffstat (limited to 'src/client/app/admin')
-rw-r--r--src/client/app/admin/views/federation.vue27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/client/app/admin/views/federation.vue b/src/client/app/admin/views/federation.vue
index 754a70f525..80b9e9541f 100644
--- a/src/client/app/admin/views/federation.vue
+++ b/src/client/app/admin/views/federation.vue
@@ -39,6 +39,7 @@
<ui-input :value="instance.latestRequestReceivedAt" type="text" readonly>
<span>{{ $t('latest-request-received-at') }}</span>
</ui-input>
+ <ui-switch v-model="instance.isBlocked" @change="updateInstance()">{{ $t('block') }}</ui-switch>
<section>
<ui-button @click="removeAllFollowing()"><fa :icon="faMinusCircle"/> {{ $t('remove-all-following') }}</ui-button>
<ui-info warn>{{ $t('remove-all-following-info', { host: instance.host }) }}</ui-info>
@@ -64,6 +65,11 @@
<option value="-followers">{{ $t('sorts.followersAsc') }}</option>
<option value="+followers">{{ $t('sorts.followersDesc') }}</option>
</ui-select>
+ <ui-select v-model="state">
+ <span slot="label">{{ $t('state') }}</span>
+ <option value="all">{{ $t('states.all') }}</option>
+ <option value="blocked">{{ $t('states.blocked') }}</option>
+ </ui-select>
</ui-horizon-group>
<div class="instances">
@@ -84,6 +90,8 @@
<span>{{ instance.latestStatus }}</span>
</div>
</div>
+
+ <ui-info v-if="instances.length == limit">{{ $t('result-is-truncated', { n: limit }) }}</ui-info>
</section>
</ui-card>
</div>
@@ -102,6 +110,7 @@ export default Vue.extend({
instance: null,
target: null,
sort: '+caughtAt',
+ state: 'all',
limit: 50,
instances: [],
faGlobe, faTerminal, faSearch, faMinusCircle
@@ -110,7 +119,10 @@ export default Vue.extend({
watch: {
sort() {
- this.instances = [];
+ this.fetchInstances();
+ },
+
+ state() {
this.fetchInstances();
},
},
@@ -137,9 +149,11 @@ export default Vue.extend({
},
fetchInstances() {
+ this.instances = [];
this.$root.api('federation/instances', {
+ state: this.state,
sort: this.sort,
- limit: 50
+ limit: this.limit
}).then(instances => {
this.instances = instances;
});
@@ -154,7 +168,14 @@ export default Vue.extend({
splash: true
});
});
- }
+ },
+
+ updateInstance() {
+ this.$root.api('admin/federation/update-instance', {
+ host: this.instance.host,
+ isBlocked: this.instance.isBlocked,
+ });
+ },
}
});
</script>