UI/Web/src/app/admin/license/license.component.html
{{t('faq-title')}}
{{t('kavita+-desc-part-1')}} {{t('kavita+-desc-part-2')}} {{t('kavita+-desc-part-3')}}
{{t('kavita+-warning')}}
@if (isChecking()) { } @else if (hasLicense()) { } @if (hasLicense()) { ********* @if (isChecking()) { {{t('loading')}} } @else { @if (licenseInfo()?.isActive) { {{t('license-valid')}} } @else { {{t('license-not-valid')}} } } @if (!isChecking() && hasLicense() && !licenseInfo()) { {{t('license-mismatch')}} } } @else { {{t('no-license-key')}} } {{t('activate-license-label')}}
{{t('activate-email-label')}}
{{t('activate-discordId-label')}}{{t('help-label')}} @if (formGroup.dirty || !formGroup.untouched) { @if (formGroup.get('discordId')?.errors?.pattern) { {{t('discord-validation')}} } }
{{t('activate-delete')}} {{t('activate-reset')}} @if (!isSaving()) { {{t('activate-save')}} } @if (hasLicense()) { @if (licenseInfo()?.isActive) { {{t('manage')}} } @else { {{t('renew')}} } } @else { {{t('buy')}}{{isViewMode() ? t('activate') : t('cancel')}} } @let licInfo = licenseInfo(); @if (hasLicense() && licInfo) {
@if (isChecking()) { {{null | defaultValue}} } @else { {{licInfo.isActive ? t('valid') : t('invalid')}] }
@let validVersion = licInfo.isValidVersion; {{validVersion ? t('valid') : t('invalid')}]
{{licInfo.expirationDate | utcToLocalTime | defaultValue}}
{{licInfo.totalMonthsSubbed | number}}
@if (showEmail()) { {{licInfo.registeredEmail}} } @else { *************** }
{{licInfo.installId}}
{{t('cancel-label')}}
{{t('activate-delete')}}
{{t('manage')}}
{{t('resend-license-email')}}
}