44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import computed from "ember-addons/ember-computed-decorators";
|
|
import { SECOND_FACTOR_METHODS } from "discourse/models/user";
|
|
|
|
export default Ember.Component.extend({
|
|
@computed("secondFactorMethod")
|
|
secondFactorTitle(secondFactorMethod) {
|
|
return secondFactorMethod === SECOND_FACTOR_METHODS.TOTP
|
|
? I18n.t("login.second_factor_title")
|
|
: I18n.t("login.second_factor_backup_title");
|
|
},
|
|
|
|
@computed("secondFactorMethod")
|
|
secondFactorDescription(secondFactorMethod) {
|
|
return secondFactorMethod === SECOND_FACTOR_METHODS.TOTP
|
|
? I18n.t("login.second_factor_description")
|
|
: I18n.t("login.second_factor_backup_description");
|
|
},
|
|
|
|
@computed("secondFactorMethod", "isLogin")
|
|
linkText(secondFactorMethod, isLogin) {
|
|
if (isLogin) {
|
|
return secondFactorMethod === SECOND_FACTOR_METHODS.TOTP
|
|
? "login.second_factor_backup"
|
|
: "login.second_factor";
|
|
} else {
|
|
return secondFactorMethod === SECOND_FACTOR_METHODS.TOTP
|
|
? "user.second_factor_backup.use"
|
|
: "user.second_factor.use";
|
|
}
|
|
},
|
|
|
|
actions: {
|
|
toggleSecondFactorMethod() {
|
|
const secondFactorMethod = this.get("secondFactorMethod");
|
|
this.set("secondFactorToken", "");
|
|
if (secondFactorMethod === SECOND_FACTOR_METHODS.TOTP) {
|
|
this.set("secondFactorMethod", SECOND_FACTOR_METHODS.BACKUP_CODE);
|
|
} else {
|
|
this.set("secondFactorMethod", SECOND_FACTOR_METHODS.TOTP);
|
|
}
|
|
}
|
|
}
|
|
});
|