<template>
<ui-card>
	<div slot="title"><fa icon="ban"/> %i18n:@mute-and-block%</div>

	<section>
		<header>%i18n:@mute%</header>
		<ui-info v-if="!muteFetching && mute.length == 0">%i18n:@no-muted-users%</ui-info>
		<div class="users" v-if="mute.length != 0">
			<div v-for="user in mute" :key="user.id">
				<p><b>{{ user | userName }}</b> @{{ user | acct }}</p>
			</div>
		</div>
	</section>

	<section>
		<header>%i18n:@block%</header>
		<ui-info v-if="!blockFetching && block.length == 0">%i18n:@no-blocked-users%</ui-info>
		<div class="users" v-if="block.length != 0">
			<div v-for="user in block" :key="user.id">
				<p><b>{{ user | userName }}</b> @{{ user | acct }}</p>
			</div>
		</div>
	</section>
</ui-card>
</template>

<script lang="ts">
import Vue from 'vue';

export default Vue.extend({
	data() {
		return {
			muteFetching: true,
			blockFetching: true,
			mute: [],
			block: []
		};
	},

	mounted() {
		(this as any).api('mute/list').then(mute => {
			this.mute = mute.map(x => x.mutee);
			this.muteFetching = false;
		});

		(this as any).api('blocking/list').then(blocking => {
			this.block = blocking.map(x => x.blockee);
			this.blockFetching = false;
		});
	}
});
</script>
