0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-25 10:40:28 +01:00
discourse-custom-wizard/assets/javascripts/discourse/components/wizard-subscription-badge.js

47 Zeilen
1,1 KiB
JavaScript

2023-09-24 12:58:20 +02:00
import Component from "@glimmer/component";
2023-10-09 14:39:10 +02:00
import { tracked } from "@glimmer/tracking";
2024-11-22 17:11:51 +01:00
import { action, computed } from "@ember/object";
import { service } from "@ember/service";
import I18n from "I18n";
export default class WizardSubscriptionBadge extends Component {
@service subscription;
2023-10-09 14:39:10 +02:00
@tracked updating = false;
@tracked updateIcon = "sync";
2023-10-09 14:39:10 +02:00
basePath = "/admin/plugins/subscription-client";
@computed("subscription.subscriptionType")
get i18nKey() {
2023-09-24 12:58:20 +02:00
return `admin.wizard.subscription.type.${
this.subscription.subscriptionType
? this.subscription.subscriptionType
: "none"
}`;
}
@computed("i18nKey")
get title() {
2023-09-24 14:01:46 +02:00
return `${this.i18nKey}.title`;
2023-09-24 12:58:20 +02:00
}
@computed("i18nKey")
get label() {
return I18n.t(`${this.i18nKey}.label`);
2023-09-24 12:58:20 +02:00
}
@action
click() {
2023-11-17 16:17:10 +01:00
window.open(this.subscription.subscriptionCtaLink, "_blank").focus();
2023-09-24 12:58:20 +02:00
}
2023-10-09 14:39:10 +02:00
@action
update() {
this.updating = true;
this.updateIcon = null;
this.subscription.updateSubscriptionStatus().finally(() => {
this.updateIcon = "sync";
this.updating = false;
2023-11-15 15:39:42 +01:00
});
2023-10-09 14:39:10 +02:00
}
2023-11-15 15:39:42 +01:00
}