19 lines
545 B
TypeScript
19 lines
545 B
TypeScript
import { DateUtils } from '@repo/utils';
|
|
|
|
export interface RenderDateProps {
|
|
value?: string | number | Date | DateUtils | null;
|
|
format?: string;
|
|
fallback?: string;
|
|
}
|
|
|
|
export function RenderDate({ value, format = 'DD-MM-YYYY, HH:mm', fallback = '-' }: RenderDateProps) {
|
|
if (!value) return <>{fallback}</>;
|
|
|
|
try {
|
|
const parsedValue = typeof value === 'string' && !isNaN(Number(value)) ? Number(value) : value;
|
|
return <>{new DateUtils(parsedValue as any).format(format)}</>;
|
|
} catch (error) {
|
|
return <>{fallback}</>;
|
|
}
|
|
}
|