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.
This commit is contained in:
Martin Brennan
2020-04-22 13:34:58 +10:00
committed by GitHub
parent e18aeb799e
commit 5a98869c5d
2 changed files with 25 additions and 1 deletions

View File

@ -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;