Files
discourse/app/assets/javascripts/admin/addon/components/modal/merge-users-progress.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

39 lines
1.0 KiB
JavaScript

import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { inject as service } from "@ember/service";
import DiscourseURL from "discourse/lib/url";
import { bind } from "discourse-common/utils/decorators";
import I18n from "discourse-i18n";
export default class MergeUsersProgress extends Component {
@service messageBus;
@tracked message = I18n.t("admin.user.merging_user");
constructor() {
super(...arguments);
this.messageBus.subscribe("/merge_user", this.onMessage);
}
willDestroy() {
this.messageBus.unsubscribe("/merge_user", this.onMessage);
}
@bind
onMessage(data) {
if (data.merged) {
if (/^\/admin\/users\/list\//.test(location.href)) {
DiscourseURL.redirectTo(location.href);
} else {
DiscourseURL.redirectTo(
`/admin/users/${data.user.id}/${data.user.username}`
);
}
} else if (data.message) {
this.message = data.message;
} else if (data.failed) {
this.message = I18n.t("admin.user.merge_failed");
}
}
}