From 176abf58b2f72152124597e5069081b7bffac675 Mon Sep 17 00:00:00 2001 From: joschuatonn Date: Sun, 19 May 2024 12:04:43 +0200 Subject: [PATCH 01/38] When a chat is selected, the header now shows the member list --- src/components/HeaderInfoContainerComponent.vue | 4 ++++ src/pages/IndexPage.vue | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/components/HeaderInfoContainerComponent.vue b/src/components/HeaderInfoContainerComponent.vue index 856183a..0a3af7b 100644 --- a/src/components/HeaderInfoContainerComponent.vue +++ b/src/components/HeaderInfoContainerComponent.vue @@ -19,6 +19,10 @@ .displayName { height: 100%; margin: 0.5rem 1rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + width: 200px; } .image { diff --git a/src/pages/IndexPage.vue b/src/pages/IndexPage.vue index f276a85..c6c9127 100644 --- a/src/pages/IndexPage.vue +++ b/src/pages/IndexPage.vue @@ -126,11 +126,20 @@ :image="selectedUser.profilePictureUrl" > -
+
+ +
+

+ Du, + @{{ user.username }}{{ index < selectedChat.members.length - 2 ? ", " : "" }} +

+
+ +
@@ -223,6 +232,7 @@ import {useUserStore} from 'stores/user-store'; import { useChatStore } from 'stores/chat-store'; import SettingsPopUp from 'src/components/SettingsPopUp.vue'; + import ChatSettingsComponent from 'src/components/ChatSettingsComponent.vue'; defineOptions({ name: 'IndexPage' From c8d5bc57344650defc5c90e60a69ce4a6f934be0 Mon Sep 17 00:00:00 2001 From: joschuatonn Date: Sat, 25 May 2024 13:37:50 +0200 Subject: [PATCH 02/38] Worked on several new features: - ProfilePictures for users are now pulled from the backend - added a component for chat settings (WIP) - added a loading screen when the backend is not available - reworked the "add chat" feature - started to implement the general send-message functionality --- src/App.vue | 85 +++++--- src/components/ChatSettingsComponent.vue | 83 ++++++++ src/components/CreateChatComponent.vue | 189 ++++++++++++++++++ .../HeaderInfoContainerComponent.vue | 2 +- src/components/MessageComponent.vue | 7 +- src/components/SettingsPopUp.vue | 36 ++-- src/main.ts | 27 +++ src/models.ts | 5 + src/pages/IndexPage.vue | 79 ++++++-- src/stores/chat-store.ts | 13 +- src/stores/message-store.ts | 28 +++ src/stores/user-store.ts | 18 +- 12 files changed, 486 insertions(+), 86 deletions(-) create mode 100644 src/components/ChatSettingsComponent.vue create mode 100644 src/components/CreateChatComponent.vue create mode 100644 src/stores/message-store.ts diff --git a/src/App.vue b/src/App.vue index 31388fe..a0e42f5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,46 +1,65 @@ diff --git a/src/components/ChatSettingsComponent.vue b/src/components/ChatSettingsComponent.vue new file mode 100644 index 0000000..afcbea5 --- /dev/null +++ b/src/components/ChatSettingsComponent.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/src/components/CreateChatComponent.vue b/src/components/CreateChatComponent.vue new file mode 100644 index 0000000..1e02fba --- /dev/null +++ b/src/components/CreateChatComponent.vue @@ -0,0 +1,189 @@ + + + + + \ No newline at end of file diff --git a/src/components/HeaderInfoContainerComponent.vue b/src/components/HeaderInfoContainerComponent.vue index 0a3af7b..cd0c258 100644 --- a/src/components/HeaderInfoContainerComponent.vue +++ b/src/components/HeaderInfoContainerComponent.vue @@ -4,7 +4,7 @@ :style="{'background-image' : 'url('+props.image+')' }" class="image" > -
{{ props.displayName }}
+
{{ props.displayName }}
diff --git a/src/components/MessageComponent.vue b/src/components/MessageComponent.vue index ee8b378..81d3314 100644 --- a/src/components/MessageComponent.vue +++ b/src/components/MessageComponent.vue @@ -1,4 +1,6 @@ diff --git a/src/components/SettingsPopUp.vue b/src/components/SettingsPopUp.vue index 7d8aba2..edea8b5 100644 --- a/src/components/SettingsPopUp.vue +++ b/src/components/SettingsPopUp.vue @@ -1,5 +1,5 @@