import { CheckCircle2, AlertTriangle, FolderGit2, Globe, ShieldCheck } from 'lucide-react'; import { resolveCanonicalCourseTitle } from '../utils/courseTitleResolver'; type ProjectProofCardProps = { project: { certificateId: string | null; skill: string; projectTitle: string | null; projectType: string | null; difficultyLevel: 'beginner' | 'intermediate' | 'advanced'; githubRepoUrl: string | null; liveDemoUrl: string | null; finalScore: number; commitCount: number; fileCount: number; passConfidence: number; trustSignals: { commitCount: number; validationPassed: boolean; readmeScore: number; projectType: string | null; }; validationSummary: { overallPassed: boolean; commitPassed: boolean; readmePassed: boolean; proofPassed: boolean; commitCount: number; fileCount: number; meaningfulFileCount: number; readmeRichness: number; suspiciousSignals: string[]; } | null; }; }; export function ProjectProofCard({ project }: ProjectProofCardProps) { const verificationUrl = project.certificateId ? `/verify/${encodeURIComponent(project.certificateId)}` : null; const displayTitle = project.projectTitle || resolveCanonicalCourseTitle(project.skill); return (
Level: {project.difficultyLevel} {resolveCanonicalCourseTitle(project.skill)} · {project.projectType || 'General'}

{displayTitle}

{project.trustSignals.validationPassed ? ( <> Validation Passed ) : ( <> Needs Review )}

Score

{project.finalScore}%

Commits

{project.commitCount}

Files

{project.fileCount}

Confidence

{project.passConfidence}%

README: {project.trustSignals.readmeScore}% Type: {project.trustSignals.projectType || 'Standard'} Verified Commits: {project.trustSignals.commitCount}
{project.validationSummary && project.validationSummary.suspiciousSignals.length > 0 && (

Validator Observations

)}
{project.githubRepoUrl && ( Repository )} {project.liveDemoUrl && ( Live Demo )} {verificationUrl && ( Verify Record )} Recruiter Ready
); }