Refactor code structure and remove redundant changes

This commit is contained in:
pacnpal
2025-11-09 16:31:34 -05:00
parent 2884bc23ce
commit eb68cf40c6
1080 changed files with 27361 additions and 56687 deletions

View File

@@ -0,0 +1,46 @@
import { format } from 'date-fns';
import { parseDateForDisplay } from '@/lib/dateUtils';
import type { DatePrecision } from './flexible-date-input';
interface FlexibleDateDisplayProps {
date?: string | Date | null;
precision?: DatePrecision;
fallback?: string;
className?: string;
}
export function FlexibleDateDisplay({
date,
precision = 'day',
fallback = 'Unknown',
className
}: FlexibleDateDisplayProps) {
if (!date) {
return <span className={className || "text-muted-foreground"}>{fallback}</span>;
}
// ⚠️ IMPORTANT: Use parseDateForDisplay to prevent timezone shifts
// YYYY-MM-DD strings must be interpreted as local dates, not UTC
const dateObj = parseDateForDisplay(date);
// Check for invalid date
if (isNaN(dateObj.getTime())) {
return <span className={className || "text-muted-foreground"}>{fallback}</span>;
}
let formatted: string;
switch (precision) {
case 'year':
formatted = format(dateObj, 'yyyy');
break;
case 'month':
formatted = format(dateObj, 'MMMM yyyy');
break;
case 'day':
default:
formatted = format(dateObj, 'PPP');
break;
}
return <span className={className}>{formatted}</span>;
}