discourse/plugins/discourse-details/assets/javascripts/initializers/apply-details.js
Godfrey Chan c34f8b65cb
DEV: Rename I18n imports to discourse-i18n (#23915)
As of #23867 this is now a real package, so updating the imports to
use the real package name, rather than relying on the alias. The
name change in the package name is because `I18n` is not a valid
name as NPM packages must be all lowercase.

This commit also introduces an eslint rule to prevent importing from
the old I18n path.

For themes/plugins, the old 'i18n' name remains functional.
2023-10-18 11:07:09 +01:00

30 lines
679 B
JavaScript

import { withPluginApi } from "discourse/lib/plugin-api";
import I18n from "discourse-i18n";
function initializeDetails(api) {
api.decorateCooked(($elem) => $("details", $elem), {
id: "discourse-details",
});
api.addComposerToolbarPopupMenuOption({
action: function (toolbarEvent) {
toolbarEvent.applySurround(
"\n" + `[details="${I18n.t("composer.details_title")}"]` + "\n",
"\n[/details]\n",
"details_text",
{ multiline: false }
);
},
icon: "caret-right",
label: "details.title",
});
}
export default {
name: "apply-details",
initialize() {
withPluginApi("1.14.0", initializeDetails);
},
};