Skip to content

Commit 865ad6c

Browse files
committed
(feat) add button to show/hide rooms list
1 parent 433df8f commit 865ad6c

File tree

6 files changed

+34
-3
lines changed

6 files changed

+34
-3
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ colors="{
258258
icons: {
259259
search: '#9ca6af',
260260
add: '#1976d2',
261+
toggle: '#0a0a0a',
261262
menu: '#0a0a0a',
262263
close: '#9ca6af',
263264
closeImage: '#fff',

src/ChatWindow/ChatWindow.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
:loadingRooms="loadingRooms"
77
:room="room"
88
:textMessages="t"
9+
:showRoomsList="showRoomsList"
910
@fetchRoom="fetchRoom"
1011
@addRoom="addRoom"
1112
>
@@ -21,6 +22,8 @@
2122
:showEmojis="showEmojis"
2223
:showReactionEmojis="showReactionEmojis"
2324
:textMessages="t"
25+
:showRoomsList="showRoomsList"
26+
@toggleRoomsList="showRoomsList = !showRoomsList"
2427
@fetchMessages="fetchMessages"
2528
@sendMessage="sendMessage"
2629
@editMessage="editMessage"
@@ -75,7 +78,8 @@ export default {
7578
7679
data() {
7780
return {
78-
room: {}
81+
room: {},
82+
showRoomsList: true
7983
}
8084
},
8185

src/ChatWindow/MessagesList.vue

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<template>
2-
<div class="col-messages">
2+
<div class="col-messages" :class="{ 'col-messages-full': !showRoomsList }">
33
<div class="room-header app-border-b">
4+
<div class="svg-button toggle-button" @click="$emit('toggleRoomsList')">
5+
<svg-icon name="toggle" />
6+
</div>
47
<div
58
v-if="room.avatar"
69
class="room-avatar"
@@ -209,6 +212,7 @@ export default {
209212
props: {
210213
currentUserId: { type: String, required: true },
211214
textMessages: { type: Object, required: true },
215+
showRoomsList: { type: Boolean, required: true },
212216
room: { type: Object, required: true },
213217
messages: { type: Array, required: true },
214218
messagesLoaded: { type: Boolean, required: true },
@@ -463,6 +467,11 @@ export default {
463467
height: 100%;
464468
}
465469
470+
.col-messages-full {
471+
flex: 0 0 100%;
472+
max-width: 100%;
473+
}
474+
466475
.room-header {
467476
align-items: center;
468477
display: flex;
@@ -475,6 +484,10 @@ export default {
475484
border-top-right-radius: 4px;
476485
}
477486
487+
.toggle-button {
488+
margin-right: 15px;
489+
}
490+
478491
.room-name {
479492
font-size: 17px;
480493
}

src/ChatWindow/RoomsList.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="rooms-container app-border-r">
2+
<div class="rooms-container app-border-r" v-if="showRoomsList">
33
<div class="box-search">
44
<div class="icon-search">
55
<svg-icon name="search" />
@@ -70,6 +70,7 @@ export default {
7070
7171
props: {
7272
textMessages: { type: Object, required: true },
73+
showRoomsList: { type: Boolean, required: true },
7374
rooms: { type: Array, required: true },
7475
loadingRooms: { type: Boolean, required: true },
7576
room: { type: Object, required: true }

src/ChatWindow/SvgIcon.vue

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ export default {
3636
path:
3737
'M17,13H13V17H11V13H7V11H11V7H13V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z'
3838
},
39+
{
40+
name: 'toggle',
41+
path: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z'
42+
},
43+
3944
{
4045
name: 'menu',
4146
path:
@@ -107,6 +112,10 @@ export default {
107112
fill: var(--chat-icon-color-add);
108113
}
109114
115+
#chat-icon-toggle {
116+
fill: var(--chat-icon-color-toggle);
117+
}
118+
110119
#chat-icon-menu {
111120
fill: var(--chat-icon-color-menu);
112121
}

src/themes/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export const defaultThemeColors = {
7979
icons: {
8080
search: '#9ca6af',
8181
add: '#1976d2',
82+
toggle: '#0a0a0a',
8283
menu: '#0a0a0a',
8384
close: '#9ca6af',
8485
closeImage: '#fff',
@@ -177,6 +178,7 @@ export const defaultThemeColors = {
177178
icons: {
178179
search: '#596269',
179180
add: '#fff',
181+
toggle: '#fff',
180182
menu: '#fff',
181183
close: '#9ca6af',
182184
closeImage: '#fff',
@@ -283,6 +285,7 @@ export const cssThemeVars = ({
283285
// icons
284286
'--chat-icon-color-search': icons.search,
285287
'--chat-icon-color-add': icons.add,
288+
'--chat-icon-color-toggle': icons.toggle,
286289
'--chat-icon-color-menu': icons.menu,
287290
'--chat-icon-color-close': icons.close,
288291
'--chat-icon-color-close-image': icons.closeImage,

0 commit comments

Comments
 (0)