diff --git a/src/App.js b/src/App.js index 934b96713..f3f3872bf 100644 --- a/src/App.js +++ b/src/App.js @@ -186,7 +186,7 @@ export default { return useShoutStore().joined }, isChats() { - return this.$route.name === 'chat' || this.$route.name === 'chats' + return this.$route.name === 'chat' || this.$route.name === 'chats' || this.$route.name === 'conversation2' }, isListEdit() { return this.$route.name === 'lists-edit' @@ -205,7 +205,7 @@ export default { ) }, hideShoutbox() { - return useMergedConfigStore().mergedConfig.hideShoutbox + return this.isChats || useMergedConfigStore().mergedConfig.hideShoutbox }, reverseLayout() { const { thirdColumnMode, sidebarRight: reverseSetting } = diff --git a/src/components/chat_list_item/chat_list_item.js b/src/components/chat_list_item/chat_list_item.js index 3bbb93d60..c95895def 100644 --- a/src/components/chat_list_item/chat_list_item.js +++ b/src/components/chat_list_item/chat_list_item.js @@ -60,7 +60,7 @@ const ChatListItem = { name: 'chat', params: { username: this.currentUser.screen_name, - recipient_id: this.chat.account.id, + chatUserId: this.chat.account.id, }, }) } diff --git a/src/components/chat_message/chat_message.scss b/src/components/chat_message/chat_message.scss index becf1c0b0..e23ca3bd0 100644 --- a/src/components/chat_message/chat_message.scss +++ b/src/components/chat_message/chat_message.scss @@ -12,7 +12,7 @@ } .attachments { - min-width: 30em; + min-width: 10em; } .quoted-post { diff --git a/src/components/chat_message/chat_message.vue b/src/components/chat_message/chat_message.vue index c3deac0a5..62818d23e 100644 --- a/src/components/chat_message/chat_message.vue +++ b/src/components/chat_message/chat_message.vue @@ -108,6 +108,7 @@ fixed-pinned use-default-buttons hide-labels + in-chat-view @toggle-replying="$emit('replyRequested', message)" />
+
  • + + {{ $t('settings.submit_on_enter_in_chats') }} + +
  • {{ $t('settings.attachments') }} diff --git a/src/components/status_action_buttons/action_button.js b/src/components/status_action_buttons/action_button.js index 842944965..edc969b5b 100644 --- a/src/components/status_action_buttons/action_button.js +++ b/src/components/status_action_buttons/action_button.js @@ -18,6 +18,7 @@ import { faChevronDown, faChevronRight, faComments, + faList, faExternalLinkAlt, faEye, faEyeSlash, @@ -58,6 +59,7 @@ library.add( faPencil, faShareAlt, faComments, + faList, faExternalLinkAlt, faHistory, ) diff --git a/src/components/status_action_buttons/buttons_definitions.js b/src/components/status_action_buttons/buttons_definitions.js index 8dde74364..b3762b8ec 100644 --- a/src/components/status_action_buttons/buttons_definitions.js +++ b/src/components/status_action_buttons/buttons_definitions.js @@ -222,13 +222,30 @@ export const BUTTONS = [ // ========= // OPEN IN CHAT VIEW // ========= - name: 'edit', + name: 'chat_view', icon: 'comments', label: 'status.open_in_chat_view', + if({ chatView }) { + return !chatView + }, action({ router, status }) { router.push({ name: 'conversation2', params: { statusId: status.id } }) }, }, + { + // ========= + // OPEN IN THREAD VIEW + // ========= + name: 'thread_view', + icon: 'list', + label: 'status.open_in_thread_view', + if({ chatView }) { + return chatView + }, + action({ router, status }) { + router.push({ name: 'conversation', params: { id: status.id } }) + }, + }, { // ========= // DELETE diff --git a/src/components/status_action_buttons/status_action_buttons.js b/src/components/status_action_buttons/status_action_buttons.js index d9c7943b7..73ac6ff7e 100644 --- a/src/components/status_action_buttons/status_action_buttons.js +++ b/src/components/status_action_buttons/status_action_buttons.js @@ -39,6 +39,10 @@ const StatusActionButtons = { type: Boolean, default: false, }, + inChatView: { + type: Boolean, + default: false, + }, }, emits: ['toggleReplying', 'onSuccess', 'onError'], data() { @@ -98,6 +102,7 @@ const StatusActionButtons = { router: this.$router, currentUser: this.currentUser, loggedIn: !!this.currentUser, + chatView: !!this.inChatView, } }, triggerAttrs() { diff --git a/src/i18n/en.json b/src/i18n/en.json index 120054ddf..60fcaf1dd 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -780,6 +780,7 @@ "subject_line_email": "Like email: \"re: subject\"", "subject_line_mastodon": "Like mastodon: copy as is", "subject_line_noop": "Do not copy", + "submit_on_enter_in_chats": "Send message on Enter in chats", "force_theme_recompilation_debug": "Disable theme cahe, force recompile on each boot", "conversation_display": "Conversation display style", "conversation_display_tree": "Tree-style", @@ -1648,6 +1649,7 @@ "edit": "Edit status", "edited_at": "(last edited {time})", "open_in_chat_view": "Open in chat view", + "open_in_thread_view": "Open in thread view", "pin": "Pin on profile", "unpin": "Unpin from profile", "pinned": "Pinned", diff --git a/src/modules/default_config_state.js b/src/modules/default_config_state.js index d9a2ba247..9935e88ce 100644 --- a/src/modules/default_config_state.js +++ b/src/modules/default_config_state.js @@ -673,6 +673,11 @@ export const LOCAL_DEFAULT_CONFIG_DEFINITIONS = { type: 'string', default: null, }, + chatSubmitOnEnter: { + description: 'Post status on enter key in chats and chat view', + type: 'boolean', + default: false, + }, themeDebug: { description: 'Debug mode that uses computed backgrounds instead of real ones to debug contrast functions',