aboutsummaryrefslogtreecommitdiff
path: root/src/components/chat_panel
diff options
context:
space:
mode:
authorShpuld Shpuldson <shp@cock.li>2021-03-15 11:02:16 +0200
committerShpuld Shpuldson <shp@cock.li>2021-03-15 11:02:16 +0200
commit19fc7dda9e6d3513c8b57d7bae2bbe3c9ab87ced (patch)
treefe55c1e48af9b7c16e9735c03dc0b7caa36c962d /src/components/chat_panel
parentae159f6ad8d23ce0e3d2d765bf694f1a614c6df4 (diff)
parent184364c7e06a982b48bbe6d913f02a73dd428aef (diff)
merge conflict, use v-slot:trigger, fix popover svg dimensions bug
Diffstat (limited to 'src/components/chat_panel')
-rw-r--r--src/components/chat_panel/chat_panel.js12
-rw-r--r--src/components/chat_panel/chat_panel.vue15
2 files changed, 22 insertions, 5 deletions
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"
>
<div class="title">
- <span>{{ $t('shoutbox.title') }}</span>
+ {{ $t('shoutbox.title') }}
<FAIcon
v-if="floating"
icon="times"
+ class="close-icon"
/>
</div>
</div>
- <div
- v-chat-scroll
- class="chat-window"
- >
+ <div class="chat-window">
<div
v-for="message in messages"
:key="message.id"
@@ -94,6 +92,13 @@
.icon {
color: $fallback--text;
color: var(--text, $fallback--text);
+ margin-right: 0.5em;
+ }
+
+ .title {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
}
}