mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
* DEV: Provide radix 10 argument to parseInt * DEV: Provide radix 16 argument to parseInt * DEV: Remove unnecessary parseInt calls * Fix year formatting parseInt was used here to convert decimals to ints
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
import discourseComputed from "discourse-common/utils/decorators";
|
|
import Component from "@ember/component";
|
|
import { ajax } from "discourse/lib/ajax";
|
|
|
|
export default Component.extend({
|
|
classNames: ["badge-title"],
|
|
|
|
saved: false,
|
|
saving: false,
|
|
|
|
@discourseComputed("selectableUserBadges", "selectedUserBadgeId")
|
|
selectedUserBadge(selectableUserBadges, selectedUserBadgeId) {
|
|
return selectableUserBadges.findBy("id", parseInt(selectedUserBadgeId, 10));
|
|
},
|
|
|
|
actions: {
|
|
save() {
|
|
this.setProperties({ saved: false, saving: true });
|
|
|
|
const badge_id = this.selectedUserBadgeId || 0;
|
|
|
|
ajax(this.currentUser.path + "/preferences/badge_title", {
|
|
type: "PUT",
|
|
data: { user_badge_id: badge_id }
|
|
}).then(
|
|
() => {
|
|
this.setProperties({
|
|
saved: true,
|
|
saving: false
|
|
});
|
|
this.currentUser.set(
|
|
"title",
|
|
this.get("selectedUserBadge.badge.name")
|
|
);
|
|
},
|
|
() => {
|
|
bootbox.alert(I18n.t("generic_error"));
|
|
}
|
|
);
|
|
}
|
|
}
|
|
});
|