import { formatJalali } from '@/utils'; import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core'; @Directive({ selector: '[jalaliDate]', }) export class JalaliDateDirective implements OnChanges { @Input('jalaliDate') dateValue!: string | number | Date; @Input() jalaliFormat: string = 'YYYY/MM/DD'; constructor( private el: ElementRef, private renderer: Renderer2, ) {} ngOnChanges(changes: SimpleChanges): void { if (this.dateValue) { const formatted = formatJalali(this.dateValue, this.jalaliFormat); this.renderer.setProperty(this.el.nativeElement, 'innerText', formatted); } } }