<?php $r="../";
require_once($r."inc/funciones.php");
validNotSession($r);
$titlepage = "Mis Pedidos";
$spe=$_SESSION['perfil'];
$mysqli = connectDB($r);
roleaccess(1470);
$actionexcel = viewroleaccess(1485);
$iduser=$_SESSION['userid'];
$pedidosweb = $mysqli->query("SELECT * FROM `pagina_compras_mails`  WHERE `estado` = 'Por pedir'  ORDER BY `id` DESC");
?>

  <?php include $r."inc/head.php"; ?>
  
 
<body class="fixed-nav sidenav-toggled sticky-footer bg-dark" id="page-top">
  <?php include $r."inc/nav.php"; ?>
  <div class="content-wrapper">
    <div class="container-fluid">
      <div class="card mb-3">
        <div class="card-header">
          <i class="fa fa-table"></i> MIS PEDIDOS <a class="btn btn-primary float-right text-white m-1" onclick="location.reload();">Refrescar pagina</a><a class="btn btn-primary float-right text-white m-1" onclick="solicitarYGuardarSuscripcion()">Inscribir notificación WOMPI</a></div>
        <div class="card-body">
          <div class="table-responsive">
            <table class="table table-bordered table-striped" id="dataTable" width="100%" cellspacing="0">
              <thead>
                <tr>
                  <th>Correo</th>
                  <th>Fecha</th>
                  <th>Tipo</th>
                  <th>Pago</th>
                  <th>Estado</th>
                  <th>pedido</th>
                </tr>
              </thead>
              <tfoot>
                <tr>
                  <th>Correo</th>
                  <th>Fecha</th>
                  <th>Tipo</th>
                  <th>pago</th>
                  <th>Estado</th>
                  <th>pedido</th>
                </tr>
              </tfoot>
              <tbody>
                    <?php
                    while($rowpedido = $pedidosweb->fetch_assoc()) {
                        $mensaje = $rowpedido['mail'];
                    ?>
                      <tr>
                        <td><? preg_match('/Correo:\s*([\w\.-]+@[\w\.-]+\.\w+)/', $mensaje, $matches); echo $matches[1]; ?></td>
                        <td><?php echo $rowpedido["fecha"]; ?></td>
                        <td><?php echo $rowpedido["tipo"]; ?></td>
                        <td><?php echo $rowpedido["estado_pago"]; ?></td>
                        <td><?php echo $rowpedido["estado"]; ?></td>
                        <td>
                            <a class="p-1 text-primary" href="#" onclick="cargarMensaje('<?php echo $rowpedido["id"]; ?>')" title="Ver Pedido"><i class="fa fa-eye  fa-lg"></i></a>
                            <?php if($rowpedido["estado"]==='Por pedir') {?><a class="p-1 text-success" href="#" onclick="procesarPedido(<?= $rowpedido["reference"]; ?>)" title="Procesar pedido"><i class="fa fa-check-circle fa-lg"></i></a><? } ?>
                            <?php if($rowpedido["estado"]==='Por pedir') {?><a class="p-1 text-danger" href="#" onclick="cancelarPedido(<?= $rowpedido["reference"]; ?>)" title="Cancelar pedido"><i class="fa fa-times-circle  fa-lg"></i></a><? } ?>
                        </td>
                        </tr>
                    <?php
                    }
                    ?>
              <tbody>
            </table>
          </div>
        </div>
      </div>
    </div>
  </div>
  
   <!-- Modal -->
    <div class="modal fade" id="mensajeModal" tabindex="-1" aria-labelledby="mensajeModalLabel" aria-hidden="true">
        <div class="modal-dialog" style="max-width:640px">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Mensaje</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Cerrar"></button>
                </div>
                <div class="modal-body" id="modalContenido">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
                </div>
            </div>
        </div>
    </div>
  <?php include $r."inc/foot.php"; ?>
    <script>
    // Clave pÃºblica VAPID generada desde PHP (formato Base64URL)
    const vapidPublicKey = 'BC4uAK9nHDxyQ8wF2Gzq8tlT2oEIldr2qFGycAc94TrU8AFZCh85kwSKVdxMN1BlmT2gCmiKOsEbnlpHU-x-snY';
    
    function urlBase64ToUint8Array(base64String) {
      const padding = '='.repeat((4 - base64String.length % 4) % 4);
      const base64 = (base64String + padding)
        .replace(/\-/g, '+')
        .replace(/_/g, '/');
    
      const rawData = atob(base64);
      return new Uint8Array([...rawData].map(char => char.charCodeAt(0)));
    }
    
     async function solicitarYGuardarSuscripcion() {
      try {
        const permiso = await Notification.requestPermission();
        if (permiso !== 'granted') {
          console.warn('ðŸš« Usuario no concediÃ³ permiso');
          return;
        }
    
        const reg = await navigator.serviceWorker.register('/sw.js');
        const suscripcion = await reg.pushManager.subscribe({
          userVisibleOnly: true,
          applicationServerKey: urlBase64ToUint8Array(vapidPublicKey)
        });
    
        console.log('âœ… SuscripciÃ³n creada:', suscripcion);
    
        // Enviar al backend
        await fetch('guardar_suscripcion.php', {
          method: 'POST',
          headers: { 'Content-Type': 'application/json' },
          body: JSON.stringify(suscripcion)
        });
    
        console.log('ðŸ’¾ SuscripciÃ³n guardada en el servidor');
      } catch (e) {
        console.error('ðŸ”¥ Error al suscribirse:', e);
      }
    }
    //solicitarYGuardarSuscripcion();
    
    if ('serviceWorker' in navigator) {
      navigator.serviceWorker
        .register('/sw.js?v=4.6', { scope: '/' })
        .then(reg => {
          console.log('SW propio registrado con scope', reg.scope);
          // ... aquí haces pushManager.subscribe() ...
        })
        .catch(console.error);
    }


    </script>


  <script>
    $(document).on('click', '.btn-opcion', function() {
      var tipo = $(this).data('tipo');
      var reference = $(this).data('reference');
      redirigirProcesamiento(tipo, reference);
    });
    
      $('#dataTable').DataTable( {
        "stateSave": true,
        "lengthMenu": [[25, 50, 100, 500, -1], [25, 50, 100, 500, "Todos" ]],
        <?php if($actionexcel){?>
        "dom": '<"top"lfB>rt<"bottom"ip><"clear">',
        "buttons": ['copy', 'csv', 'excel', 'pdf', 'print'],
        <? } ?>
    } );
    
    
    function procesarPedido(reference) {
      swal({
        title: "Procesar pedido",
        text: `
          <button class="btn btn-success btn-opcion" data-tipo="remision" data-reference="${reference}">
            <i class="fa fa-truck"></i> Remisión
          </button>
          <button class="btn btn-primary btn-opcion" data-tipo="proforma" data-reference="${reference}">
            <i class="fa fa-file-text"></i> Proforma
          </button>
          <button class="btn btn-secondary" onclick="swal.close()">
            <i class="fa fa-times"></i> Cancelar
          </button>
        `,
        html: true,
        showConfirmButton: false,
        showCancelButton: false,
        allowOutsideClick: true
      });
    }
    
    function redirigirProcesamiento(tipo, reference) {
      console.log(tipo);
      if (tipo === 'remision') {
        window.location.href = "/admin/cotizacion/nueva_remi_wo.php?ref=" + reference;
      } else if (tipo === 'proforma') {
        window.location.href = "/admin/cotizacion/nueva_electro_wo.php?ref=" + reference;
      }else{
         swal.close();
      }
    }
    
    
    function cancelarPedido(reference) {
      swal({
        title: "¿Está seguro?",
        text: "Esta acción cancelará el pedido.",
        type: "warning",
        showCancelButton: true,
        confirmButtonColor: "#d33",
        confirmButtonText: "Sí, cancelar",
        cancelButtonText: "No",
        closeOnConfirm: false
      }, function(isConfirm) {
        if (isConfirm) {
          // Acción de cancelación (redirige, AJAX o como prefieras)
          window.location.href = "cancelar_pedido.php?ref=" + reference;
        }
      });
    }
        function cargarMensaje(id) {
            fetch('acciones.php', {
                method: 'POST',
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
                body: 'id=' + id
            })
            .then(response => response.text())
            .then(data => {
                document.getElementById("modalContenido").innerHTML = data;
                var modal = new bootstrap.Modal(document.getElementById("mensajeModal"));
                modal.show();
            })
            .catch(error => console.error('Error:', error));
        }

  </script>
</body>
</html>    
    