<template>
<mk-ui>
	<div class="user" v-if="!fetching">
		<mk-user-header :user="user"/>
		<mk-user-home v-if="page == 'home'" :user="user"/>
		<mk-user-graphs v-if="page == 'graphs'" :user="user"/>
	</div>
</mk-ui>
</template>

<script lang="ts">
import Vue from 'vue';
import Progress from '../../../../common/scripts/loading';
import MkUserHeader from './user-header.vue';
import MkUserHome from './user-home.vue';

export default Vue.extend({
	components: {
		'mk-user-header': MkUserHeader,
		'mk-user-home': MkUserHome
	},
	props: {
		page: {
			default: 'home'
		}
	},
	data() {
		return {
			fetching: true,
			user: null
		};
	},
	created() {
		this.fetch();
	},
	watch: {
		$route: 'fetch'
	},
	methods: {
		fetch() {
			this.fetching = true;
			Progress.start();
			(this as any).api('users/show', {
				username: this.$route.params.user
			}).then(user => {
				this.user = user;
				this.fetching = false;
				Progress.done();
				document.title = user.name + ' | Misskey';
			});
		}
	}
});
</script>