summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/app/desktop/views/components/ui.header.nav.vue2
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.column.vue25
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.notes.vue16
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.tl-column.vue33
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.tl.vue4
-rw-r--r--src/client/app/desktop/views/pages/deck/deck.vue11
-rw-r--r--src/services/note/create.ts4
7 files changed, 72 insertions, 23 deletions
diff --git a/src/client/app/desktop/views/components/ui.header.nav.vue b/src/client/app/desktop/views/components/ui.header.nav.vue
index 8e792b3df5..fe2637cec3 100644
--- a/src/client/app/desktop/views/components/ui.header.nav.vue
+++ b/src/client/app/desktop/views/components/ui.header.nav.vue
@@ -11,7 +11,7 @@
<li class="deck" :class="{ active: $route.name == 'deck' }">
<router-link to="/deck">
%fa:columns%
- <p>%i18n:@deck%</p>
+ <p>%i18n:@deck% <small>(beta)</small></p>
</router-link>
</li>
<li class="messaging">
diff --git a/src/client/app/desktop/views/pages/deck/deck.column.vue b/src/client/app/desktop/views/pages/deck/deck.column.vue
index e0fc394f33..8d0b3c0fdb 100644
--- a/src/client/app/desktop/views/pages/deck/deck.column.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.column.vue
@@ -1,10 +1,10 @@
<template>
<div class="dnpfarvgbnfmyzbdquhhzyxcmstpdqzs">
<header>
- <slot name="header">Timeline</slot>
+ <slot name="header"></slot>
</header>
<div ref="body">
- <x-tl ref="tl"/>
+ <slot></slot>
</div>
</div>
</template>
@@ -17,9 +17,23 @@ export default Vue.extend({
components: {
XTl
},
+ provide() {
+ return {
+ getColumn() {
+ return this;
+ },
+ getScrollContainer() {
+ return this.$refs.body;
+ }
+ };
+ },
mounted() {
this.$nextTick(() => {
- this.$refs.tl.mount(this.$refs.body);
+ this.$emit('mounted');
+
+ setInterval(() => {
+ this.$emit('mounted');
+ }, 100);
});
}
});
@@ -31,6 +45,7 @@ export default Vue.extend({
root(isDark)
flex 1
min-width 330px
+ max-width 330px
height 100%
margin-right 16px
background isDark ? #282C37 : #fff
@@ -40,14 +55,14 @@ root(isDark)
> header
z-index 1
- line-height 48px
+ line-height 42px
padding 0 16px
color isDark ? #e3e5e8 : #888
background isDark ? #313543 : #fff
box-shadow 0 1px rgba(#000, 0.15)
> div
- height calc(100% - 48px)
+ height calc(100% - 42px)
overflow auto
overflow-x hidden
diff --git a/src/client/app/desktop/views/pages/deck/deck.notes.vue b/src/client/app/desktop/views/pages/deck/deck.notes.vue
index ff871b049d..48be4e585c 100644
--- a/src/client/app/desktop/views/pages/deck/deck.notes.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.notes.vue
@@ -73,16 +73,20 @@ export default Vue.extend({
}
},
+ inject: ['getColumn', 'getScrollContainer'],
+
+ created() {
+ this.getColumn().$once('mounted', () => {
+ this.rootEl = this.getScrollContainer();
+ this.rootEl.addEventListener('scroll', this.onScroll);
+ })
+ },
+
beforeDestroy() {
- this.root.removeEventListener('scroll', this.onScroll);
+ this.rootEl.removeEventListener('scroll', this.onScroll);
},
methods: {
- mount(root) {
- this.rootEl = root;
- this.rootEl.addEventListener('scroll', this.onScroll);
- },
-
isScrollTop() {
if (this.rootEl == null) return true;
return this.rootEl.scrollTop <= 8;
diff --git a/src/client/app/desktop/views/pages/deck/deck.tl-column.vue b/src/client/app/desktop/views/pages/deck/deck.tl-column.vue
new file mode 100644
index 0000000000..674f04077f
--- /dev/null
+++ b/src/client/app/desktop/views/pages/deck/deck.tl-column.vue
@@ -0,0 +1,33 @@
+<template>
+<div>
+ <x-column>
+ <span slot="header">
+ <template v-if="src == 'home'">%fa:home% %i18n:@home%</template>
+ <template v-if="src == 'local'">%fa:R comments% %i18n:@local%</template>
+ <template v-if="src == 'global'">%fa:globe% %i18n:@global%</template>
+ <template v-if="src == 'list'">%fa:list% {{ list.title }}</template>
+ </span>
+ <x-tl :src="src"/>
+ </x-column>
+</div>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+import XColumn from './deck.column.vue';
+import XTl from './deck.tl.vue';
+
+export default Vue.extend({
+ components: {
+ XColumn,
+ XTl
+ },
+
+ props: {
+ src: {
+ type: String,
+ required: false
+ }
+ },
+});
+</script>
diff --git a/src/client/app/desktop/views/pages/deck/deck.tl.vue b/src/client/app/desktop/views/pages/deck/deck.tl.vue
index ce9a77703f..0a788b32ed 100644
--- a/src/client/app/desktop/views/pages/deck/deck.tl.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.tl.vue
@@ -14,10 +14,6 @@ export default Vue.extend({
},
props: {
- root: {
- type: Object,
- required: false
- },
src: {
type: String,
required: false,
diff --git a/src/client/app/desktop/views/pages/deck/deck.vue b/src/client/app/desktop/views/pages/deck/deck.vue
index 0c32b7d665..dfd480029c 100644
--- a/src/client/app/desktop/views/pages/deck/deck.vue
+++ b/src/client/app/desktop/views/pages/deck/deck.vue
@@ -1,21 +1,20 @@
<template>
<mk-ui :class="$style.root">
<div class="qlvquzbjribqcaozciifydkngcwtyzje">
- <x-column src="home"/>
- <x-column src="home"/>
- <x-column src="home"/>
- <x-column src="home"/>
+ <x-tl-column src="home"/>
+ <x-tl-column src="local"/>
+ <x-tl-column src="global"/>
</div>
</mk-ui>
</template>
<script lang="ts">
import Vue from 'vue';
-import XColumn from './deck.column.vue';
+import XTlColumn from './deck.tl-column.vue';
export default Vue.extend({
components: {
- XColumn
+ XTlColumn
}
});
</script>
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 37d21fecad..f820182a42 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -221,7 +221,9 @@ export default async (user: IUser, data: {
}
// Publish note to global timeline stream
- publishGlobalTimelineStream(noteObj);
+ if (note.visibility == 'public' && note.replyId == null) {
+ publishGlobalTimelineStream(noteObj);
+ }
if (note.visibility == 'specified') {
data.visibleUsers.forEach(async u => {