create license management

This commit is contained in:
2026-04-06 13:31:30 +03:30
parent 44097fe1ac
commit de1a046485
46 changed files with 819 additions and 366 deletions
@@ -0,0 +1,31 @@
import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog';
import { KeyValueComponent } from '@/shared/components';
import { licenseStatus } from '@/shared/localEnum/constants/licenseStatus';
import { Component, computed, inject } from '@angular/core';
import { Dialog } from 'primeng/dialog';
import { Message } from 'primeng/message';
import { ConsumerStore } from '../store/main.store';
@Component({
selector: 'consumer-license-info-dialog',
templateUrl: './license-info-dialog.component.html',
imports: [Dialog, KeyValueComponent, Message],
})
export class ConsumerLicenseInfoDialogComponent extends AbstractDialog {
private readonly store = inject(ConsumerStore);
license = computed(() => this.store.entity()?.license);
licenseStatus = computed(() => {
if (!this.store.entity()?.license?.expires_at) {
return null;
}
if (
new Date().toDateString() >
new Date(this.store.entity()?.license?.expires_at || '').toDateString()
) {
return licenseStatus.EXPIRED;
}
return licenseStatus.ACTIVE;
});
}