From 138b8517373aec69b4ec37659dd694cea95c0334 Mon Sep 17 00:00:00 2001 From: entermex Date: Fri, 14 Jul 2023 13:05:07 +0200 Subject: [PATCH 01/38] Change color red to green on cancel buttons of post and comments --- webapp/components/CommentForm/CommentForm.vue | 1 - webapp/components/ContributionForm/ContributionForm.vue | 1 - 2 files changed, 2 deletions(-) diff --git a/webapp/components/CommentForm/CommentForm.vue b/webapp/components/CommentForm/CommentForm.vue index 5f6a2420d..6d9b59de6 100644 --- a/webapp/components/CommentForm/CommentForm.vue +++ b/webapp/components/CommentForm/CommentForm.vue @@ -8,7 +8,6 @@ :disabled="disabled && !update" @click="handleCancel" data-test="cancel-button" - danger > {{ $t('actions.cancel') }} diff --git a/webapp/components/ContributionForm/ContributionForm.vue b/webapp/components/ContributionForm/ContributionForm.vue index 0067dab72..261c1d28d 100644 --- a/webapp/components/ContributionForm/ContributionForm.vue +++ b/webapp/components/ContributionForm/ContributionForm.vue @@ -173,7 +173,6 @@ data-test="cancel-button" :disabled="loading" @click="$router.back()" - danger > {{ $t('actions.cancel') }} From 0b96388a42cc77bbf306f24a71ab3e8b61d0b031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Tue, 18 Jul 2023 11:47:05 +0200 Subject: [PATCH 02/38] Remove '*.js' on imports in 'Editor.vue' --- webapp/components/Editor/Editor.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/webapp/components/Editor/Editor.vue b/webapp/components/Editor/Editor.vue index cf0fd710b..8bc0a04d3 100644 --- a/webapp/components/Editor/Editor.vue +++ b/webapp/components/Editor/Editor.vue @@ -28,10 +28,10 @@ import { replace, build } from 'xregexp/xregexp-all.js' import * as key from '../../constants/keycodes' import { HASHTAG, MENTION } from '../../constants/editor' -import defaultExtensions from './defaultExtensions.js' -import EventHandler from './plugins/eventHandler.js' -import Hashtag from './nodes/Hashtag.js' -import Mention from './nodes/Mention.js' +import defaultExtensions from './defaultExtensions' +import EventHandler from './plugins/eventHandler' +import Hashtag from './nodes/Hashtag' +import Mention from './nodes/Mention' import MenuBar from './MenuBar' import ContextMenu from './ContextMenu' import SuggestionList from './SuggestionList' From 85e68795a3a422f492e863252f14957fc6fc18af Mon Sep 17 00:00:00 2001 From: Markus Date: Wed, 19 Jul 2023 10:09:04 +0200 Subject: [PATCH 03/38] [fix] all group related pages are now under one route, so link highlighting works --- webapp/components/ContentMenu/GroupContentMenu.vue | 4 ++-- webapp/components/Group/GroupTeaser.vue | 2 +- webapp/components/Notification/Notification.vue | 2 +- webapp/components/NotificationsTable/NotificationsTable.vue | 2 +- webapp/components/UserTeaser/UserTeaser.vue | 2 +- webapp/components/generic/SearchableInput/SearchableInput.vue | 2 +- webapp/pages/{group => groups}/_id.spec.js | 0 webapp/pages/{group => groups}/_id.vue | 2 +- webapp/pages/{group => groups}/_id/_slug.spec.js | 0 webapp/pages/{group => groups}/_id/_slug.vue | 0 webapp/pages/{group => groups}/create.vue | 2 +- webapp/pages/{group => groups}/edit/_id.vue | 4 ++-- webapp/pages/{group => groups}/edit/_id/index.vue | 2 +- webapp/pages/{group => groups}/edit/_id/members.vue | 0 webapp/pages/{groups.spec.js => groups/index.spec.js} | 2 +- webapp/pages/{groups.vue => groups/index.vue} | 2 +- 16 files changed, 14 insertions(+), 14 deletions(-) rename webapp/pages/{group => groups}/_id.spec.js (100%) rename webapp/pages/{group => groups}/_id.vue (96%) rename webapp/pages/{group => groups}/_id/_slug.spec.js (100%) rename webapp/pages/{group => groups}/_id/_slug.vue (100%) rename webapp/pages/{group => groups}/create.vue (98%) rename webapp/pages/{group => groups}/edit/_id.vue (93%) rename webapp/pages/{group => groups}/edit/_id/index.vue (97%) rename webapp/pages/{group => groups}/edit/_id/members.vue (100%) rename webapp/pages/{groups.spec.js => groups/index.spec.js} (94%) rename webapp/pages/{groups.vue => groups/index.vue} (98%) diff --git a/webapp/components/ContentMenu/GroupContentMenu.vue b/webapp/components/ContentMenu/GroupContentMenu.vue index 7a7737320..1ca1b5b33 100644 --- a/webapp/components/ContentMenu/GroupContentMenu.vue +++ b/webapp/components/ContentMenu/GroupContentMenu.vue @@ -58,14 +58,14 @@ export default { routes.push({ label: this.$t('group.contentMenu.visitGroupPage'), icon: 'home', - name: 'group-id-slug', + path: `/groups/${this.group.id}`, params: { id: this.group.id, slug: this.group.slug }, }) } if (this.group.myRole === 'owner') { routes.push({ label: this.$t('admin.settings.name'), - path: `/group/edit/${this.group.id}`, + path: `/groups/edit/${this.group.id}`, icon: 'edit', }) } diff --git a/webapp/components/Group/GroupTeaser.vue b/webapp/components/Group/GroupTeaser.vue index 791845c75..b75036057 100644 --- a/webapp/components/Group/GroupTeaser.vue +++ b/webapp/components/Group/GroupTeaser.vue @@ -1,7 +1,7 @@ + diff --git a/webapp/components/Group/AddGroupMember.vue b/webapp/components/Group/AddGroupMember.vue index 8e66c7be2..2cb71f011 100644 --- a/webapp/components/Group/AddGroupMember.vue +++ b/webapp/components/Group/AddGroupMember.vue @@ -3,33 +3,7 @@

{{ $t('group.addUser') }}

- - - + import { changeGroupMemberRoleMutation } from '~/graphql/groups.js' -import { searchUsers } from '~/graphql/Search.js' +import SelectUserSearch from '~/components/generic/SelectUserSearch/SelectUserSearch' import UserTeaser from '~/components/UserTeaser/UserTeaser.vue' -import { isEmpty } from 'lodash' export default { name: 'AddGroupMember', components: { UserTeaser, + SelectUserSearch, }, props: { groupId: { @@ -73,62 +47,34 @@ export default { }, data() { return { - users: [], id: 'search-user-to-add-to-group', - query: '', user: {}, isOpen: false, } }, - computed: { - startSearch() { - return this.query && this.query.length > 3 - }, - }, methods: { cancelModal() { - this.clear() + this.$refs.selectUserSearch.clear() this.isOpen = false }, closeModal() { - this.clear() + this.$refs.selectUserSearch.clear() this.isOpen = false }, confirmModal() { this.addMemberToGroup() this.isOpen = false - this.clear() + this.$refs.selectUserSearch.clear() }, - onFocus() {}, - onBlur() { - this.query = '' - }, - handleInput(event) { - this.query = event.target ? event.target.value.trim() : '' - }, - onDelete(event) { - const value = event.target ? event.target.value.trim() : '' - if (isEmpty(value)) { - this.clear() - } else { - this.handleInput(event) - } - }, - clear() { - this.query = '' - this.user = {} - this.users = [] - }, - onSelect(item) { - this.user = item + selectUser(user) { + this.user = user if (this.groupMembers.find((member) => member.id === this.user.id)) { this.$toast.error(this.$t('group.errors.userAlreadyMember', { name: this.user.name })) - this.clear() + this.$refs.selectUserSearch.clear() return } this.isOpen = true }, - onEnter() {}, async addMemberToGroup() { const newRole = 'usual' const username = this.user.name @@ -149,29 +95,9 @@ export default { } }, }, - apollo: { - searchUsers: { - query() { - return searchUsers - }, - variables() { - return { - query: this.query, - firstUsers: 5, - usersOffset: 0, - } - }, - skip() { - return !this.startSearch - }, - update({ searchUsers }) { - this.users = searchUsers.users - }, - fetchPolicy: 'cache-and-network', - }, - }, } + diff --git a/webapp/store/chat.js b/webapp/store/chat.js index ed6b5256c..1e0b496ac 100644 --- a/webapp/store/chat.js +++ b/webapp/store/chat.js @@ -14,6 +14,9 @@ export const mutations = { UPDATE_ROOM_COUNT(state, count) { state.unreadRoomCount = count }, + UPDATE_ROOM_ID(state, roomid) { + state.roomId = roomid || null + }, } export const getters = { From 26282c67b7bd6d44be3334342d6269068471bf4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Wed, 19 Jul 2023 16:41:23 +0200 Subject: [PATCH 09/38] =?UTF-8?q?Make=20user=20search=20in=20chats=20funct?= =?UTF-8?q?ion=20=E2=80=93=20second=20step?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Chat/AddChatRoomByUserSearch.vue | 110 ++++++++++++++++++ webapp/components/Chat/Chat.vue | 2 +- webapp/pages/chat.vue | 18 +-- 3 files changed, 122 insertions(+), 8 deletions(-) create mode 100644 webapp/components/Chat/AddChatRoomByUserSearch.vue diff --git a/webapp/components/Chat/AddChatRoomByUserSearch.vue b/webapp/components/Chat/AddChatRoomByUserSearch.vue new file mode 100644 index 000000000..b5cf0fd4c --- /dev/null +++ b/webapp/components/Chat/AddChatRoomByUserSearch.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/webapp/components/Chat/Chat.vue b/webapp/components/Chat/Chat.vue index fccaee5b8..68abfe657 100644 --- a/webapp/components/Chat/Chat.vue +++ b/webapp/components/Chat/Chat.vue @@ -364,7 +364,7 @@ export default { }, addRoom() { - this.$emit('open-user-search') + this.$emit('open-close-user-search') }, }, } diff --git a/webapp/pages/chat.vue b/webapp/pages/chat.vue index 8d9d55e46..bdc2a1ee2 100644 --- a/webapp/pages/chat.vue +++ b/webapp/pages/chat.vue @@ -1,33 +1,34 @@ From 45dba25a7ad28852dcdf5c8acd9ffc9c8852b371 Mon Sep 17 00:00:00 2001 From: Markus Date: Wed, 19 Jul 2023 17:24:37 +0200 Subject: [PATCH 10/38] [fix] changed css rule for single chat icon --- webapp/components/Chat/Chat.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/components/Chat/Chat.vue b/webapp/components/Chat/Chat.vue index f947f4886..139e30290 100644 --- a/webapp/components/Chat/Chat.vue +++ b/webapp/components/Chat/Chat.vue @@ -425,7 +425,7 @@ body { } } -.single-chat-bubble { +.ds-flex-item.single-chat-bubble { margin-right: 1em; } From 3d9a9cd5a096d4b1fbbf82b7597db53a03542b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Wed, 19 Jul 2023 17:47:56 +0200 Subject: [PATCH 11/38] Create the chat room on user search in chats function --- .../Chat/AddChatRoomByUserSearch.vue | 58 +------------------ webapp/components/Chat/Chat.vue | 36 +++++++----- webapp/pages/chat.vue | 8 ++- 3 files changed, 28 insertions(+), 74 deletions(-) diff --git a/webapp/components/Chat/AddChatRoomByUserSearch.vue b/webapp/components/Chat/AddChatRoomByUserSearch.vue index b5cf0fd4c..a9a2a5bf6 100644 --- a/webapp/components/Chat/AddChatRoomByUserSearch.vue +++ b/webapp/components/Chat/AddChatRoomByUserSearch.vue @@ -5,28 +5,11 @@ - diff --git a/webapp/pages/chat.vue b/webapp/pages/chat.vue index bdc2a1ee2..a16fca5c5 100644 --- a/webapp/pages/chat.vue +++ b/webapp/pages/chat.vue @@ -3,13 +3,14 @@ {{ $t('chat.page.headline') }} @@ -43,8 +44,9 @@ export default { ...mapMutations({ showChat: 'chat/SET_OPEN_CHAT', }), - loadChatRooms(newChatRoomID) { - console.log('loadChatRooms !!! newChatRoomID: ', newChatRoomID) + addChatRoom(userID) { + console.log('addChatRoom !!! newChatRoomID: ', userID) + this.$refs.chat.newRoom(userID) }, }, } From 419261229346941f99f92dbc487b36795721c290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Wed, 19 Jul 2023 17:51:05 +0200 Subject: [PATCH 12/38] Fix linting --- webapp/components/Chat/AddChatRoomByUserSearch.vue | 2 -- webapp/components/Group/AddGroupMember.vue | 2 -- webapp/pages/chat.vue | 3 +-- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/webapp/components/Chat/AddChatRoomByUserSearch.vue b/webapp/components/Chat/AddChatRoomByUserSearch.vue index a9a2a5bf6..0e7b243d8 100644 --- a/webapp/components/Chat/AddChatRoomByUserSearch.vue +++ b/webapp/components/Chat/AddChatRoomByUserSearch.vue @@ -11,12 +11,10 @@ @@ -53,4 +59,10 @@ export default { background-color: white; padding: $space-base; } +.ds-flex.headline { + justify-content: space-between; +} +.ds-flex.headline .close-button { + margin-top: -6px; +} From a82d245f636230be4030f1b75a5703ece532fa3f Mon Sep 17 00:00:00 2001 From: elweyn Date: Thu, 20 Jul 2023 11:03:20 +0200 Subject: [PATCH 17/38] Change toast error to error.message. --- webapp/components/Chat/Chat.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/components/Chat/Chat.vue b/webapp/components/Chat/Chat.vue index d1a60a87d..39dd465e2 100644 --- a/webapp/components/Chat/Chat.vue +++ b/webapp/components/Chat/Chat.vue @@ -419,7 +419,7 @@ export default { this.fetchRooms({ room: CreateRoom, options: { refetch: true } }) }) .catch((error) => { - this.$toast.error(error) + this.$toast.error(error.message) }) .finally(() => { // this.loading = false From 13da3ba3f46482c1488fab85300d1075c183255e Mon Sep 17 00:00:00 2001 From: elweyn Date: Thu, 20 Jul 2023 11:35:06 +0200 Subject: [PATCH 18/38] Add returned properties to the CreateRoom mutation, add emit to change the roomID. --- webapp/components/Chat/Chat.vue | 2 ++ webapp/graphql/Rooms.js | 12 ++++++++++++ webapp/pages/chat.vue | 4 ++++ 3 files changed, 18 insertions(+) diff --git a/webapp/components/Chat/Chat.vue b/webapp/components/Chat/Chat.vue index 39dd465e2..0cc9bc28b 100644 --- a/webapp/components/Chat/Chat.vue +++ b/webapp/components/Chat/Chat.vue @@ -417,6 +417,8 @@ export default { }) .then(({ data: { CreateRoom } }) => { this.fetchRooms({ room: CreateRoom, options: { refetch: true } }) + this.roomId = CreateRoom.id + this.$emit('show-chat', CreateRoom.id) }) .catch((error) => { this.$toast.error(error.message) diff --git a/webapp/graphql/Rooms.js b/webapp/graphql/Rooms.js index 757a6cfa4..3433a84a7 100644 --- a/webapp/graphql/Rooms.js +++ b/webapp/graphql/Rooms.js @@ -5,6 +5,18 @@ export const createRoom = () => gql` CreateRoom(userId: $userId) { id roomId + roomName + lastMessageAt + unreadCount + #avatar + users { + _id + id + name + avatar { + url + } + } } } ` diff --git a/webapp/pages/chat.vue b/webapp/pages/chat.vue index acb186f4e..96df8cc6b 100644 --- a/webapp/pages/chat.vue +++ b/webapp/pages/chat.vue @@ -12,6 +12,7 @@ :roomId="getShowChat.showChat ? getShowChat.roomID : null" ref="chat" @toggle-user-search="showUserSearch = !showUserSearch" + :show-room="showRoom" /> @@ -47,6 +48,9 @@ export default { addChatRoom(userID) { this.$refs.chat.newRoom(userID) }, + showRoom(roomId) { + this.showChat({ showChat: true, roomID: roomId }) + } }, } From dee77df5f60da57449faa72645985447d44ba6ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Thu, 20 Jul 2023 12:02:24 +0200 Subject: [PATCH 19/38] Cleanup --- webapp/components/Chat/AddChatRoomByUserSearch.vue | 1 - webapp/pages/chat.vue | 2 -- 2 files changed, 3 deletions(-) diff --git a/webapp/components/Chat/AddChatRoomByUserSearch.vue b/webapp/components/Chat/AddChatRoomByUserSearch.vue index f88b4f1e6..10a4d2bc4 100644 --- a/webapp/components/Chat/AddChatRoomByUserSearch.vue +++ b/webapp/components/Chat/AddChatRoomByUserSearch.vue @@ -1,6 +1,5 @@