From 6641989b7479e543334137d9569aff9c07f84492 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Thu, 20 Apr 2023 11:44:13 +0200 Subject: [PATCH 1/6] add adjustable overlap for condensed AvatarWrapper.vue, lint NewMessageForm.vue Signed-off-by: Maksim Sukharev --- .../AvatarWrapper/AvatarWrapper.vue | 11 +++++-- .../NewMessageForm/NewMessageForm.vue | 30 +++++++++++-------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/components/AvatarWrapper/AvatarWrapper.vue b/src/components/AvatarWrapper/AvatarWrapper.vue index 9f97bb7c8d7..4c625e7b93f 100644 --- a/src/components/AvatarWrapper/AvatarWrapper.vue +++ b/src/components/AvatarWrapper/AvatarWrapper.vue @@ -25,7 +25,8 @@ 'avatar-wrapper--offline': offline, 'avatar-wrapper--small': small, 'avatar-wrapper--condensed': condensed, - }"> + }" + :style="{'--condensed-overlap': condensedOverlap}">
@@ -80,6 +81,10 @@ export default { type: Boolean, default: false, }, + condensedOverlap: { + type: Number, + default: 2, + }, offline: { type: Boolean, default: false, @@ -134,7 +139,7 @@ export default { if (this.isDeletedUser) { return 'X' } - const customName = this.name !== t('spreed', 'Guest') ? this.name : '?' + const customName = this.name?.trim() && this.name !== t('spreed', 'Guest') ? this.name : '?' return customName.charAt(0) }, menuContainerWithFallback() { @@ -166,7 +171,7 @@ export default { &--condensed { width: unset; height: unset; - margin-left: -2px; + margin-left: calc(var(--condensed-overlap) * -1px); display: flex; & > .icon, diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue index e5052558bcf..839af4f193f 100644 --- a/src/components/NewMessageForm/NewMessageForm.vue +++ b/src/components/NewMessageForm/NewMessageForm.vue @@ -274,24 +274,25 @@ export default { disableKeyboardShortcuts, components: { - Quote, - NcActions, + AudioRecorder, NcActionButton, + NcActions, NcButton, - Paperclip, NcEmojiPicker, + NcModal, NcRichContenteditable, - EmoticonOutline, - Send, - AudioRecorder, - BellOff, + NcTextField, + Quote, SimplePollsEditor, - Poll, - NcModal, + TemplatePreview, + // Icons + BellOff, + EmoticonOutline, Folder, + Paperclip, + Poll, + Send, Upload, - TemplatePreview, - NcTextField, }, props: { @@ -939,12 +940,14 @@ export default { width: 100%; display: flex; justify-content: center; + &-form { align-items: flex-end; display: flex; - position:relative; + position: relative; flex: 0 1 700px; margin: 0 4px; + &__emoji-picker { position: absolute; bottom: 1px; @@ -963,6 +966,7 @@ export default { border-radius: calc(var(--default-clickable-area) / 2); padding: 8px 16px 8px 44px; max-height: 180px; + &:hover, &:focus, &:active { @@ -994,10 +998,12 @@ export default { // Targeting two classess for specificity :deep(.action-item__menutoggle.action-item__menutoggle--with-icon-slot) { opacity: 1 !important; + &:hover, &:focus { background-color: var(--color-background-hover) !important; } + &:disabled { opacity: .5 !important; } From 7f51262ce668d95543cb3a6461588234413496e5 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Thu, 20 Apr 2023 12:21:44 +0200 Subject: [PATCH 2/6] add TypingIndicator.vue Signed-off-by: Maksim Sukharev - declare translatePlural in d.ts file, improve indicator message - remove HTML tags from direct translations - escape HTML markdown in participant names --- src/components/ChatView.vue | 1 + .../NewMessageForm/NewMessageForm.vue | 22 ++- .../TypingIndicator/TypingIndicator.vue | 161 ++++++++++++++++++ src/types/vendor/l10n.d.ts | 6 +- 4 files changed, 187 insertions(+), 3 deletions(-) create mode 100644 src/components/TypingIndicator/TypingIndicator.vue diff --git a/src/components/ChatView.vue b/src/components/ChatView.vue index 5f83886341d..480dbca19e1 100644 --- a/src/components/ChatView.vue +++ b/src/components/ChatView.vue @@ -46,6 +46,7 @@ role="region" :token="token" :container="containerId" + has-typing-indicator :aria-label="t('spreed', 'Post message')" />
diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue index 839af4f193f..4f42dd5376a 100644 --- a/src/components/NewMessageForm/NewMessageForm.vue +++ b/src/components/NewMessageForm/NewMessageForm.vue @@ -21,7 +21,10 @@ -->