From 9fea3a1f22c4d28cbf26bf9b5a0b2640db964d5f Mon Sep 17 00:00:00 2001 From: leejinho Date: Thu, 6 Feb 2020 14:34:42 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EC=83=81=EB=8C=80=EB=B0=A9=EC=9D=B4=20?= =?UTF-8?q?=ED=87=B4=EC=9E=A5=20=ED=96=88=EC=9D=84=EB=95=8C=20sync=20?= =?UTF-8?q?=EC=AA=BD=20user=20list=20=EA=B0=B1=EC=8B=A0=ED=95=98=EB=A9=B4?= =?UTF-8?q?=EC=84=9C=20room=20=EC=97=90=20joincount=20=EA=B0=B1=EC=8B=A0?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/store/messenger/sync/reducers.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts index ea6d0eed..8c645c5c 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/sync/reducers.ts @@ -103,6 +103,8 @@ export const reducer = createReducer( }), on(clearRoomUsers, (state, action) => { + const roomInfo = state.room.entities[action.roomSeq]; + const roomUserList: RoomUserDetailData = { ...state.roomUser.entities[action.roomSeq] }; @@ -149,6 +151,15 @@ export const reducer = createReducer( return { ...state, + room: adapterRoom.upsertOne( + { + ...roomInfo, + joinUserCount: roomInfo.joinUserCount - action.userSeqs.length + }, + { + ...state.room + } + ), roomUser: !!trgtRoomUserList ? adapterRoomUser.upsertOne(trgtRoomUserList, { ...state.roomUser From 0596c7e68d2940ae6f45c78ba490d57fd5bf2130 Mon Sep 17 00:00:00 2001 From: khk Date: Thu, 6 Feb 2020 14:40:06 +0900 Subject: [PATCH 2/4] =?UTF-8?q?snackbar=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/messages.component.scss | 29 +++++++++++++++++-- .../components/login.page.component.scss | 11 ++++++- .../src/assets/scss/global/_default.scss | 6 ++++ 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss index cc7b7a67..1960830b 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss @@ -173,19 +173,42 @@ } } } - +//mat-snack-bar ::ng-deep .cdk-global-overlay-wrapper { .mat-snack-bar-container { margin: 0; padding: 30px; + max-width: 60vw; .mat-simple-snackbar { + display: flex; justify-content: center; span { - @include ellipsis(1); - padding: 10px 40px; + @include ellipsis(3); + display: inline-block; + padding: 7px 20px; border: 1px solid #ffffff; background-color: rgb(255, 255, 255, 0.2); color: #ffffff; + margin-right: 4px; + flex: 1 1 auto; + max-width: 40vw; + } + &-action { + display: inline-flex; + margin-left: auto; + flex: 0 0 auto; + height: 100%; + button { + //background-color: #00b6d5; + border-radius: 2px; + span { + padding: 0 20px; + color: #ffffff; + background: none; + border: none; + font-weight: 500; + } + } } } } diff --git a/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.scss b/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.scss index b1617f40..0860127b 100644 --- a/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.scss +++ b/projects/ucap-webmessenger-app/src/app/pages/account/components/login.page.component.scss @@ -90,7 +90,7 @@ $ease-in-out: cubic-bezier(0.785, 0.135, 0.15, 0.86); background-size: auto 133.3333%; background-position: center; background-repeat: none; - transform: scale(0.70); + transform: scale(0.7); transition: transform $time/4 $ease-in-out, box-shadow $time/4 $ease-in-out, opacity $time/4 step-end; opacity: 0; @@ -327,6 +327,15 @@ $ease-in-out: cubic-bezier(0.785, 0.135, 0.15, 0.86); } } +.mat-card-content { + .notice { + p { + line-height: 1.4em; + margin-bottom: 10px; + } + } +} + @media all and (max-width: 1400px) { .slider { &_content { diff --git a/projects/ucap-webmessenger-app/src/assets/scss/global/_default.scss b/projects/ucap-webmessenger-app/src/assets/scss/global/_default.scss index bb7e0219..4279bbae 100644 --- a/projects/ucap-webmessenger-app/src/assets/scss/global/_default.scss +++ b/projects/ucap-webmessenger-app/src/assets/scss/global/_default.scss @@ -446,6 +446,12 @@ $daesang-grey: ( .list-item { &.selected { background-color: mat-color($accent, 100); + border-right: 2px solid mat-color($accent, 800); + } + } + .mat-simple-snackbar-action { + button { + background-color: mat-color($accent, 500); } } } From 349eadc316e08fc44f18e69eb00f15df6b937fa1 Mon Sep 17 00:00:00 2001 From: leejinho Date: Thu, 6 Feb 2020 14:57:41 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EB=8C=80=ED=99=94=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20>=20=EB=A7=88=EC=A7=80=EB=A7=89=20=EB=8C=80?= =?UTF-8?q?=ED=99=94=20=20escape=20=EC=B2=98=EB=A6=AC=20=20=ED=91=9C?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/lib/components/list-item.component.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/projects/ucap-webmessenger-ui-room/src/lib/components/list-item.component.html b/projects/ucap-webmessenger-ui-room/src/lib/components/list-item.component.html index 62c621d3..c890fc26 100644 --- a/projects/ucap-webmessenger-ui-room/src/lib/components/list-item.component.html +++ b/projects/ucap-webmessenger-ui-room/src/lib/components/list-item.component.html @@ -69,9 +69,7 @@ -
- {{ finalEventMessage }} -
+
From 101a7c86fc6534969ad443497cb29a10adff0b2c Mon Sep 17 00:00:00 2001 From: leejinho Date: Thu, 6 Feb 2020 15:19:03 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EA=B8=B0=EC=A1=B4=EB=8C=80=ED=99=94?= =?UTF-8?q?=EB=B0=A9=EC=97=90=20=EB=8C=80=ED=99=94=EC=83=81=EB=8C=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=EC=8B=9C=20=EC=9D=B8=EC=9B=90=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EC=97=86=EC=9D=B4=20"=ED=99=95=EC=9D=B8"=20?= =?UTF-8?q?=EC=9D=84=20=EB=88=8C=EB=A0=80=EC=9D=84=EB=95=8C=20=EC=95=84?= =?UTF-8?q?=EB=AC=B4=EB=B0=98=EC=9D=91=ED=95=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/messages.component.ts | 27 +++++++++++++++---- .../right-drawer/room-user-list.component.ts | 25 ++++++++++++++--- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts index b3cca3fc..acd4ffc8 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts @@ -1508,6 +1508,11 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { break; case 'ADD_MEMBER': { + const curRoomUser = this.userInfoListSubject.value.filter( + user => + user.seq !== this.loginResSubject.value.userSeq && user.isJoinRoom + ); + const result = await this.dialogService.open< CreateChatDialogComponent, CreateChatDialogData, @@ -1517,15 +1522,27 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { data: { type: UserSelectDialogType.EditChatMember, title: this.translateService.instant('chat.modifyRoomMember'), - curRoomUser: this.userInfoListSubject.value.filter( - user => - user.seq !== this.loginResSubject.value.userSeq && - user.isJoinRoom - ) + curRoomUser } }); if (!!result && !!result.choice && result.choice) { + if ( + !!result.selectedUserList && + result.selectedUserList.length > 0 && + curRoomUser + .map(user => user.seq) + .sort() + .join('|') === + result.selectedUserList + .map(user => user.seq) + .sort() + .join('|') + ) { + // 변경된 것이 없다면 중지. + return; + } + // include me here.. const userSeqs: number[] = this.userInfoListSubject.value .filter(userInfo => userInfo.isJoinRoom) diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/room-user-list.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/room-user-list.component.ts index 52acab5e..bf2db933 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/room-user-list.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/right-drawer/room-user-list.component.ts @@ -138,6 +138,10 @@ export class RoomUserListComponent implements OnInit, OnDestroy { } async onClickAddMember() { + const curRoomUser = this.userInfoList.filter( + user => user.seq !== this.loginRes.userSeq && user.isJoinRoom + ); + const result = await this.dialogService.open< CreateChatDialogComponent, CreateChatDialogData, @@ -147,18 +151,31 @@ export class RoomUserListComponent implements OnInit, OnDestroy { data: { type: UserSelectDialogType.EditChatMember, title: this.translateService.instant('chat.modifyRoomMember'), - curRoomUser: this.userInfoList.filter( - user => user.seq !== this.loginRes.userSeq && user.isJoinRoom - ) + curRoomUser } }); if (!!result && !!result.choice && result.choice) { + if ( + !!result.selectedUserList && + result.selectedUserList.length > 0 && + curRoomUser + .map(user => user.seq) + .sort() + .join('|') === + result.selectedUserList + .map(user => user.seq) + .sort() + .join('|') + ) { + // 변경된 것이 없다면 중지. + return; + } + // include me here.. const userSeqs: number[] = this.userInfoList .filter(userInfo => userInfo.isJoinRoom) .map(userInfo => userInfo.seq); - if (!!result.selectedUserList && result.selectedUserList.length > 0) { result.selectedUserList.forEach(user => { if (userSeqs.indexOf(user.seq) < 0) {