mirror of
https://github.com/discourse/discourse.git
synced 2025-06-03 18:05:56 +08:00
DEV: Remove .es6
extensions from core (#14912)
Still supported in plugins though.
This commit is contained in:
@ -0,0 +1,69 @@
|
||||
import { ajax } from "discourse/lib/ajax";
|
||||
import { withPluginApi } from "discourse/lib/plugin-api";
|
||||
|
||||
const PLUGIN_ID = "new-user-narrative";
|
||||
|
||||
function initialize(api) {
|
||||
const messageBus = api.container.lookup("message-bus:main");
|
||||
const currentUser = api.getCurrentUser();
|
||||
const appEvents = api.container.lookup("service:app-events");
|
||||
|
||||
api.modifyClass("component:site-header", {
|
||||
pluginId: PLUGIN_ID,
|
||||
didInsertElement() {
|
||||
this._super(...arguments);
|
||||
this.dispatch("header:search-context-trigger", "header");
|
||||
},
|
||||
});
|
||||
|
||||
api.modifyClass("controller:topic", {
|
||||
pluginId: PLUGIN_ID,
|
||||
|
||||
_modifyBookmark(bookmark, post) {
|
||||
// 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 (post && post.user_id === discobotUserId && !post.bookmarked) {
|
||||
return ajax("/bookmarks", {
|
||||
type: "POST",
|
||||
data: { post_id: post.id },
|
||||
}).then((response) => {
|
||||
post.setProperties({
|
||||
"topic.bookmarked": true,
|
||||
bookmarked: true,
|
||||
bookmark_id: response.id,
|
||||
});
|
||||
post.appEvents.trigger("post-stream:refresh", { id: this.id });
|
||||
});
|
||||
}
|
||||
return this._super(bookmark, post);
|
||||
},
|
||||
});
|
||||
|
||||
api.attachWidgetAction("header", "headerSearchContextTrigger", function () {
|
||||
if (this.site.mobileView) {
|
||||
this.state.skipSearchContext = false;
|
||||
} else {
|
||||
this.state.contextEnabled = true;
|
||||
this.state.searchContextType = "topic";
|
||||
}
|
||||
});
|
||||
|
||||
if (messageBus && currentUser) {
|
||||
messageBus.subscribe(`/new_user_narrative/tutorial_search`, () => {
|
||||
appEvents.trigger("header:search-context-trigger");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
name: "new-user-narratve",
|
||||
|
||||
initialize(container) {
|
||||
const siteSettings = container.lookup("site-settings:main");
|
||||
if (siteSettings.discourse_narrative_bot_enabled) {
|
||||
withPluginApi("0.8.7", initialize);
|
||||
}
|
||||
},
|
||||
};
|
Reference in New Issue
Block a user