summaryrefslogtreecommitdiff
path: root/src/web
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-02-20 23:02:24 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-02-20 23:02:24 +0900
commit78160188d9c1529a04a383f10095c8b82302aa34 (patch)
tree63141fe5e28b94d51af6aafffe59c9dbb17ec8df /src/web
parentwip (diff)
downloadmisskey-78160188d9c1529a04a383f10095c8b82302aa34.tar.gz
misskey-78160188d9c1529a04a383f10095c8b82302aa34.tar.bz2
misskey-78160188d9c1529a04a383f10095c8b82302aa34.zip
wip
Diffstat (limited to 'src/web')
-rw-r--r--src/web/app/desktop/views/components/index.ts4
-rw-r--r--src/web/app/desktop/views/components/post-detail.sub.vue (renamed from src/web/app/desktop/views/components/post-detail-sub.vue)4
-rw-r--r--src/web/app/desktop/views/components/post-detail.vue45
-rw-r--r--src/web/app/desktop/views/components/posts.post.sub.vue (renamed from src/web/app/desktop/views/components/posts-post-sub.vue)4
-rw-r--r--src/web/app/desktop/views/components/posts.post.vue (renamed from src/web/app/desktop/views/components/posts-post.vue)14
-rw-r--r--src/web/app/desktop/views/components/posts.vue6
6 files changed, 58 insertions, 19 deletions
diff --git a/src/web/app/desktop/views/components/index.ts b/src/web/app/desktop/views/components/index.ts
index fb8ded9c04..cbe145daf5 100644
--- a/src/web/app/desktop/views/components/index.ts
+++ b/src/web/app/desktop/views/components/index.ts
@@ -5,8 +5,6 @@ import uiNotification from './ui-notification.vue';
import home from './home.vue';
import timeline from './timeline.vue';
import posts from './posts.vue';
-import postsPost from './posts-post.vue';
-import postsPostSub from './posts-post-sub.vue';
import subPostContent from './sub-post-content.vue';
import window from './window.vue';
import postFormWindow from './post-form-window.vue';
@@ -43,8 +41,6 @@ Vue.component('mk-ui-notification', uiNotification);
Vue.component('mk-home', home);
Vue.component('mk-timeline', timeline);
Vue.component('mk-posts', posts);
-Vue.component('mk-posts-post', postsPost);
-Vue.component('mk-posts-post-sub', postsPostSub);
Vue.component('mk-sub-post-content', subPostContent);
Vue.component('mk-window', window);
Vue.component('mk-post-form-window', postFormWindow);
diff --git a/src/web/app/desktop/views/components/post-detail-sub.vue b/src/web/app/desktop/views/components/post-detail.sub.vue
index 320720dfb2..69ced0925f 100644
--- a/src/web/app/desktop/views/components/post-detail-sub.vue
+++ b/src/web/app/desktop/views/components/post-detail.sub.vue
@@ -1,5 +1,5 @@
<template>
-<div class="mk-post-detail-sub" :title="title">
+<div class="sub" :title="title">
<a class="avatar-anchor" href={ '/' + post.user.username }>
<img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar" v-user-preview={ post.user_id }/>
</a>
@@ -40,7 +40,7 @@ export default Vue.extend({
</script>
<style lang="stylus" scoped>
-.mk-post-detail-sub
+.sub
margin 0
padding 20px 32px
background #fdfdfd
diff --git a/src/web/app/desktop/views/components/post-detail.vue b/src/web/app/desktop/views/components/post-detail.vue
index 429b3549b9..c9fe00fca1 100644
--- a/src/web/app/desktop/views/components/post-detail.vue
+++ b/src/web/app/desktop/views/components/post-detail.vue
@@ -11,10 +11,10 @@
<template v-if="contextFetching">%fa:spinner .pulse%</template>
</button>
<div class="context">
- <mk-post-detail-sub v-for="post in context" :key="post.id" :post="post"/>
+ <x-sub v-for="post in context" :key="post.id" :post="post"/>
</div>
<div class="reply-to" v-if="p.reply">
- <mk-post-detail-sub :post="p.reply"/>
+ <x-sub :post="p.reply"/>
</div>
<div class="repost" v-if="isRepost">
<p>
@@ -62,7 +62,7 @@
</footer>
</article>
<div class="replies" v-if="!compact">
- <mk-post-detail-sub v-for="post in nreplies" :key="post.id" :post="post"/>
+ <x-sub v-for="post in replies" :key="post.id" :post="post"/>
</div>
</div>
</template>
@@ -71,7 +71,16 @@
import Vue from 'vue';
import dateStringify from '../../../common/scripts/date-stringify';
+import MkPostFormWindow from './post-form-window.vue';
+import MkRepostFormWindow from './repost-form-window.vue';
+import MkPostMenu from '../../../common/views/components/post-menu.vue';
+import MkReactionPicker from '../../../common/views/components/reaction-picker.vue';
+import XSub from './post-detail.sub.vue';
+
export default Vue.extend({
+ components: {
+ 'x-sub': XSub
+ },
props: {
post: {
type: Object,
@@ -137,6 +146,36 @@ export default Vue.extend({
this.contextFetching = false;
this.context = context.reverse();
});
+ },
+ reply() {
+ document.body.appendChild(new MkPostFormWindow({
+ propsData: {
+ reply: this.p
+ }
+ }).$mount().$el);
+ },
+ repost() {
+ document.body.appendChild(new MkRepostFormWindow({
+ propsData: {
+ post: this.p
+ }
+ }).$mount().$el);
+ },
+ react() {
+ document.body.appendChild(new MkReactionPicker({
+ propsData: {
+ source: this.$refs.reactButton,
+ post: this.p
+ }
+ }).$mount().$el);
+ },
+ menu() {
+ document.body.appendChild(new MkPostMenu({
+ propsData: {
+ source: this.$refs.menuButton,
+ post: this.p
+ }
+ }).$mount().$el);
}
}
});
diff --git a/src/web/app/desktop/views/components/posts-post-sub.vue b/src/web/app/desktop/views/components/posts.post.sub.vue
index cccc24653e..dffa8f5a47 100644
--- a/src/web/app/desktop/views/components/posts-post-sub.vue
+++ b/src/web/app/desktop/views/components/posts.post.sub.vue
@@ -1,5 +1,5 @@
<template>
-<div class="mk-posts-post-sub" :title="title">
+<div class="sub" :title="title">
<a class="avatar-anchor" :href="`/${post.user.username}`">
<img class="avatar" :src="`${post.user.avatar_url}?thumbnail&size=64`" alt="avatar" v-user-preview="post.user_id"/>
</a>
@@ -33,7 +33,7 @@ export default Vue.extend({
</script>
<style lang="stylus" scoped>
-.mk-posts-post-sub
+.sub
margin 0
padding 0
font-size 0.9em
diff --git a/src/web/app/desktop/views/components/posts-post.vue b/src/web/app/desktop/views/components/posts.post.vue
index f16811609f..993bba58cf 100644
--- a/src/web/app/desktop/views/components/posts-post.vue
+++ b/src/web/app/desktop/views/components/posts.post.vue
@@ -1,7 +1,7 @@
<template>
-<div class="mk-posts-post" tabindex="-1" :title="title" @keydown="onKeydown">
+<div class="post" tabindex="-1" :title="title" @keydown="onKeydown">
<div class="reply-to" v-if="p.reply">
- <mk-posts-post-sub post="p.reply"/>
+ <x-sub post="p.reply"/>
</div>
<div class="repost" v-if="isRepost">
<p>
@@ -80,6 +80,7 @@ import MkPostFormWindow from './post-form-window.vue';
import MkRepostFormWindow from './repost-form-window.vue';
import MkPostMenu from '../../../common/views/components/post-menu.vue';
import MkReactionPicker from '../../../common/views/components/reaction-picker.vue';
+import XSub from './posts.post.sub.vue';
function focus(el, fn) {
const target = fn(el);
@@ -93,6 +94,9 @@ function focus(el, fn) {
}
export default Vue.extend({
+ components: {
+ 'x-sub': XSub
+ },
props: ['post'],
data() {
return {
@@ -180,7 +184,6 @@ export default Vue.extend({
},
reply() {
document.body.appendChild(new MkPostFormWindow({
-
propsData: {
reply: this.p
}
@@ -188,7 +191,6 @@ export default Vue.extend({
},
repost() {
document.body.appendChild(new MkRepostFormWindow({
-
propsData: {
post: this.p
}
@@ -196,7 +198,6 @@ export default Vue.extend({
},
react() {
document.body.appendChild(new MkReactionPicker({
-
propsData: {
source: this.$refs.reactButton,
post: this.p
@@ -205,7 +206,6 @@ export default Vue.extend({
},
menu() {
document.body.appendChild(new MkPostMenu({
-
propsData: {
source: this.$refs.menuButton,
post: this.p
@@ -253,7 +253,7 @@ export default Vue.extend({
</script>
<style lang="stylus" scoped>
-.mk-posts-post
+.post
margin 0
padding 0
background #fff
diff --git a/src/web/app/desktop/views/components/posts.vue b/src/web/app/desktop/views/components/posts.vue
index 6c73731bf5..bda24e143c 100644
--- a/src/web/app/desktop/views/components/posts.vue
+++ b/src/web/app/desktop/views/components/posts.vue
@@ -1,7 +1,7 @@
<template>
<div class="mk-posts">
<template v-for="(post, i) in _posts">
- <mk-posts-post :post.sync="post" :key="post.id"/>
+ <x-post :post.sync="post" :key="post.id"/>
<p class="date" :key="post.id + '-time'" v-if="i != posts.length - 1 && post._date != _posts[i + 1]._date"><span>%fa:angle-up%{{ post._datetext }}</span><span>%fa:angle-down%{{ _posts[i + 1]._datetext }}</span></p>
</template>
<footer>
@@ -12,8 +12,12 @@
<script lang="ts">
import Vue from 'vue';
+import XPost from './posts.post.vue';
export default Vue.extend({
+ components: {
+ 'x-post': XPost
+ },
props: {
posts: {
type: Array,