<?php
// editar_cadastro.php - VERSÃO COM MODAL PARA UPLOAD DE CURRÍCULO

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

require_once 'conexao.php';
require_once 'env.php';

if (!isset($_SESSION['id']) || ($_SESSION['role'] ?? '') !== 'Candidatos') {
    $_SESSION['mensagem_login'] = "Você precisa estar logado como candidato.";
    header("Location: login.php");
    exit();
}

$id_candidato = (int)$_SESSION['id'];

// Lógica para disparar o modal de sucesso (serve tanto para dados quanto para o currículo)
$mostrar_modal = isset($_SESSION['sucesso_edicao']);
if ($mostrar_modal) {
    unset($_SESSION['sucesso_edicao']);
}

if (empty($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

function getUltimoCurriculoCaminho(PDO $pdo_conn, $candidato_id) {
    try {
        $stmt = $pdo_conn->prepare("SELECT caminho_arquivo FROM CandidatoCurriculos WHERE candidato_id = ? ORDER BY data_upload DESC LIMIT 1");
        $stmt->execute([$candidato_id]);
        return $stmt->fetchColumn();
    } catch (PDOException $e) { return null; }
}

// Busca dados atuais do banco
try {
    $stmt_select = $pdo->prepare("SELECT * FROM Candidatos WHERE id = ?");
    $stmt_select->execute([$id_candidato]);
    $candidato = $stmt_select->fetch(PDO::FETCH_ASSOC);
    if (!$candidato) {
        header("Location: painel-de-gestao-candidato.php");
        exit();
    }
} catch (PDOException $e) { die("Erro de banco de dados."); }

$mensagem_pagina = $_SESSION['mensagem'] ?? null;
$tipo_mensagem_pagina = $_SESSION['tipo_mensagem'] ?? null;
$form_data_session = $_SESSION['form_data_edit_candidato'] ?? [];

unset($_SESSION['mensagem'], $_SESSION['tipo_mensagem'], $_SESSION['form_errors_edit_candidato'], $_SESSION['form_data_edit_candidato']);

function get_field_val($field, $db_data, $session_data) {
    if (isset($session_data[$field])) {
        return $session_data[$field];
    }
    return $db_data[$field] ?? '';
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Editar Cadastro - Selflix Vagas</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css" rel="stylesheet">
    <style>
        body { background-color: #f8f9fa; }
        .form-container { max-width: 900px; margin: 20px auto; background-color: #fff; padding: 30px; border-radius: 10px; box-shadow: 0 0 15px rgba(0,0,0,0.1); }
        h2 { text-align: center; margin-bottom: 30px; color: #12929e; }
        .btn-success, .btn-primary { background-color: #12929e; border-color: #12929e; }
        .btn-success:hover, .btn-primary:hover { background-color: #0e7a84; border-color: #0e7a84; }
        .current-file { display: flex; align-items: center; padding: 12px; background-color: #e9ecef; border: 1px solid #dee2e6; border-radius: .25rem; font-size: 0.95rem; }
        .curriculo-box { background-color: #f1f8f9; border: 1px dashed #12929e; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
    </style>
</head>
<body>
    <?php include 'menu.php'; ?><br><br>
    <div class="container form-container">
        <h2>Editar Meu Cadastro</h2>

        <?php if ($mensagem_pagina): ?>
            <div class="alert alert-<?= $tipo_mensagem_pagina ?> alert-dismissible fade show">
                <?= htmlspecialchars($mensagem_pagina) ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>

        <!-- FORMULÁRIO DE TEXTO -->
        <form action="processar_edicao.php" method="POST">
            <input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token']); ?>">
            <input type="hidden" name="id" value="<?= $id_candidato; ?>">

            <div class="row mb-3">
                <div class="col-md-6">
                    <label class="form-label">Nome Completo</label>
                    <input type="text" class="form-control" name="nome" value="<?= htmlspecialchars(get_field_val('nome', $candidato, $form_data_session)); ?>" required>
                </div>
                <div class="col-md-6">
                    <label class="form-label">E-mail</label>
                    <input type="email" class="form-control" name="email" value="<?= htmlspecialchars(get_field_val('email', $candidato, $form_data_session)); ?>" required>
                </div>
            </div>

            <div class="row mb-3">
                <div class="col-md-6">
                    <label class="form-label">Login</label>
                    <input type="text" class="form-control" name="login" value="<?= htmlspecialchars(get_field_val('login', $candidato, $form_data_session)); ?>" required>
                </div>
                <div class="col-md-6">
                    <label class="form-label">Nova Senha (opcional)</label>
                    <input type="password" class="form-control" name="senha">
                </div>
            </div>

            <div class="row mb-3">
                <div class="col-md-6">
                    <label class="form-label">Cidade</label>
                    <input type="text" class="form-control" name="cidade" value="<?= htmlspecialchars(get_field_val('cidade', $candidato, $form_data_session)); ?>" required>
                </div>
                <div class="col-md-6">
                    <label class="form-label">Estado</label>
                    <select name="estado" class="form-select" required>
                        <?php
                        $estados = ["AC","AL","AP","AM","BA","CE","DF","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO"];
                        $est_sel = get_field_val('estado', $candidato, $form_data_session);
                        foreach ($estados as $sigla) {
                            $selected = ($est_sel == $sigla) ? 'selected' : '';
                            echo "<option value='$sigla' $selected>$sigla</option>";
                        }
                        ?>
                    </select>
                </div>
            </div>

            <div class="row mb-3">
                <div class="col-md-6">
                    <label class="form-label">Celular</label>
                    <input type="text" class="form-control" name="celular" id="celular" value="<?= htmlspecialchars(get_field_val('celular', $candidato, $form_data_session)); ?>" required>
                </div>
                <div class="col-md-6">
                    <label class="form-label">Segmento de Interesse</label>
                    <select name="segmento" class="form-select" required>
                        <option value="">Selecione</option>
                        <?php
                        $segmentos = ["Administração", "Agronegócio", "Alimentos", "Comércio", "Educação", "Engenharia", "Logística", "Marketing", "Saúde", "Tecnologia", "Varejo", "Outros"];
                        $seg_sel = get_field_val('segmento', $candidato, $form_data_session);
                        foreach ($segmentos as $seg) {
                            $selected = ($seg_sel == $seg) ? 'selected' : '';
                            echo "<option value='$seg' $selected>$seg</option>";
                        }
                        ?>
                    </select>
                </div>
            </div>

            <div class="row mb-3">
                <div class="col-md-6">
                    <label class="form-label">Cargo Pretendido</label>
                    <input type="text" class="form-control" name="cargo_pretendido" value="<?= htmlspecialchars(get_field_val('cargo_pretendido', $candidato, $form_data_session)); ?>" required>
                </div>
                <div class="col-md-6">
                    <label class="form-label">Tipo de Contratação</label>
                    <select name="modelo_contratacao" class="form-select" required>
                        <?php
                        $tipos = ["CLT", "PJ", "Temporário", "Estágio", "Freelancer"];
                        $t_sel = get_field_val('modelo_contratacao', $candidato, $form_data_session);
                        foreach ($tipos as $t) {
                            $selected = ($t_sel == $t) ? 'selected' : '';
                            echo "<option value='$t' $selected>$t</option>";
                        }
                        ?>
                    </select>
                </div>
            </div>

            <div class="row mb-3">
                <div class="col-md-6">
                    <label class="form-label">Você é PCD?</label>
                    <select name="pcd" class="form-select" required>
                        <?php 
                        $p_sel = trim(get_field_val('pcd', $candidato, $form_data_session)); 
                        $is_sim = ($p_sel === 'Sim');
                        $is_nao = ($p_sel === 'Não' || $p_sel === 'Nao' || empty($p_sel));
                        ?>
                        <option value="Não" <?= $is_nao ? 'selected' : '' ?>>Não</option>
                        <option value="Sim" <?= $is_sim ? 'selected' : '' ?>>Sim</option>
                    </select>
                </div>
                <div class="col-md-6">
                    <label class="form-label">Pretensão Salarial</label>
                    <select name="salario_pretendido" class="form-select" required>
                        <?php
                        $faixas = ["1000"=>"Até R$ 1.000", "2000"=>"R$ 1.001 a R$ 2.000", "3000"=>"R$ 2.001 a R$ 3.000", "4000"=>"R$ 3.001 a R$ 4.000", "5000"=>"R$ 4.001 a R$ 5.000", "7000"=>"R$ 5.001 a R$ 7.000", "10000"=>"R$ 7.001 a R$ 10.000", "10001"=>"Acima de R$ 10.000", "A Combinar"=>"A Combinar"];
                        $s_sel = get_field_val('salario_pretendido', $candidato, $form_data_session);
                        foreach ($faixas as $v => $l) {
                            $selected = ($s_sel == $v) ? 'selected' : '';
                            echo "<option value='$v' $selected>$l</option>";
                        }
                        ?>
                    </select>
                </div>
            </div>

            <div class="mb-4">
                <label class="form-label">Link do Vídeo Selflix (opcional)</label>
                <input type="url" class="form-control" name="link_selflix" value="<?= htmlspecialchars(get_field_val('link_selflix', $candidato, $form_data_session)); ?>" placeholder="https://app.selflix.com.br/perfil/...">
            </div>
<!-- SEÇÃO DE CURRÍCULO INDEPENDENTE -->
        <div class="curriculo-box">
            <h5 class="mb-3 text-secondary"><i class="bi bi-file-earmark-person"></i> Meu Currículo</h5>
            <?php
            $curr_path = getUltimoCurriculoCaminho($pdo, $id_candidato);
            if ($curr_path): ?>
                <div class="current-file mb-3">
                    <i class="bi bi-file-earmark-pdf-fill text-danger me-2 fs-4"></i>
                    <span class="fw-bold me-2">Arquivo atual:</span>
                    <span class="text-truncate" style="max-width: 200px;"><?= htmlspecialchars(basename($curr_path)) ?></span>
                    <a href="<?= htmlspecialchars($curr_path) ?>" target="_blank" class="ms-auto btn btn-sm btn-outline-dark">Visualizar PDF</a>
                </div>
            <?php else: ?>
                <div class="alert alert-warning small py-2 mb-3">
                    <i class="bi bi-exclamation-triangle-fill me-1"></i> Nenhum currículo anexado ao perfil.
                </div>
            <?php endif; ?>
            
            <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#uploadCurriculoModal">
                <i class="bi bi-cloud-arrow-up"></i> <?= $curr_path ? 'Substituir Currículo' : 'Anexar Currículo' ?>
            </button>
        </div>
        <hr class="mb-4">
            <div class="mt-4 d-flex flex-column flex-sm-row justify-content-sm-between align-items-stretch align-items-sm-center">
                <div class="d-flex flex-column flex-sm-row mb-2 mb-sm-0">
                    <a href="painel-de-gestao-candidato.php" class="btn btn-secondary me-sm-2 mb-2 mb-sm-0">Voltar</a>
                    <button type="submit" class="btn btn-success mb-2 mb-sm-0">Salvar Dados</button>
                </div>
                <button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#confirmDeleteCandidatoModal">
                    <i class="bi bi-trash"></i> Excluir Perfil
                </button>
            </div>
        </form>
    </div>

    <!-- Modal Upload Currículo -->
    <div class="modal fade" id="uploadCurriculoModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered">
            <div class="modal-content">
                <form action="processar_curriculo.php" method="POST" enctype="multipart/form-data">
                    <input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token']); ?>">
                    <input type="hidden" name="id" value="<?= $id_candidato; ?>">
                    
                    <div class="modal-header text-white" style="background-color: #12929e;">
                        <h5 class="modal-title"><i class="bi bi-cloud-upload"></i> Enviar Arquivo PDF</h5>
                        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                    </div>
                    <div class="modal-body">
                        <p class="small text-muted">Selecione o seu currículo. Apenas arquivos em formato <strong>.pdf</strong> são permitidos e o arquivo anterior será substituído.</p>
                        <input type="file" class="form-control" name="curriculo" accept=".pdf" required>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                        <button type="submit" class="btn btn-primary">Fazer Upload</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <!-- Modal de Sucesso -->
    <div class="modal fade" id="successModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered">
            <div class="modal-content">
                <div class="modal-header bg-success text-white">
                    <h5 class="modal-title">Atualização Concluída</h5>
                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">A operação foi concluída com sucesso!</div>
                <div class="modal-footer"><button type="button" class="btn btn-success" data-bs-dismiss="modal">Fechar</button></div>
            </div>
        </div>
    </div>

    <!-- Modal de Exclusão -->
    <div class="modal fade" id="confirmDeleteCandidatoModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header bg-danger text-white">
                    <h5 class="modal-title">EXCLUSÃO PERMANENTE</h5>
                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <p>Você está prestes a excluir **permanentemente** o seu cadastro.</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                    <a href="perfil/excluir_perfil_candidato.php" class="btn btn-danger">Sim, Excluir Definitivamente</a>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
    <script>
        $(document).ready(function() { 
            $('#celular').mask('(00) 00000-0000'); 
            <?php if ($mostrar_modal): ?>
                new bootstrap.Modal(document.getElementById('successModal')).show();
            <?php endif; ?>
        });
    </script>
</body>
</html>