import React from 'react'; import { ProjectState } from '../types'; import { Globe, Camera, CheckCircle2, Calendar, TrendingUp, FileText, MessageSquare } from 'lucide-react'; interface ClientPortalProps { project: ProjectState; } const ClientPortal: React.FC = ({ project }) => { const completedMilestones = project.milestones.filter(m => m.status === 'COMPLETED'); const progress = (completedMilestones.length / (project.milestones.length || 1)) * 100; return (
{/* Client Welcome Header */}
Client Transparency Portal

Welcome back to {project.name}

Track your project's progress, view site photos, and download official reports in real-time.

{/* Progress Overview */}

Overall Progress

{progress.toFixed(0)}%

Start Date

{project.startDate}

Est. Completion

{project.endDate}

Milestones

{completedMilestones.length}/{project.milestones.length}

Site Photos

{project.photoLogs?.length || 0}

{/* Quick Actions */}

Quick Actions

{/* Recent Site Photos */}

Recent Site Photos

{project.photoLogs?.slice(0, 4).map(photo => (
{photo.caption}

{photo.caption}

{photo.createdAt}

)) || (

No photos uploaded yet

)}
{/* Milestone Timeline */}

Project Milestones

{project.milestones.map((milestone, idx) => (

{milestone.title}

{milestone.date}

{milestone.description}

))}
); }; export default ClientPortal;