<?php
session_start();
// Verificar si el usuario está logueado y tiene los roles permitidos
if (!isset($_SESSION['usuario_id']) || 
    empty($_SESSION['usuario_id']) || 
    !in_array($_SESSION['rol'], ['admin', 'registrador_de_productos'])) {
    header('Location: ../login.php');
    exit;
}

require_once '../includes/config.php';
require_once '../includes/db.php';
//require_once '../includes/theme_only.php';

$db = new Database();
$mensaje = '';
$proveedor = null;

// Verificar si se proporcionó un ID
if (!isset($_GET['id'])) {
    $mensaje = '<div class="alert alert-danger">ID de proveedor no proporcionado</div>';
} else {
    try {
        $proveedor = $db->query("SELECT * FROM proveedores WHERE id = ?", [$_GET['id']])->fetch();
        if (!$proveedor) {
            $mensaje = '<div class="alert alert-danger">Proveedor no encontrado</div>';
        }
    } catch(PDOException $e) {
        $mensaje = '<div class="alert alert-danger">Error al obtener el proveedor: ' . $e->getMessage() . '</div>';
    }
}

// Procesar formulario
if ($_SERVER["REQUEST_METHOD"] == "POST" && $proveedor) {
    $id = $_POST['id'];
    $nombre = trim($_POST['nombre']);
    $telefono = trim($_POST['telefono'] ?? '');
    $email = trim($_POST['email'] ?? '');
    $direccion = trim($_POST['direccion'] ?? '');
    $ruc = trim($_POST['ruc'] ?? '');
    
    try {
        $stmt = $db->query(
            "UPDATE proveedores SET nombre = ?, telefono = ?, email = ?, direccion = ?, ruc = ? WHERE id = ?",
            [$nombre, $telefono, $email, $direccion, $ruc, $id]
        );
        
        $mensaje = '<div class="alert alert-success">Proveedor actualizado exitosamente</div>';
        $proveedor = [
            'id' => $id,
            'nombre' => $nombre,
            'telefono' => $telefono,
            'email' => $email,
            'direccion' => $direccion,
            'ruc' => $ruc
        ];
    } catch(PDOException $e) {
        $mensaje = '<div class="alert alert-danger">Error al actualizar: ' . $e->getMessage() . '</div>';
    }
}

// Obtener configuración
try {
    $config = $db->query("SELECT color_principal, color_secundario, favicon FROM configuracion LIMIT 1")->fetch();
    $colorPrincipal = $config['color_principal'] ?? '#007bff';
    $colorSecundario = $config['color_secundario'] ?? '#6c757d';
    $favicon = $config['favicon'] ?? '';
} catch(PDOException $e) {
    $colorPrincipal = '#007bff';
    $colorSecundario = '#6c757d';
    $favicon = '';
}
//echo getThemeCSS();
require_once '../includes/header.php';
?>
<!DOCTYPE html>
<html>
<head>
<?php
    // Modo oscuro
    require_once '../includes/dark_mode.php';
    ?>
    <meta name="color-scheme" content="light dark">
    <?php echo getDarkModeStyles(); ?>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Editar Proveedor</title>
    <?php if (!empty($favicon)): ?>
    <link rel="shortcut icon" href="<?php echo SITE_URL . '/uploads/config/' . $favicon; ?>" type="image/x-icon">
    <?php endif; ?>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <style>
        .titulo-principal {
            color: <?php echo $colorPrincipal; ?>;
        }
        .btn-custom-primary {
            background-color: <?php echo $colorPrincipal; ?>;
            border-color: <?php echo $colorPrincipal; ?>;
            color: white;
        }
        .btn-custom-secondary {
            background-color: <?php echo $colorSecundario; ?>;
            border-color: <?php echo $colorSecundario; ?>;
            color: white;
        }
        
        .form-control:focus {
            border-color: <?php echo $colorPrincipal; ?>;
            box-shadow: 0 0 0 0.2rem rgba(<?php
                $hex = substr($colorPrincipal, 1);
                $r = hexdec(substr($hex, 0, 2));
                $g = hexdec(substr($hex, 2, 2));
                $b = hexdec(substr($hex, 4, 2));
                echo "$r, $g, $b, 0.25";
            ?>);
        }

        .btn-custom-primary:hover, .btn-custom-secondary:hover {
            filter: brightness(90%);
            color: white;
        }
        .btn-container {
            display: flex;
            gap: 1rem;
        }

        .btn-custom-primary, .btn-custom-secondary {
            padding: 8px 20px;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.3s ease;
        }

        .btn-custom-primary svg, .btn-custom-secondary svg {
            width: 18px;
            height: 18px;
        }

        @media (max-width: 768px) {
            .container { padding: 15px; }
            .btn {
                width: 100%;
                margin-bottom: 10px;
                padding: 10px;
                font-size: 16px;
            }
            .form-control { font-size: 16px; }
            .btn-container {
                flex-direction: column;
                gap: 0.75rem;
                margin-bottom: 2rem;
            }

            .btn-custom-primary, .btn-custom-secondary {
                width: 100%;
                justify-content: center;
                padding: 10px;
                font-size: 16px;
            }
        }
    </style>
</head>
<body>
    <div class="container mt-5">
        <h2 class="titulo-principal mb-4">Editar Proveedor</h2>
        
        <?php echo $mensaje; ?>
        
        <?php if ($proveedor): ?>
        <form method="POST" action="">
            <input type="hidden" name="id" value="<?php echo htmlspecialchars($proveedor['id']); ?>">
            
            <div class="form-group mb-3">
                <label>Nombre:</label>
                <input type="text" name="nombre" required class="form-control" 
                       value="<?php echo htmlspecialchars($proveedor['nombre']); ?>">
            </div>

            <div class="form-group mb-3">
                <label>Teléfono:</label>
                <input type="text" name="telefono" class="form-control"
                       value="<?php echo htmlspecialchars($proveedor['telefono']); ?>">
            </div>

            <div class="form-group mb-3">
                <label>Email:</label>
                <input type="email" name="email" class="form-control"
                       value="<?php echo htmlspecialchars($proveedor['email']); ?>">
            </div>

            <div class="form-group mb-3">
                <label>Dirección:</label>
                <textarea name="direccion" class="form-control"><?php echo htmlspecialchars($proveedor['direccion']); ?></textarea>
            </div>

            <div class="form-group mb-4">
                <label>RUC:</label>
                <input type="text" name="ruc" class="form-control"
                       value="<?php echo htmlspecialchars($proveedor['ruc']); ?>">
            </div>

            <div class="btn-container">
                <button type="submit" class="btn btn-custom-primary">
                    <?php echo file_get_contents('icons/check-circle.svg'); ?> Guardar
                </button>
                <a href="proveedores.php" class="btn btn-custom-secondary">
                    <?php echo file_get_contents('icons/arrow-left.svg'); ?> Volver
                </a>
            </div>
        </form>
        <?php endif; ?>
    </div>
</body>
</html>
