From 727a83160b7a09e5055564275e0965d42308cec2 Mon Sep 17 00:00:00 2001 From: Anthony Kinsey Date: Tue, 4 Jan 2022 11:45:01 -1000 Subject: [PATCH] feat: get sending replys and creating conversations working in mobile view --- public/config.js | 1 + src/views/Messages.vue | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/public/config.js b/public/config.js index 10936de2..515f39f4 100644 --- a/public/config.js +++ b/public/config.js @@ -9,6 +9,7 @@ window.images_local_root = 'http://localhost:8080' window.websocket_host = 'localhost' window.websocket_port = '23958' window.post_max_length = 10000 +window.mobile_break_width = 767 window.max_image_size = 10485760 window.max_avatar_size = 102400 window.portal = { enabled: false } diff --git a/src/views/Messages.vue b/src/views/Messages.vue index 7153479f..14d7f1d9 100644 --- a/src/views/Messages.vue +++ b/src/views/Messages.vue @@ -175,7 +175,10 @@ export default { next(vm => { messagesApi.page(query) .then(d => vm.recentMessages = d) - .then(() => vm.preloadConversation(to.query.id || vm.recentMessages.messages[0].conversation_id)) + .then(() => { + // Hacky, handle mobile split view + window.innerWidth > window.mobile_break_width || to.query.id ? vm.preloadConversation(to.query.id || vm.recentMessages.messages[0].conversation_id) : null + }) .catch(() => {}) }) }, @@ -186,7 +189,10 @@ export default { } messagesApi.page(query) .then(d => this.recentMessages = d) - .then(() => this.preloadConversation(to.query.id || this.recentMessages.messages[0].conversation_id)) + .then(() => { + // Hacky, handle mobile split view + window.innerWidth > window.mobile_break_width || to.query.id ? this.preloadConversation(to.query.id || this.recentMessages.messages[0].conversation_id) : null + }) .catch(() => {}) next() }, @@ -227,7 +233,7 @@ export default { v.recentMessages.messages.forEach(message => { if (message.conversation_id === conversationId) { message.viewed = true } }) - messagesApi.convos.page(conversationId) + return messagesApi.convos.page(conversationId) // build out conversation information .then(data => { v.currentSubject = data.messages[0].content.subject @@ -297,8 +303,10 @@ export default { const canDeleteMessage = () => true const canCreateConversation = () => true const canCreateMessage = () => true - const createConversation = convo => messagesApi.convos.create(convo).then(reload) - const createMessage = msg => messagesApi.create(msg).then(reload) + const createConversation = convo => window.innerWidth > window.mobile_break_width ?messagesApi.convos.create(convo).then(reload) : messagesApi.convos.create(convo).then(data => preloadConversation(data.conversation_id)) + + // Hacky, handle mobile split view + const createMessage = msg => window.innerWidth > window.mobile_break_width ? messagesApi.create(msg).then(reload) : messagesApi.create(msg).then(() => preloadConversation(v.selectedConversationId)) const listMessageReceivers = message => { let receiverNames = []