From 0673511fc246d67356dd656ad81ba401e3179108 Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Wed, 3 Mar 2021 16:46:53 +0200 Subject: fix shoutbox header, use custom scroll-to-bottom system, remove vue-chat-scroll, temporarily add chat test hack --- src/App.vue | 2 +- src/components/chat_panel/chat_panel.js | 12 ++++++++++++ src/components/chat_panel/chat_panel.vue | 15 ++++++++++----- src/main.js | 2 -- src/modules/chat.js | 19 +++++++++++++++++++ 5 files changed, 42 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/App.vue b/src/App.vue index 1a166778..e09ce4c8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -50,7 +50,7 @@ diff --git a/src/components/chat_panel/chat_panel.js b/src/components/chat_panel/chat_panel.js index c3887098..556694ae 100644 --- a/src/components/chat_panel/chat_panel.js +++ b/src/components/chat_panel/chat_panel.js @@ -35,6 +35,18 @@ const chatPanel = { userProfileLink (user) { return generateProfileLink(user.id, user.username, this.$store.state.instance.restrictedNicknames) } + }, + watch: { + messages (newVal) { + const scrollEl = this.$el.querySelector('.chat-window') + if (!scrollEl) return + if (scrollEl.scrollTop + scrollEl.offsetHeight + 20 > scrollEl.scrollHeight) { + this.$nextTick(() => { + if (!scrollEl) return + scrollEl.scrollTop = scrollEl.scrollHeight - scrollEl.offsetHeight + }) + } + } } } diff --git a/src/components/chat_panel/chat_panel.vue b/src/components/chat_panel/chat_panel.vue index 7993c94d..8a829115 100644 --- a/src/components/chat_panel/chat_panel.vue +++ b/src/components/chat_panel/chat_panel.vue @@ -10,17 +10,15 @@ @click.stop.prevent="togglePanel" >
- {{ $t('shoutbox.title') }} + {{ $t('shoutbox.title') }}
-
+
{ + id += 1 + return { + text: 'test' + id, + author: { + username: 'test', + avatar: '', + id + } + } + } + + const loop = () => { + store.commit('addMessage', createmsg()) + setTimeout(loop, 3000) + } + loop() + channel.on('new_msg', (msg) => { store.commit('addMessage', msg) }) -- cgit v1.2.3-70-g09d2 From becacf064303f0fceca8def3f1c49248b9d3e5f8 Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Wed, 3 Mar 2021 16:47:59 +0200 Subject: remove shoutbox test hacks --- src/App.vue | 2 +- src/modules/chat.js | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) (limited to 'src') diff --git a/src/App.vue b/src/App.vue index e09ce4c8..1a166778 100644 --- a/src/App.vue +++ b/src/App.vue @@ -50,7 +50,7 @@
diff --git a/src/modules/chat.js b/src/modules/chat.js index 264ba00b..ffeb272b 100644 --- a/src/modules/chat.js +++ b/src/modules/chat.js @@ -18,24 +18,6 @@ const chat = { actions: { initializeChat (store, socket) { const channel = socket.channel('chat:public') - let id = 0 - const createmsg = () => { - id += 1 - return { - text: 'test' + id, - author: { - username: 'test', - avatar: '', - id - } - } - } - - const loop = () => { - store.commit('addMessage', createmsg()) - setTimeout(loop, 3000) - } - loop() channel.on('new_msg', (msg) => { store.commit('addMessage', msg) -- cgit v1.2.3-70-g09d2