wip
This commit is contained in:
parent
4fd3192791
commit
1025077df2
6 changed files with 60 additions and 39 deletions
|
@ -25,6 +25,7 @@ import MkSelectDrive from './views/pages/selectdrive.vue';
|
|||
import MkDrive from './views/pages/drive.vue';
|
||||
import MkHomeCustomize from './views/pages/home-customize.vue';
|
||||
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
||||
import MkPost from './views/pages/post.vue';
|
||||
|
||||
/**
|
||||
* init
|
||||
|
@ -75,7 +76,8 @@ init(async (launch) => {
|
|||
{ path: '/i/drive', component: MkDrive },
|
||||
{ path: '/i/drive/folder/:folder', component: MkDrive },
|
||||
{ path: '/selectdrive', component: MkSelectDrive },
|
||||
{ path: '/:user', component: MkUser }
|
||||
{ path: '/:user', component: MkUser },
|
||||
{ path: '/:user/:post', component: MkPost }
|
||||
]);
|
||||
}, true);
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
</router-link>
|
||||
</header>
|
||||
<div class="body">
|
||||
<mk-post-html v-if="p.ast" :ast="p.ast" :i="os.i"/>
|
||||
<mk-post-html :class="$style.text" v-if="p.ast" :ast="p.ast" :i="os.i"/>
|
||||
<mk-url-preview v-for="url in urls" :url="url" :key="url"/>
|
||||
<div class="media" v-if="p.media">
|
||||
<mk-images :images="p.media"/>
|
||||
|
@ -311,17 +311,8 @@ export default Vue.extend({
|
|||
> .body
|
||||
padding 8px 0
|
||||
|
||||
> .text
|
||||
cursor default
|
||||
display block
|
||||
margin 0
|
||||
padding 0
|
||||
overflow-wrap break-word
|
||||
font-size 1.5em
|
||||
color #717171
|
||||
|
||||
> .mk-url-preview
|
||||
margin-top 8px
|
||||
> .mk-url-preview
|
||||
margin-top 8px
|
||||
|
||||
> footer
|
||||
font-size 1.2em
|
||||
|
@ -351,3 +342,14 @@ export default Vue.extend({
|
|||
border-top 1px solid #eef0f2
|
||||
|
||||
</style>
|
||||
|
||||
<style lang="stylus" module>
|
||||
.text
|
||||
cursor default
|
||||
display block
|
||||
margin 0
|
||||
padding 0
|
||||
overflow-wrap break-word
|
||||
font-size 1.5em
|
||||
color #717171
|
||||
</style>
|
||||
|
|
|
@ -13,26 +13,32 @@ import Vue from 'vue';
|
|||
import Progress from '../../../common/scripts/loading';
|
||||
|
||||
export default Vue.extend({
|
||||
props: ['postId'],
|
||||
data() {
|
||||
return {
|
||||
fetching: true,
|
||||
post: null
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
Progress.start();
|
||||
watch: {
|
||||
$route: 'fetch'
|
||||
},
|
||||
created() {
|
||||
this.fetch();
|
||||
},
|
||||
methods: {
|
||||
fetch() {
|
||||
Progress.start();
|
||||
this.fetching = true;
|
||||
|
||||
// TODO: extract the fetch step for vue-router's caching
|
||||
(this as any).api('posts/show', {
|
||||
post_id: this.$route.params.post
|
||||
}).then(post => {
|
||||
this.post = post;
|
||||
this.fetching = false;
|
||||
|
||||
(this as any).api('posts/show', {
|
||||
post_id: this.postId
|
||||
}).then(post => {
|
||||
this.post = post;
|
||||
this.fetching = false;
|
||||
|
||||
Progress.done();
|
||||
});
|
||||
Progress.done();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -22,6 +22,7 @@ import MkDrive from './views/pages/drive.vue';
|
|||
import MkNotifications from './views/pages/notifications.vue';
|
||||
import MkMessaging from './views/pages/messaging.vue';
|
||||
import MkMessagingRoom from './views/pages/messaging-room.vue';
|
||||
import MkPost from './views/pages/post.vue';
|
||||
|
||||
/**
|
||||
* init
|
||||
|
@ -57,6 +58,7 @@ init((launch) => {
|
|||
{ path: '/i/drive/folder/:folder', component: MkDrive },
|
||||
{ path: '/i/drive/file/:file', component: MkDrive },
|
||||
{ path: '/selectdrive', component: MkSelectDrive },
|
||||
{ path: '/:user', component: MkUser }
|
||||
{ path: '/:user', component: MkUser },
|
||||
{ path: '/:user/:post', component: MkPost }
|
||||
]);
|
||||
}, true);
|
||||
|
|
|
@ -16,27 +16,36 @@ import Vue from 'vue';
|
|||
import Progress from '../../../common/scripts/loading';
|
||||
|
||||
export default Vue.extend({
|
||||
props: ['postId'],
|
||||
data() {
|
||||
return {
|
||||
fetching: true,
|
||||
post: null
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
$route: 'fetch'
|
||||
},
|
||||
created() {
|
||||
this.fetch();
|
||||
},
|
||||
mounted() {
|
||||
document.title = 'Misskey';
|
||||
document.documentElement.style.background = '#313a42';
|
||||
},
|
||||
methods: {
|
||||
fetch() {
|
||||
Progress.start();
|
||||
this.fetching = true;
|
||||
|
||||
Progress.start();
|
||||
(this as any).api('posts/show', {
|
||||
post_id: this.$route.params.post
|
||||
}).then(post => {
|
||||
this.post = post;
|
||||
this.fetching = false;
|
||||
|
||||
(this as any).api('posts/show', {
|
||||
post_id: this.postId
|
||||
}).then(post => {
|
||||
this.post = post;
|
||||
this.fetching = false;
|
||||
|
||||
Progress.done();
|
||||
});
|
||||
Progress.done();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -82,12 +82,12 @@ export default Vue.extend({
|
|||
return age(this.user.profile.birthday);
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.fetch();
|
||||
},
|
||||
watch: {
|
||||
$route: 'fetch'
|
||||
},
|
||||
created() {
|
||||
this.fetch();
|
||||
},
|
||||
mounted() {
|
||||
document.documentElement.style.background = '#313a42';
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue