From 5a98869c5d1fb2a6c188600eb96ef5138954308c Mon Sep 17 00:00:00 2001 From: Martin Brennan Date: Wed, 22 Apr 2020 13:34:58 +1000 Subject: [PATCH] FIX: If bookmarking discobot posts, skip the reminder modal (#9505) This is to streamline the new user narrative. only works when creating the bookmark, if editing/deleting the modal is shown. This is done via the plugin initializer. --- .../initializers/new-user-narrative.js.es6 | 24 +++++++++++++++++++ .../config/locales/server.en.yml | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/plugins/discourse-narrative-bot/assets/javascripts/initializers/new-user-narrative.js.es6 b/plugins/discourse-narrative-bot/assets/javascripts/initializers/new-user-narrative.js.es6 index 45b68ca24fe..6498f501b32 100644 --- a/plugins/discourse-narrative-bot/assets/javascripts/initializers/new-user-narrative.js.es6 +++ b/plugins/discourse-narrative-bot/assets/javascripts/initializers/new-user-narrative.js.es6 @@ -1,4 +1,5 @@ import { withPluginApi } from "discourse/lib/plugin-api"; +import { ajax } from "discourse/lib/ajax"; function initialize(api) { const messageBus = api.container.lookup("message-bus:main"); @@ -12,6 +13,29 @@ function initialize(api) { } }); + api.modifyClass("model:post", { + toggleBookmarkWithReminder() { + // if we are talking to discobot then any bookmarks should just + // be created without reminder options, to streamline the new user + // narrative. + const discobotUserId = -2; + if (this.user_id === discobotUserId && !this.bookmarked_with_reminder) { + return ajax("/bookmarks", { + type: "POST", + data: { post_id: this.id } + }).then(response => { + this.setProperties({ + "topic.bookmarked": true, + bookmarked_with_reminder: true, + bookmark_id: response.id + }); + this.appEvents.trigger("post-stream:refresh", { id: this.id }); + }); + } + this._super(); + } + }); + api.attachWidgetAction("header", "headerSearchContextTrigger", function() { if (this.site.mobileView) { this.state.skipSearchContext = false; diff --git a/plugins/discourse-narrative-bot/config/locales/server.en.yml b/plugins/discourse-narrative-bot/config/locales/server.en.yml index def563ed26b..86d081b5bb1 100644 --- a/plugins/discourse-narrative-bot/config/locales/server.en.yml +++ b/plugins/discourse-narrative-bot/config/locales/server.en.yml @@ -242,7 +242,7 @@ en: bookmark: instructions: |- - If you’d like to learn more, select below and **bookmark this personal message** selecting "no reminder needed". If you do, there may be a :gift: in your future! + If you’d like to learn more, select below and **bookmark this personal message**. If you do, there may be a :gift: in your future! reply: |- Excellent! Now you can easily find your way back to our private conversation any time, right from [the bookmarks tab on your profile](%{bookmark_url}). Just select your profile picture at the upper right ↗ not_found: |-