From 4493e1d98c7340d53f00d22546c30ca68068384a Mon Sep 17 00:00:00 2001 From: FergusonSean Date: Fri, 3 Aug 2018 02:54:32 -0700 Subject: [PATCH] Fix path to detect when group is the tavern or the user's party and set paths appropriately (#10570) * Fix path to detect when group is the tavern or the user's party and set path's appropriately * Fix lint issues --- docker-compose.dev.yml | 4 ++++ website/client/components/chat/chatMessages.vue | 4 ++-- website/client/components/chat/copyAsTodoModal.vue | 14 ++++++++++++-- website/client/components/groups/chat.vue | 2 +- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 53ea346743..c523bbcd69 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -2,9 +2,13 @@ version: "3" services: client: + environment: + - NODE_ENV=development volumes: - '.:/usr/src/habitrpg' server: + environment: + - NODE_ENV=development volumes: - '.:/usr/src/habitrpg' diff --git a/website/client/components/chat/chatMessages.vue b/website/client/components/chat/chatMessages.vue index 6868cdb1c6..1b906d7edf 100644 --- a/website/client/components/chat/chatMessages.vue +++ b/website/client/components/chat/chatMessages.vue @@ -2,7 +2,7 @@ .container .row .col-12 - copy-as-todo-modal(:group-name='groupName', :group-id='groupId') + copy-as-todo-modal(:group-type='groupType', :group-name='groupName', :group-id='groupId') report-flag-modal div(v-for="(msg, index) in messages", v-if='chat && canViewFlag(msg)') // @TODO: is there a different way to do these conditionals? This creates an infinite loop @@ -87,7 +87,7 @@ import reportFlagModal from './reportFlagModal'; import chatCard from './chatCard'; export default { - props: ['chat', 'groupId', 'groupName', 'inbox'], + props: ['chat', 'groupType', 'groupId', 'groupName', 'inbox'], components: { copyAsTodoModal, reportFlagModal, diff --git a/website/client/components/chat/copyAsTodoModal.vue b/website/client/components/chat/copyAsTodoModal.vue index b347fe13fe..daea542136 100644 --- a/website/client/components/chat/copyAsTodoModal.vue +++ b/website/client/components/chat/copyAsTodoModal.vue @@ -18,6 +18,7 @@ import notificationsMixin from 'client/mixins/notifications'; import Task from 'client/components/tasks/task'; import taskDefaults from 'common/script/libs/taskDefaults'; +import { TAVERN_ID } from '../../../common/script/constants'; const baseUrl = 'https://habitica.com'; @@ -29,7 +30,7 @@ export default { Task, }, mixins: [notificationsMixin], - props: ['copyingMessage', 'groupName', 'groupId'], + props: ['copyingMessage', 'groupType', 'groupName', 'groupId'], data () { return { isUser: true, @@ -38,7 +39,7 @@ export default { }, mounted () { this.$root.$on('habitica::copy-as-todo', message => { - const notes = `${message.user || 'system message'}${message.user ? ' wrote' : ''} in [${this.groupName}](${baseUrl}/groups/guild/${this.groupId})`; + const notes = `${message.user || 'system message'}${message.user ? ' wrote' : ''} in [${this.groupName}](${this.groupPath()})`; const newTask = { text: message.text, type: 'todo', @@ -55,6 +56,15 @@ export default { ...mapActions({ createTask: 'tasks:create', }), + groupPath () { + if (this.groupId === TAVERN_ID) { + return `${baseUrl}/groups/tavern`; + } else if (this.groupType === 'party') { + return `${baseUrl}/party`; + } else { + return `${baseUrl}/groups/guild/${this.groupId}`; + } + }, close () { this.$root.$emit('bv::hide::modal', 'copyAsTodo'); }, diff --git a/website/client/components/groups/chat.vue b/website/client/components/groups/chat.vue index 58e16cac0e..5babe873f9 100644 --- a/website/client/components/groups/chat.vue +++ b/website/client/components/groups/chat.vue @@ -34,7 +34,7 @@ .row .hr.col-12 - chat-message(:chat.sync='group.chat', :group-id='group._id', :group-name='group.name') + chat-message(:chat.sync='group.chat', :group-type='group.type', :group-id='group._id', :group-name='group.name')