discourse/app/assets/javascripts/select-kit/addon/components/notifications-button/notifications-button-row.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

32 lines
1.0 KiB
JavaScript

import { computed } from "@ember/object";
import { readOnly } from "@ember/object/computed";
import { escapeExpression } from "discourse/lib/utilities";
import I18n from "discourse-i18n";
import DropdownSelectBoxRowComponent from "select-kit/components/dropdown-select-box/dropdown-select-box-row";
export default DropdownSelectBoxRowComponent.extend({
classNames: ["notifications-button-row"],
i18nPrefix: readOnly("selectKit.options.i18nPrefix"),
i18nPostfix: readOnly("selectKit.options.i18nPostfix"),
label: computed("_start", function () {
return escapeExpression(I18n.t(`${this._start}.title`));
}),
icons: computed("item.icon", function () {
return [escapeExpression(this.item.icon)];
}),
description: computed("_start", function () {
if (this.site && this.site.mobileView) {
return null;
}
return escapeExpression(I18n.t(`${this._start}.description`));
}),
_start: computed("i18nPrefix", "i18nPostfix", "rowName", function () {
return `${this.i18nPrefix}.${this.rowName}${this.i18nPostfix}`;
}),
});