diff --git a/src/web/app/mobile/views/components/index.ts b/src/web/app/mobile/views/components/index.ts index 715e291a7..7cb9aa4a5 100644 --- a/src/web/app/mobile/views/components/index.ts +++ b/src/web/app/mobile/views/components/index.ts @@ -6,6 +6,8 @@ import timeline from './timeline.vue'; import posts from './posts.vue'; import imagesImage from './images-image.vue'; import drive from './drive.vue'; +import postPreview from './post-preview.vue'; +import subPostContent from './sub-post-content.vue'; Vue.component('mk-ui', ui); Vue.component('mk-home', home); @@ -13,3 +15,5 @@ Vue.component('mk-timeline', timeline); Vue.component('mk-posts', posts); Vue.component('mk-images-image', imagesImage); Vue.component('mk-drive', drive); +Vue.component('mk-post-preview', postPreview); +Vue.component('mk-sub-post-content', subPostContent); diff --git a/src/web/app/mobile/views/pages/user.vue b/src/web/app/mobile/views/pages/user.vue index 2d1611726..afd7e990a 100644 --- a/src/web/app/mobile/views/pages/user.vue +++ b/src/web/app/mobile/views/pages/user.vue @@ -1,6 +1,6 @@ <template> <mk-ui :func="fn"> - <span slot="header" v-if="!fetching">%fa:user% {{user.name}}</span> + <span slot="header" v-if="!fetching">%fa:user% {{ user.name }}</span> <template slot="funcIcon">%fa:pencil-alt%</template> <div v-if="!fetching" :class="$style.user"> <header> @@ -58,15 +58,11 @@ <script lang="ts"> import Vue from 'vue'; -const age = require('s-age'); +import age from 's-age'; import Progress from '../../../common/scripts/loading'; export default Vue.extend({ props: { - username: { - type: String, - required: true - }, page: { default: 'home' } @@ -82,19 +78,30 @@ export default Vue.extend({ return age(this.user.profile.birthday); } }, + created() { + this.fetch(); + }, + watch: { + $route: 'fetch' + }, mounted() { document.documentElement.style.background = '#313a42'; - Progress.start(); - (this as any).api('users/show', { - username: this.username - }).then(user => { - this.user = user; - this.fetching = false; + }, + methods: { + fetch() { + Progress.start(); - Progress.done(); - document.title = user.name + ' | Misskey'; - }); + (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>