Fixed dshboard render crash
This commit is contained in:
@@ -26,7 +26,10 @@ import {
|
||||
import { EvidenceUploadModal } from './EvidenceUploadModal';
|
||||
import { GovernanceInfoModal } from './GovernanceInfoModal';
|
||||
import {
|
||||
FolderKanban,
|
||||
FolderKanban,
|
||||
AlertTriangle,
|
||||
ShieldAlert,
|
||||
Scale,
|
||||
ChevronDown,
|
||||
ChevronUp,
|
||||
Calendar,
|
||||
@@ -66,6 +69,12 @@ interface ProjectCardProps {
|
||||
item: EnrichedPartnerProject;
|
||||
isExpanded?: boolean;
|
||||
onToggleExpand?: () => void;
|
||||
onUploadEvidence?: (target: any) => void;
|
||||
onSubmitActivityForApproval?: (
|
||||
activity: Activity,
|
||||
milestone?: Milestone | null,
|
||||
evidences?: Evidence[]
|
||||
) => Promise<void>;
|
||||
onOpenSecureFile: (type: 'contract' | 'evidence', id: string | number) => void;
|
||||
}
|
||||
|
||||
@@ -226,6 +235,19 @@ export const ProjectCard: React.FC<ProjectCardProps> = ({
|
||||
return new Date(a.dueAt || 0).getTime() - new Date(b.dueAt || 0).getTime();
|
||||
});
|
||||
|
||||
// Requirement #5: Milestone and Project Late / At Risk calculations
|
||||
const nowTime = Date.now();
|
||||
const hasOverdueMilestone = effectiveMilestones.some(m => {
|
||||
const d = m.dueAt ? new Date(m.dueAt).getTime() : null;
|
||||
const fulfilled = Number(m.status) === ApprovalStatus.Approved;
|
||||
return d !== null && d < nowTime && !fulfilled;
|
||||
});
|
||||
const hasAtRiskMilestone = !hasOverdueMilestone && effectiveMilestones.some(m => {
|
||||
const d = m.dueAt ? new Date(m.dueAt).getTime() : null;
|
||||
const fulfilled = Number(m.status) === ApprovalStatus.Approved;
|
||||
return d !== null && d >= nowTime && (d - nowTime <= 3 * 24 * 60 * 60 * 1000) && !fulfilled;
|
||||
});
|
||||
|
||||
const getEvidenceForActivity = (activityId: string | number): Evidence[] => {
|
||||
const targetNum = toIntegerId(activityId);
|
||||
return effectiveEvidence
|
||||
|
||||
Reference in New Issue
Block a user