diff --git a/common/locales/en/groups.json b/common/locales/en/groups.json index c9a731b6b0..6ade797459 100644 --- a/common/locales/en/groups.json +++ b/common/locales/en/groups.json @@ -97,6 +97,8 @@ "abuseAlreadyReported": "You have already reported this message.", "needsText": "Please type a message.", "needsTextPlaceholder": "Type your message here.", - "copyMessageAsToDo": "copy message as to-do", - "messageAddedAsToDo": "Message copied as to-do." + "copyMessageAsToDo": "Copy message as To-Do", + "messageAddedAsToDo": "Message copied as To-Do.", + "messageWroteIn": "<%= user %> wrote in <%= group %>", + "msgPreviewHeading": "Message Preview" } diff --git a/website/public/js/controllers/groupsCtrl.js b/website/public/js/controllers/groupsCtrl.js index d22358ee60..e37c697658 100644 --- a/website/public/js/controllers/groupsCtrl.js +++ b/website/public/js/controllers/groupsCtrl.js @@ -347,8 +347,10 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Shared', 'Groups', ' }; $scope.copyToDo = function(message) { - var taskNotes = '[' + message.user + '](' + env.BASE_URL + '/static/front/#?memberId=' + message.uuid + - ') wrote in [' + $scope.group.name + '](' + window.location.href + ')'; + var taskNotes = env.t("messageWroteIn", { + user: '[' + message.user + '](' + env.BASE_URL + '/static/front/#?memberId=' + message.uuid + ')', + group: '[' + $scope.group.name + '](' + window.location.href + ')' + }); var newScope = $scope.$new(); newScope.text = message.text; diff --git a/website/views/options/social/index.jade b/website/views/options/social/index.jade index 2516b569e9..ecb2215d3d 100644 --- a/website/views/options/social/index.jade +++ b/website/views/options/social/index.jade @@ -118,12 +118,16 @@ script(type='text/ng-template', id='modals/copyChatToDo.html') .modal-header h4=env.t('copyMessageAsToDo') .modal-body - p - input.form-control(type='text',ng-model='text') - br - p - textarea.form-control(type='text',rows='5',ng-model='notes', focus-me) + .form-group + input.form-control(type='text',ng-model='text', ng-model-options="{debounce: 1000}") + .form-group + textarea.form-control(rows='5',ng-model='notes', ng-model-options="{debounce: 1000}", focus-me) + + hr + + div(popover-trigger='click', data-popover-html="{{notes | markdown}}", popover-placement="top") + +previewMarkdown('text') .modal-footer button.btn.btn-default(ng-click='$close()')=env.t('close') - button.btn.btn-default(ng-click='saveTodo()')=env.t('submit') \ No newline at end of file + button.btn.btn-primary(ng-click='saveTodo()')=env.t('submit') \ No newline at end of file diff --git a/website/views/shared/mixins.jade b/website/views/shared/mixins.jade index f2c37b9b56..00bf60c9ce 100644 --- a/website/views/shared/mixins.jade +++ b/website/views/shared/mixins.jade @@ -11,3 +11,9 @@ mixin aLink(url, label) a(href="", ng-click="externalLink('#{url}')")= label else a(href='#{url}', target='_blank')= label + +mixin previewMarkdown(text) + .panel.panel-warning + .panel-heading=env.t('msgPreviewHeading') + .panel-body + markdown(text='#{text}') \ No newline at end of file diff --git a/website/views/shared/tasks/task.jade b/website/views/shared/tasks/task.jade index 9a5644094f..a87ae7bf0e 100644 --- a/website/views/shared/tasks/task.jade +++ b/website/views/shared/tasks/task.jade @@ -1,4 +1,4 @@ -li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s"] | conditionalOrderBy: list.view=="dated":"date"', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', ng-class='{"cast-target":spell && (list.type != "reward"), "locked-task":obj._locked === true}', popover-trigger='mouseenter', data-popover-html="{{task.notes | markdown}}", popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}', ng-show='shouldShow(task, list, user.preferences)') +li(bindonce='list', id='task-{{::task.id}}', ng-repeat='task in obj[list.type+"s"] | conditionalOrderBy: list.view=="dated":"date"', class='task {{Shared.taskClasses(task, user.filters, user.preferences.dayStart, user.lastCron, list.showCompleted, main)}}', ng-click='spell && (list.type != "reward") && castEnd(task, "task", $event)', ng-class='{"cast-target":spell && (list.type != "reward"), "locked-task":obj._locked === true}', popover-trigger='click', data-popover-html="{{task.notes | markdown}}", popover-placement="top", popover-append-to-body='{{::modal ? "false":"true"}}', ng-show='shouldShow(task, list, user.preferences)') // right-hand side control buttons .task-meta-controls