Skip to content

Commit 83420ff

Browse files
committed
(feat) add new message dot in rooms list
1 parent 863490d commit 83420ff

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

demo/src/ChatContainer.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,8 @@ export default {
267267
return {
268268
content,
269269
timestamp,
270-
seen: message.sender_id === this.currentUserId ? message.seen : null
270+
seen: message.sender_id === this.currentUserId ? message.seen : null,
271+
new: message.sender_id !== this.currentUserId && !message.seen
271272
}
272273
},
273274

src/ChatWindow/RoomsList.vue

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,15 @@
4242
{{ room.lastMessage.timestamp }}
4343
</div>
4444
</div>
45-
<div class="room-name text-last" v-if="room.lastMessage">
45+
<div
46+
class="room-name text-last"
47+
:class="{ 'message-new': room.lastMessage.new }"
48+
v-if="room.lastMessage"
49+
>
4650
<span v-if="room.lastMessage.seen">
4751
<svg-icon name="checkmark" class="icon-check" />
4852
</span>
53+
<span v-if="room.lastMessage.new" class="dot-new"></span>
4954
<span>{{ room.lastMessage.content }}</span>
5055
</div>
5156
</div>
@@ -224,6 +229,19 @@ input {
224229
font-size: 12px;
225230
}
226231
232+
.message-new {
233+
color: var(--chat-room-color-username);
234+
}
235+
236+
.dot-new {
237+
height: 8px;
238+
width: 8px;
239+
background-color: var(--chat-room-color-new-dot);
240+
border-radius: 50%;
241+
display: inline-block;
242+
margin: 0 5px 0 0;
243+
}
244+
227245
.text-date {
228246
color: var(--chat-room-color-timestamp);
229247
font-size: 11px;

src/themes/index.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,12 @@ export const defaultThemeColors = {
5656
room: {
5757
colorUsername: '#0a0a0a',
5858
colorMessage: '#67717a',
59-
colorTimestamp: '#a2aeb8'
59+
colorTimestamp: '#a2aeb8',
60+
colorNewDot: '#1976d2'
6061
},
6162

6263
emoji: {
63-
background: '#fff',
64+
background: '#fff'
6465
},
6566

6667
icons: {
@@ -140,11 +141,12 @@ export const defaultThemeColors = {
140141
room: {
141142
colorUsername: '#fff',
142143
colorMessage: '#6c7278',
143-
colorTimestamp: '#6c7278'
144+
colorTimestamp: '#6c7278',
145+
colorNewDot: '#1976d2'
144146
},
145147

146148
emoji: {
147-
background: '#343740',
149+
background: '#343740'
148150
},
149151

150152
icons: {
@@ -232,6 +234,7 @@ export const cssThemeVars = ({
232234
'--chat-room-color-username': room.colorUsername,
233235
'--chat-room-color-message': room.colorMessage,
234236
'--chat-room-color-timestamp': room.colorTimestamp,
237+
'--chat-room-color-new-dot': room.colorNewDot,
235238

236239
// emoji
237240
'--chat-emoji-bg-color': emoji.background,

0 commit comments

Comments
 (0)