From 68b241b6cebe23c41cbebb036f57e931edf69211 Mon Sep 17 00:00:00 2001 From: N-Pex Date: Wed, 30 Aug 2023 10:50:45 +0200 Subject: [PATCH] "Private chat" header for direct chats Also, auto-create account and room when joining a DM chat link. --- src/assets/css/chat.scss | 25 +++- src/assets/icons/ic_lock.vue | 2 +- src/assets/translations/en.json | 5 +- src/components/Chat.vue | 74 +++++++--- src/components/ChatHeaderPrivate.vue | 162 +++++++++++++++++++++ src/components/DirectChatWelcomeHeader.vue | 72 +++++++++ src/components/Join.vue | 34 +++-- src/components/roomInfoMixin.js | 31 ++++ src/components/roomMembersMixin.js | 69 +++++++++ 9 files changed, 437 insertions(+), 37 deletions(-) create mode 100644 src/components/ChatHeaderPrivate.vue create mode 100644 src/components/DirectChatWelcomeHeader.vue create mode 100644 src/components/roomMembersMixin.js diff --git a/src/assets/css/chat.scss b/src/assets/css/chat.scss index 5781f12..3062fbd 100644 --- a/src/assets/css/chat.scss +++ b/src/assets/css/chat.scss @@ -86,9 +86,8 @@ body { font-family: "Inter", sans-serif; font-weight: 700; font-size: 11 * $chat-text-size; - color: var(--v-foreground-color); - background-color: var(--v-background-color) !important; - border: 1px solid var(--v-foreground-color); + color: white; + background-color: red !important; border-radius: $chat-standard-padding / 2; height: $chat-standard-padding; margin-top: $chat-standard-padding-xs; @@ -99,6 +98,26 @@ body { color: var(--v-secondary-color); } + .leave-button { + font-family: "Inter", sans-serif; + font-weight: 700; + font-size: 11.54 * $chat-text-size; + line-height: 140%; + color: white !important; + background-color: #ff3300 !important; + border-radius: $small-button-height / 2; + min-height: 0; + height: $small-button-height !important; + margin-top: $chat-standard-padding-xs; + margin-bottom: $chat-standard-padding-xs; + padding-left: $chat-standard-padding-s !important; + padding-right: $chat-standard-padding-s !important; + width: auto !important; + .v-icon { + margin-right: 4px; + } + } + .icon-dropdown { margin: 0px 8px; } diff --git a/src/assets/icons/ic_lock.vue b/src/assets/icons/ic_lock.vue index fd9324c..dee9fd3 100644 --- a/src/assets/icons/ic_lock.vue +++ b/src/assets/icons/ic_lock.vue @@ -2,6 +2,6 @@ + fill="currentColor" /> \ No newline at end of file diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index 40f5aee..2c73064 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -132,7 +132,10 @@ "join_invite": "Only people you invite can join.", "info_permissions": "You can change ‘join permissions’ at any time in the room settings.", "got_it": "Got it", - "no_past_messages": "Welcome! For your security, past messages are not available." + "no_past_messages": "Welcome! For your security, past messages are not available.", + "direct_hi": "Hi!", + "direct_info": "You’ve connected to {user}. Leave a message and they’ll be notified.", + "direct_private_chat": "Private Chat" }, "new_room": { "new_room": "New Room", diff --git a/src/components/Chat.vue b/src/components/Chat.vue index e67d54e..defd334 100644 --- a/src/components/Chat.vue +++ b/src/components/Chat.vue @@ -1,10 +1,15 @@