<?php
$title = 'Project Details';
$active = 'projects';
require_once __DIR__ . '/../layouts/header.php';
require_once __DIR__ . '/../layouts/sidebar.php';
?>

<div class="container-fluid">
    <!-- Page Header -->
    <div class="page-header">
        <div class="header-content">
            <h1>
                <i class="fas fa-eye"></i>
                Project Details
            </h1>
            <p><?php echo Security::escape($project['project_title']); ?> - <?php echo Security::escape($project['project_code']); ?></p>
        </div>
        <div class="header-actions">
            <a href="<?php echo BASE_URL; ?>/projects" class="btn btn-secondary">
                <i class="fas fa-arrow-left"></i> Back to Projects
            </a>
            <?php if (Auth::can('projects.edit')): ?>
            <a href="<?php echo BASE_URL; ?>/projects/edit/<?php echo $project['id']; ?>" class="btn btn-success">
                <i class="fas fa-edit"></i> Edit Project
            </a>
            <?php endif; ?>
            <button class="btn btn-outline" onclick="window.print()">
                <i class="fas fa-print"></i> Print
            </button>
        </div>
    </div>
    
    <!-- Success Message Display -->
<?php
$successMessage = Session::get('success', '');
if (!empty($successMessage)):
?>
<div class="alert alert-success alert-dismissible fade show" role="alert" id="successAlert">
    <i class="fas fa-check-circle"></i>
    <?php echo Security::escape($successMessage); ?>
    <button type="button" class="btn-close" onclick="this.parentElement.style.display='none'">&times;</button>
</div>
<?php 
    Session::remove('success');
endif; 
?>

<?php
$errorMessage = Session::get('error', '');
if (!empty($errorMessage)):
?>
<div class="alert alert-danger alert-dismissible fade show" role="alert" id="errorAlert">
    <i class="fas fa-exclamation-circle"></i>
    <?php echo Security::escape($errorMessage); ?>
    <button type="button" class="btn-close" onclick="this.parentElement.style.display='none'">&times;</button>
</div>
<?php 
    Session::remove('error');
endif; 
?>

    <!-- Status Alerts -->
    <?php
    $today = time();
    $completionDate = $project['expected_completion_date'] ? strtotime($project['expected_completion_date']) : null;
    $overdue = false;
    $daysToCompletion = null;
    
    if ($completionDate && !in_array($project['status'], ['Completed', 'Cancelled'])) {
        $daysToCompletion = round(($completionDate - $today) / (60 * 60 * 24));
        $overdue = $daysToCompletion < 0;
    }
    
    if ($overdue):
    ?>
    <div class="status-banner status-danger">
        <div class="status-icon">
            <i class="fas fa-exclamation-circle"></i>
        </div>
        <div class="status-content">
            <h3>Project Overdue</h3>
            <p>Project was due on <?php echo date('d/m/Y', $completionDate); ?> (<?php echo abs($daysToCompletion); ?> days overdue)</p>
        </div>
    </div>
    <?php elseif ($daysToCompletion && $daysToCompletion <= 30 && $daysToCompletion >= 0): ?>
    <div class="status-banner status-warning">
        <div class="status-icon">
            <i class="fas fa-clock"></i>
        </div>
        <div class="status-content">
            <h3>Project Due Soon</h3>
            <p>Project is due in <?php echo $daysToCompletion; ?> days (<?php echo date('d/m/Y', $completionDate); ?>)</p>
        </div>
    </div>
    <?php endif; ?>

    <!-- Project Information Grid -->
    <div class="project-details-grid">
        <!-- Basic Information Card -->
        <div class="detail-card">
            <div class="card-header">
                <h3><i class="fas fa-info-circle"></i> Basic Information</h3>
            </div>
            <div class="card-body">
                <div class="detail-row">
                    <div class="detail-label">Project Code:</div>
                    <div class="detail-value">
                        <span class="asset-code"><?php echo Security::escape($project['project_code']); ?></span>
                    </div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Project Title:</div>
                    <div class="detail-value"><?php echo Security::escape($project['project_title']); ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Project Type:</div>
                    <div class="detail-value">
                        <span class="badge badge-info"><?php echo Security::escape($project['project_type']); ?></span>
                    </div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Status:</div>
                    <div class="detail-value">
                        <?php 
                        $statusClass = '';
                        if ($project['status'] == 'Planning') $statusClass = 'status-info';
                        elseif ($project['status'] == 'In Progress') $statusClass = 'status-warning';
                        elseif ($project['status'] == 'Abandoned') $statusClass = 'status-abandoned';
                        elseif ($project['status'] == 'Completed') $statusClass = 'status-success';
                        elseif ($project['status'] == 'Terminated') $statusClass = 'status-terminated';
                        ?>
                        <span class="status-badge <?php echo $statusClass; ?>">
                            <?php echo Security::escape($project['status']); ?>
                        </span>
                    </div>
                </div>
            </div>
        </div>

        <!-- Location Card -->
        <div class="detail-card">
            <div class="card-header">
                <h3><i class="fas fa-map-marker-alt"></i> Location</h3>
            </div>
            <div class="card-body">
                <div class="detail-row">
                    <div class="detail-label">State:</div>
                    <div class="detail-value"><?php echo Security::escape($project['state_name']); ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">LGA:</div>
                    <div class="detail-value"><?php echo Security::escape($project['lga_name']); ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Zone:</div>
                    <div class="detail-value"><?php echo Security::escape($project['zone_name']); ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Command:</div>
                    <div class="detail-value"><?php echo Security::escape($project['command_name']); ?></div>
                </div>
            </div>
        </div>

        <!-- Contract Details Card -->
        <div class="detail-card">
            <div class="card-header">
                <h3><i class="fas fa-file-contract"></i> Contract Details</h3>
            </div>
            <div class="card-body">
                <div class="detail-row">
                    <div class="detail-label">Contractor:</div>
                    <div class="detail-value"><?php echo Security::escape($project['contractor'] ?? 'N/A'); ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Contract Sum:</div>
                    <div class="detail-value highlight">₦<?php echo number_format($project['contract_sum'] ?? 0, 2); ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Date Awarded:</div>
                    <div class="detail-value"><?php echo $project['date_awarded'] ? date('d/m/Y', strtotime($project['date_awarded'])) : 'N/A'; ?></div>
                </div>
                <div class="detail-row">
                    <div class="detail-label">Completion Date:</div>
                    <div class="detail-value">
                        <?php echo $project['expected_completion_date'] ? date('d/m/Y', strtotime($project['expected_completion_date'])) : 'N/A'; ?>
                        <?php if ($overdue): ?>
                            <span class="days-badge overdue">Overdue</span>
                        <?php elseif ($daysToCompletion && $daysToCompletion <= 30): ?>
                            <span class="days-badge warning"><?php echo $daysToCompletion; ?> days left</span>
                        <?php endif; ?>
                    </div>
                </div>
            </div>
        </div>

        <!-- Funding Card -->
        <div class="detail-card">
            <div class="card-header">
                <h3><i class="fas fa-coins"></i> Funding</h3>
            </div>
            <div class="card-body">
                <div class="detail-row">
                    <div class="detail-label">Source:</div>
                    <div class="detail-value"><?php echo Security::escape($project['source_funding']); ?></div>
                </div>
                <?php if ($project['supervising_officer']): ?>
                <div class="detail-row">
                    <div class="detail-label">Supervising Officer:</div>
                    <div class="detail-value"><?php echo Security::escape($project['supervising_officer']); ?></div>
                </div>
                <?php endif; ?>
            </div>
        </div>

        <!-- Progress Card -->
        <div class="detail-card full-width">
            <div class="card-header">
                <h3><i class="fas fa-chart-line"></i> Progress Tracking</h3>
            </div>
            <div class="card-body">
                <div class="progress-grid">
                    <div class="progress-item">
                        <div class="progress-label">Physical Progress</div>
                        <div class="progress-bar-container">
                            <div class="progress-bar physical" style="width: <?php echo $project['physical_progress']; ?>%;">
                                <span class="progress-value"><?php echo $project['physical_progress']; ?>%</span>
                            </div>
                        </div>
                    </div>
                    <div class="progress-item">
                        <div class="progress-label">Financial Progress</div>
                        <div class="progress-bar-container">
                            <div class="progress-bar financial" style="width: <?php echo $project['financial_progress']; ?>%;">
                                <span class="progress-value"><?php echo $project['financial_progress']; ?>%</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <?php if ($project['physical_progress'] != $project['financial_progress']): ?>
                <div class="progress-note <?php echo $project['physical_progress'] < $project['financial_progress'] ? 'warning' : 'info'; ?>">
                    <i class="fas fa-info-circle"></i>
                    <?php if ($project['physical_progress'] < $project['financial_progress']): ?>
                        Physical progress lags behind financial progress by <?php echo number_format($project['financial_progress'] - $project['physical_progress'], 2); ?>%
                    <?php else: ?>
                        Financial progress lags behind physical progress by <?php echo number_format($project['physical_progress'] - $project['financial_progress'], 2); ?>%
                    <?php endif; ?>
                </div>
                <?php endif; ?>
            </div>
        </div>

        <!-- Remarks Card -->
        <?php if (!empty($project['remarks'])): ?>
        <div class="detail-card full-width">
            <div class="card-header">
                <h3><i class="fas fa-sticky-note"></i> Remarks</h3>
            </div>
            <div class="card-body">
                <p class="remarks-text"><?php echo nl2br(Security::escape($project['remarks'])); ?></p>
            </div>
        </div>
        <?php endif; ?>

        <!-- Documents Card -->
        <div class="detail-card full-width">
            <div class="card-header">
                <h3><i class="fas fa-file-alt"></i> Attached Documents</h3>
            </div>
            <div class="card-body">
                <?php if (empty($documents)): ?>
                    <div class="empty-state">
                        <i class="fas fa-file"></i>
                        <p>No documents attached</p>
                    </div>
                <?php else: ?>
                    <div class="documents-grid">
                        <?php foreach ($documents as $doc): ?>
                        <div class="document-item">
                            <div class="document-icon">
                                <?php
                                $ext = pathinfo($doc['file_name'], PATHINFO_EXTENSION);
                                $icon = 'fa-file';
                                if (in_array($ext, ['pdf'])) $icon = 'fa-file-pdf';
                                elseif (in_array($ext, ['jpg', 'jpeg', 'png'])) $icon = 'fa-file-image';
                                elseif (in_array($ext, ['doc', 'docx'])) $icon = 'fa-file-word';
                                elseif (in_array($ext, ['xls', 'xlsx'])) $icon = 'fa-file-excel';
                                ?>
                                <i class="fas <?php echo $icon; ?>"></i>
                            </div>
                            <div class="document-info">
                                <h4><?php echo Security::escape($doc['file_name']); ?></h4>
                                <p>
                                    <span class="file-size"><?php echo round($doc['file_size'] / 1024, 2); ?> KB</span>
                                    <span class="upload-date">Uploaded: <?php echo date('d/m/Y', strtotime($doc['uploaded_at'])); ?></span>
                                </p>
                            </div>
                            <div class="document-actions">
                                <a href="<?php echo BASE_URL . '/' . $doc['file_path']; ?>" target="_blank" class="btn-icon" title="View">
                                    <i class="fas fa-eye"></i>
                                </a>
                                <a href="<?php echo BASE_URL . '/' . $doc['file_path']; ?>" download class="btn-icon" title="Download">
                                    <i class="fas fa-download"></i>
                                </a>
                            </div>
                        </div>
                        <?php endforeach; ?>
                    </div>
                <?php endif; ?>
            </div>
        </div>

        <!-- Metadata Card -->
        <div class="detail-card full-width">
            <div class="card-header">
                <h3><i class="fas fa-history"></i> Record Information</h3>
            </div>
            <div class="card-body">
                <div class="metadata-grid">
                    <div class="metadata-item">
                        <span class="metadata-label">Created By:</span>
                        <span class="metadata-value"><?php echo Security::escape($project['created_by_name'] ?? 'System'); ?></span>
                    </div>
                    <div class="metadata-item">
                        <span class="metadata-label">Created At:</span>
                        <span class="metadata-value"><?php echo date('d/m/Y H:i:s', strtotime($project['created_at'])); ?></span>
                    </div>
                    <div class="metadata-item">
                        <span class="metadata-label">Last Updated:</span>
                        <span class="metadata-value"><?php echo date('d/m/Y H:i:s', strtotime($project['updated_at'])); ?></span>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- Action Buttons -->
    <div class="action-buttons-group">
        <?php if (Auth::can('projects.edit')): ?>
        <a href="<?php echo BASE_URL; ?>/projects/edit/<?php echo $project['id']; ?>" class="btn btn-success">
            <i class="fas fa-edit"></i> Edit Project
        </a>
        <?php endif; ?>
        
        <?php if (Auth::can('projects.delete')): ?>
        <a href="<?php echo BASE_URL; ?>/projects/delete/<?php echo $project['id']; ?>" class="btn btn-danger" 
           onclick="return confirm('Are you sure you want to delete this project? This action cannot be undone.')">
            <i class="fas fa-trash"></i> Delete Project
        </a>
        <?php endif; ?>
        
        <a href="<?php echo BASE_URL; ?>/projects" class="btn btn-secondary">
            <i class="fas fa-arrow-left"></i> Back to Projects
        </a>
    </div>
</div>

<style>
.project-details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.detail-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    overflow: hidden;
}

.detail-card.full-width {
    grid-column: 1 / -1;
}

.card-header {
    padding: 15px 20px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    color: white;
}

.card-header h3 {
    margin: 0;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-body {
    padding: 20px;
}

.detail-row {
    display: flex;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 8px;
}

.detail-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.detail-label {
    flex: 0 0 120px;
    font-weight: 600;
    color: var(--text-secondary);
}

.detail-value {
    flex: 1;
    color: var(--text-primary);
    word-break: break-word;
}

.highlight {
    font-weight: 700;
    color: var(--success-color);
    font-size: 1.1rem;
}

.asset-code {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    color: var(--primary-color);
    background: var(--light-bg);
    padding: 4px 8px;
    border-radius: 4px;
}

/* Status Banner */
.status-banner {
    background: white;
    border-radius: 10px;
    padding: 20px 25px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    border-left: 6px solid;
}

.status-banner.status-success {
    border-left-color: var(--success-color);
}

.status-banner.status-warning {
    border-left-color: var(--warning-color);
}

.status-banner.status-danger {
    border-left-color: var(--danger-color);
}

.status-icon i {
    font-size: 2.5rem;
}

.status-success .status-icon i {
    color: var(--success-color);
}

.status-warning .status-icon i {
    color: var(--warning-color);
}

.status-danger .status-icon i {
    color: var(--danger-color);
}

.status-content h3 {
    margin: 0 0 5px 0;
    color: var(--text-primary);
}

.status-content p {
    margin: 0;
    color: var(--text-secondary);
}

/* Progress Bars */
.progress-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.progress-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.progress-label {
    width: 120px;
    font-weight: 600;
    color: var(--text-secondary);
}

.progress-bar-container {
    flex: 1;
    height: 30px;
    background: var(--light-bg);
    border-radius: 15px;
    position: relative;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    transition: width 0.3s ease;
}

.progress-bar.physical {
    background: linear-gradient(90deg, #2196f3, #64b5f6);
}

.progress-bar.financial {
    background: linear-gradient(90deg, #4caf50, #81c784);
}

.progress-value {
    text-shadow: 0 0 2px rgba(0,0,0,0.3);
}

.progress-note {
    margin-top: 15px;
    padding: 10px 15px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
}

.progress-note.warning {
    background: #fff3cd;
    color: #856404;
}

.progress-note.info {
    background: #d1ecf1;
    color: #0c5460;
}

/* Days badge */
.days-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-left: 8px;
}

.days-badge.warning {
    background: #fff3cd;
    color: #856404;
}

.days-badge.overdue {
    background: #f8d7da;
    color: #721c24;
}

/* Badge Styles */
.badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 500;
}

.badge-info {
    background: #e0f2f1;
    color: #00695c;
}

/* Status Badges */
.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

.status-info {
    background: #d1ecf1;
    color: #0c5460;
}

.status-warning {
    background: #fff3cd;
    color: #856404;
}

.status-secondary {
    background: #e2e3e5;
    color: #383d41;
}

.status-success {
    background: #d4edda;
    color: #155724;
}

.status-danger {
    background: #f8d7da;
    color: #721c24;
}

.status-abandoned {
    background: #f3e5f5;
    color: #7b1fa2;
}

.status-terminated {
    background: #ffebee;
    color: #c62828;
}

/* Documents Grid */
.documents-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 15px;
}

.document-item {
    display: flex;
    align-items: center;
    padding: 15px;
    background: var(--light-bg);
    border-radius: 8px;
    border: 1px solid var(--border-color);
    transition: all 0.3s;
}

.document-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.document-icon {
    margin-right: 15px;
    font-size: 2rem;
    color: var(--success-color);
}

.document-info {
    flex: 1;
}

.document-info h4 {
    margin: 0 0 5px 0;
    font-size: 0.95rem;
    color: var(--text-primary);
    word-break: break-word;
}

.document-info p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.file-size {
    margin-right: 10px;
}

.upload-date {
    opacity: 0.8;
}

.document-actions {
    display: flex;
    gap: 5px;
}

/* Metadata Grid */
.metadata-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.metadata-item {
    padding: 10px;
    background: var(--light-bg);
    border-radius: 6px;
}

.metadata-label {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 5px;
}

.metadata-value {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
}

/* Action Buttons */
.action-buttons-group {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
}

.empty-state i {
    font-size: 3rem;
    margin-bottom: 15px;
    opacity: 0.5;
}

.empty-state p {
    font-size: 1rem;
    margin: 0;
}

/* Alert Styles */
.alert {
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    animation: slideIn 0.3s ease;
}

.alert-success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.alert-danger {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.alert i {
    font-size: 1.2rem;
}

.btn-close {
    margin-left: auto;
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
}

.btn-close:hover {
    opacity: 1;
}

@keyframes slideIn {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 768px) {
    .project-details-grid {
        grid-template-columns: 1fr;
    }
    
    .detail-row {
        flex-direction: column;
    }
    
    .detail-label {
        margin-bottom: 5px;
    }
    
    .status-banner {
        flex-direction: column;
        text-align: center;
    }
    
    .progress-item {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .progress-label {
        width: auto;
    }
    
    .documents-grid {
        grid-template-columns: 1fr;
    }
    
    .metadata-grid {
        grid-template-columns: 1fr;
    }
    
    .action-buttons-group {
        flex-direction: column;
    }
    
    .action-buttons-group .btn {
        width: 100%;
    }
}

@media print {
    .header-actions,
    .action-buttons-group,
    .sidebar,
    footer,
    .status-banner {
        display: none !important;
    }
    
    .main-content {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 20px !important;
    }
    
    .detail-card {
        break-inside: avoid;
        box-shadow: none !important;
        border: 1px solid #ddd !important;
    }
    
    .card-header {
        background: #f8f9fa !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
</style>

<script>
// Auto-hide success/error messages after 5 seconds
document.addEventListener('DOMContentLoaded', function() {
    const successAlert = document.getElementById('successAlert');
    if (successAlert) {
        setTimeout(function() {
            successAlert.style.display = 'none';
        }, 5000);
    }
    
    const errorAlert = document.getElementById('errorAlert');
    if (errorAlert) {
        setTimeout(function() {
            errorAlert.style.display = 'none';
        }, 5000);
    }
});
</script>

<?php require_once __DIR__ . '/../layouts/footer.php'; ?>