mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-08 22:18:28 +03:00
66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
import ko from 'ko';
|
|
import moment from 'moment';
|
|
|
|
import { settingsGet } from 'Storage/Settings';
|
|
import { showScreenPopup } from 'Knoin/Knoin';
|
|
|
|
import LicenseStore from 'Stores/Admin/License';
|
|
|
|
import { getApp } from 'Helper/Apps/Admin';
|
|
|
|
class LicensingPremAdminSettings {
|
|
constructor() {
|
|
this.licensing = LicenseStore.licensing;
|
|
this.licensingProcess = LicenseStore.licensingProcess;
|
|
this.licenseValid = LicenseStore.licenseValid;
|
|
this.licenseExpired = LicenseStore.licenseExpired;
|
|
this.licenseError = LicenseStore.licenseError;
|
|
this.licenseTrigger = LicenseStore.licenseTrigger;
|
|
|
|
this.adminDomain = ko.observable('');
|
|
this.subscriptionEnabled = ko.observable(!!settingsGet('SubscriptionEnabled'));
|
|
|
|
this.licenseTrigger.subscribe(() => {
|
|
if (this.subscriptionEnabled()) {
|
|
getApp().reloadLicensing(true);
|
|
}
|
|
});
|
|
}
|
|
|
|
onBuild() {
|
|
if (this.subscriptionEnabled()) {
|
|
getApp().reloadLicensing(false);
|
|
}
|
|
}
|
|
|
|
onShow() {
|
|
this.adminDomain(settingsGet('AdminDomain'));
|
|
}
|
|
|
|
showActivationForm() {
|
|
showScreenPopup(require('View/Popup/Activate'));
|
|
}
|
|
|
|
showTrialForm() {
|
|
showScreenPopup(require('View/Popup/Activate'), [true]);
|
|
}
|
|
|
|
/**
|
|
* @returns {boolean}
|
|
*/
|
|
licenseIsUnlim() {
|
|
return 1898625600 === this.licenseExpired() || 1898625700 === this.licenseExpired(); // eslint-disable-line no-magic-numbers
|
|
}
|
|
|
|
/**
|
|
* @returns {string}
|
|
*/
|
|
licenseExpiredMomentValue() {
|
|
const time = this.licenseExpired(),
|
|
momentUnix = moment.unix(time);
|
|
|
|
return this.licenseIsUnlim() ? 'Never' : time && momentUnix.format('LL') + ' (' + momentUnix.from(moment()) + ')';
|
|
}
|
|
}
|
|
|
|
export { LicensingPremAdminSettings, LicensingPremAdminSettings as default };
|