<?php
$message = '';
$editProject = null;

if (isset($_GET['delete']) && is_numeric($_GET['delete'])) {
    try { $pdo->prepare("DELETE FROM " . DB_PREFIX . "projects WHERE id = ?")->execute([$_GET['delete']]); $message = ['type' => 'success', 'text' => 'Проект удален']; }
    catch (Exception $e) { $message = ['type' => 'error', 'text' => 'Ошибка']; }
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $id = $_POST['project_id'] ?? null;
    $platforms = isset($_POST['platforms']) ? json_encode($_POST['platforms']) : null;
    $data = ['client_id' => $_POST['client_id'] ?? null, 'name' => trim($_POST['name'] ?? ''), 'description' => trim($_POST['description'] ?? ''), 'platforms' => $platforms, 'status' => $_POST['status'] ?? 'active', 'budget' => $_POST['budget'] ?? 0, 'start_date' => $_POST['start_date'] ?: null, 'end_date' => $_POST['end_date'] ?: null];

    if (empty($data['name']) || empty($data['client_id'])) { $message = ['type' => 'error', 'text' => 'Укажите название и клиента']; }
    else {
        try {
            if ($id) { $pdo->prepare("UPDATE " . DB_PREFIX . "projects SET client_id=?, name=?, description=?, platforms=?, status=?, budget=?, start_date=?, end_date=? WHERE id=?")->execute([$data['client_id'], $data['name'], $data['description'], $data['platforms'], $data['status'], $data['budget'], $data['start_date'], $data['end_date'], $id]); $message = ['type' => 'success', 'text' => 'Проект обновлен']; }
            else { $pdo->prepare("INSERT INTO " . DB_PREFIX . "projects (client_id, name, description, platforms, status, budget, start_date, end_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?)")->execute([$data['client_id'], $data['name'], $data['description'], $data['platforms'], $data['status'], $data['budget'], $data['start_date'], $data['end_date']]); $message = ['type' => 'success', 'text' => 'Проект создан']; }
        } catch (Exception $e) { $message = ['type' => 'error', 'text' => 'Ошибка: ' . $e->getMessage()]; }
    }
}

if (isset($_GET['edit']) && is_numeric($_GET['edit'])) { $stmt = $pdo->prepare("SELECT * FROM " . DB_PREFIX . "projects WHERE id = ?"); $stmt->execute([$_GET['edit']]); $editProject = $stmt->fetch(); }

$stmt = $pdo->query("SELECT id, name FROM " . DB_PREFIX . "clients WHERE status = 'active' ORDER BY name");
$clients = $stmt->fetchAll();
$stmt = $pdo->query("SELECT p.*, c.name as client_name FROM " . DB_PREFIX . "projects p LEFT JOIN " . DB_PREFIX . "clients c ON p.client_id = c.id ORDER BY p.created_at DESC");
$projects = $stmt->fetchAll();
$platformsList = ['instagram', 'facebook', 'vk', 'telegram', 'tiktok', 'youtube', 'twitter', 'linkedin'];
?>

<?php if ($message): ?><div class="alert alert-<?php echo $message['type']; ?>"><?php echo $message['text']; ?></div><?php endif; ?>

<div class="card">
    <div class="card-header"><div class="card-title">Проекты</div><button class="btn btn-primary" onclick="openModal('projectModal')"><i class="fas fa-plus"></i> Новый проект</button></div>
    <div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px;">
        <?php foreach ($projects as $project):
            $projectPlatforms = json_decode($project['platforms'] ?? '[]', true) ?: [];
            $statusLabels = ['active' => 'Активен', 'paused' => 'Приостановлен', 'completed' => 'Завершен', 'cancelled' => 'Отменен'];
        ?>
        <div class="card" style="margin-bottom: 0;">
            <div style="display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px;">
                <div><div style="font-weight: 600; font-size: 16px; margin-bottom: 4px;"><?php echo sanitize($project['name']); ?></div><div style="font-size: 13px; color: var(--gray);"><i class="fas fa-building"></i> <?php echo sanitize($project['client_name'] ?: '—'); ?></div></div>
                <span class="badge-status <?php echo $project['status']; ?>"><?php echo $statusLabels[$project['status']] ?? $project['status']; ?></span>
            </div>
            <?php if ($project['description']): ?><div style="font-size: 13px; color: var(--gray); margin-bottom: 12px; line-height: 1.5;"><?php echo sanitize($project['description']); ?></div><?php endif; ?>
            <div style="display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px;">
                <?php foreach ($projectPlatforms as $plat): ?><span class="platform-icon platform-<?php echo $plat; ?>"><i class="fab fa-<?php echo $plat; ?>"></i></span><?php endforeach; ?>
            </div>
            <div style="display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid var(--border);">
                <div style="font-size: 13px; color: var(--gray);"><?php if ($project['budget'] > 0): ?><i class="fas fa-ruble-sign"></i> <?php echo number_format($project['budget'], 0, ',', ' '); ?><?php endif; ?></div>
                <div style="display: flex; gap: 5px;"><a href="?page=projects&edit=<?php echo $project['id']; ?>" class="btn btn-sm btn-secondary"><i class="fas fa-edit"></i></a><a href="?page=projects&delete=<?php echo $project['id']; ?>" class="btn btn-sm btn-danger" onclick="return confirm('Удалить проект?')"><i class="fas fa-trash"></i></a></div>
            </div>
        </div>
        <?php endforeach; ?>
    </div>
    <?php if (empty($projects)): ?><div style="text-align: center; padding: 60px; color: var(--gray);"><i class="fas fa-briefcase" style="font-size: 48px; margin-bottom: 15px; opacity: 0.3;"></i><p>Проектов пока нет</p><button class="btn btn-primary" onclick="openModal('projectModal')" style="margin-top: 15px;"><i class="fas fa-plus"></i> Создать проект</button></div><?php endif; ?>
</div>

<div class="modal-overlay" id="projectModal">
    <div class="modal">
        <div class="modal-header"><div class="modal-title"><?php echo $editProject ? 'Редактировать проект' : 'Новый проект'; ?></div><button class="modal-close" onclick="closeModal('projectModal')">&times;</button></div>
        <form method="POST">
            <div class="modal-body">
                <input type="hidden" name="project_id" value="<?php echo $editProject['id'] ?? ''; ?>">
                <div class="form-group"><label>Клиент *</label><select name="client_id" required><option value="">Выберите клиента</option><?php foreach ($clients as $client): ?><option value="<?php echo $client['id']; ?>" <?php echo ($editProject['client_id'] ?? '') == $client['id'] ? 'selected' : ''; ?>><?php echo sanitize($client['name']); ?></option><?php endforeach; ?></select></div>
                <div class="form-group"><label>Название проекта *</label><input type="text" name="name" value="<?php echo sanitize($editProject['name'] ?? ''); ?>" required></div>
                <div class="form-group"><label>Описание</label><textarea name="description" rows="3"><?php echo sanitize($editProject['description'] ?? ''); ?></textarea></div>
                <div class="form-group"><label>Платформы</label><div style="display: flex; gap: 10px; flex-wrap: wrap;"><?php $selectedPlatforms = []; if ($editProject && $editProject['platforms']) { $selectedPlatforms = json_decode($editProject['platforms'], true) ?: []; } foreach ($platformsList as $plat): ?><label style="display: flex; align-items: center; gap: 6px; cursor: pointer; padding: 6px 12px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px;"><input type="checkbox" name="platforms[]" value="<?php echo $plat; ?>" <?php echo in_array($plat, $selectedPlatforms) ? 'checked' : ''; ?>><i class="fab fa-<?php echo $plat; ?>"></i> <?php echo ucfirst($plat); ?></label><?php endforeach; ?></div></div>
                <div class="form-row"><div class="form-group"><label>Бюджет</label><input type="number" name="budget" step="0.01" value="<?php echo $editProject['budget'] ?? 0; ?>"></div><div class="form-group"><label>Статус</label><select name="status"><option value="active" <?php echo ($editProject['status'] ?? 'active') === 'active' ? 'selected' : ''; ?>>Активен</option><option value="paused" <?php echo ($editProject['status'] ?? '') === 'paused' ? 'selected' : ''; ?>>Приостановлен</option><option value="completed" <?php echo ($editProject['status'] ?? '') === 'completed' ? 'selected' : ''; ?>>Завершен</option><option value="cancelled" <?php echo ($editProject['status'] ?? '') === 'cancelled' ? 'selected' : ''; ?>>Отменен</option></select></div></div>
                <div class="form-row"><div class="form-group"><label>Дата начала</label><input type="date" name="start_date" value="<?php echo $editProject['start_date'] ?? ''; ?>"></div><div class="form-group"><label>Дата окончания</label><input type="date" name="end_date" value="<?php echo $editProject['end_date'] ?? ''; ?>"></div></div>
            </div>
            <div class="modal-footer"><button type="button" class="btn btn-secondary" onclick="closeModal('projectModal')">Отмена</button><button type="submit" class="btn btn-primary"><?php echo $editProject ? 'Сохранить' : 'Создать'; ?></button></div>
        </form>
    </div>
</div>

<?php if ($editProject): ?><script>openModal('projectModal');</script><?php endif; ?>
