aboutsummaryrefslogtreecommitdiff
path: root/src/services/chat_service/chat_service.js
diff options
context:
space:
mode:
authoreugenijm <eugenijm@protonmail.com>2020-06-21 17:13:29 +0300
committereugenijm <eugenijm@protonmail.com>2020-07-08 15:21:31 +0300
commitf05f832bff58034d78de9478ae2dbb06284dea75 (patch)
treee41f122ada5957618ea96e2b3206977ba8438fd8 /src/services/chat_service/chat_service.js
parentaa2cf51c05ebdf411d74af5debbbc8fa4d3cf457 (diff)
Address feedback
Use more specific css rules for the emoji dimensions in the chat list status preview. Use more round em value for chat list item height. Add global html overflow and height for smoother chat navigation in the desktop Safari. Use offsetHeight instad of a computed style when setting the window height on resize. Remove margin-bottom from the last message to avoid occasional layout shift in the desktop Safari Use break-word to prevent chat message text overflow Resize and scroll the textarea when inserting a new line on ctrl+enter Remove fade transition on route change Ensure proper border radius at the bottom of the chat, remove unused border-radius Prevent the chat header "jumping" on the avatar load.
Diffstat (limited to 'src/services/chat_service/chat_service.js')
-rw-r--r--src/services/chat_service/chat_service.js19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/services/chat_service/chat_service.js b/src/services/chat_service/chat_service.js
index 763a7607..b60a889b 100644
--- a/src/services/chat_service/chat_service.js
+++ b/src/services/chat_service/chat_service.js
@@ -31,7 +31,8 @@ const deleteMessage = (storage, messageId) => {
}
if (storage.minId === messageId) {
- storage.minId = _.minBy(storage.messages, 'id')
+ const firstMessage = _.minBy(storage.messages, 'id')
+ storage.minId = firstMessage.id
}
}
@@ -73,12 +74,12 @@ const getView = (storage) => {
const result = []
const messages = _.sortBy(storage.messages, ['id', 'desc'])
- const firstMessages = messages[0]
- let prev = messages[messages.length - 1]
+ const firstMessage = messages[0]
+ let previousMessage = messages[messages.length - 1]
let currentMessageChainId
- if (firstMessages) {
- const date = new Date(firstMessages.created_at)
+ if (firstMessage) {
+ const date = new Date(firstMessage.created_at)
date.setHours(0, 0, 0, 0)
result.push({
type: 'date',
@@ -97,14 +98,14 @@ const getView = (storage) => {
date.setHours(0, 0, 0, 0)
// insert date separator and start a new message chain
- if (prev && prev.date < date) {
+ if (previousMessage && previousMessage.date < date) {
result.push({
type: 'date',
date,
id: date.getTime().toString()
})
- prev['isTail'] = true
+ previousMessage['isTail'] = true
currentMessageChainId = undefined
afterDate = true
}
@@ -124,14 +125,14 @@ const getView = (storage) => {
}
// start a new message chain
- if ((prev && prev.data && prev.data.account_id) !== message.account_id || afterDate) {
+ if ((previousMessage && previousMessage.data && previousMessage.data.account_id) !== message.account_id || afterDate) {
currentMessageChainId = _.uniqueId()
object['isHead'] = true
object['messageChainId'] = currentMessageChainId
}
result.push(object)
- prev = object
+ previousMessage = object
afterDate = false
}