diff --git a/resources/assets/js/pages/manage/components/ChatInput/index.vue b/resources/assets/js/pages/manage/components/ChatInput/index.vue index ed132f347..834afb8f1 100755 --- a/resources/assets/js/pages/manage/components/ChatInput/index.vue +++ b/resources/assets/js/pages/manage/components/ChatInput/index.vue @@ -401,6 +401,10 @@ export default { } }, + recordState(state) { + this.$emit('on-record-state', state) + }, + dialogInputCache() { this.$emit('input', this.getInputCache()) } diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 5be6ed4c4..6f753cb6e 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -2,6 +2,7 @@
@@ -329,7 +331,9 @@ export default { operateHasText: false, operateStyles: {}, operateItem: {}, - operateEmojis: ['๐Ÿ‘Œ', '๐Ÿค', '๐Ÿค”', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ‘', 'โœ‹', 'โœ…', 'โŒ', 'โค๏ธ', 'โ“'] + operateEmojis: ['๐Ÿ‘Œ', '๐Ÿค', '๐Ÿค”', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ‘', 'โœ‹', 'โœ…', 'โŒ', 'โค๏ธ', 'โ“'], + + recordState: '', } }, @@ -395,6 +399,13 @@ export default { return 'ๅ‘้€ๆ–‡ไปถ' }, + wrapperClass() { + if (['ready', 'ing'].includes(this.recordState)) { + return ['record-ing'] + } + return null + }, + pasteWrapperClass() { if (this.pasteItem.find(({type}) => type !== 'image')) { return ['multiple']; @@ -622,6 +633,10 @@ export default { } }, + onRecordState(state) { + this.recordState = state; + }, + chatPasteDrag(e, type) { this.dialogDrag = false; const files = type === 'drag' ? e.dataTransfer.files : e.clipboardData.files; diff --git a/resources/assets/sass/pages/components/dialog-wrapper.scss b/resources/assets/sass/pages/components/dialog-wrapper.scss index f3a419dcb..1a17cf97b 100644 --- a/resources/assets/sass/pages/components/dialog-wrapper.scss +++ b/resources/assets/sass/pages/components/dialog-wrapper.scss @@ -7,9 +7,12 @@ display: flex; flex-direction: column; background-color: #ffffff; - overflow: hidden; z-index: 1; + &.record-ing { + overflow: hidden; + } + .vue-recycle-scroller.direction-vertical:not(.page-mode) { overflow-y: overlay; }