feat: prominent ML shipping config error message + skip-validation checkbox
- Add skip-validation checkbox for accounts where ML validation fails due to config - Detect 'User has not mode' errors and show detailed actionable help box - Include direct links to ML seller config and support
This commit is contained in:
@@ -1068,7 +1068,20 @@
|
|||||||
var success = (data.success || []).length;
|
var success = (data.success || []).length;
|
||||||
var failedList = data.failed || [];
|
var failedList = data.failed || [];
|
||||||
var failed = failedList.length;
|
var failed = failedList.length;
|
||||||
|
var hasModeError = failedList.some(function(f) { return (f.error || '').toLowerCase().indexOf('user has not mode') !== -1; });
|
||||||
var html = '<div style="margin-bottom:var(--space-2);"><span style="color:var(--color-success);">✅ ' + success + ' publicado(s)</span> · <span style="color:var(--color-error);">❌ ' + failed + ' fallo(s)</span></div>';
|
var html = '<div style="margin-bottom:var(--space-2);"><span style="color:var(--color-success);">✅ ' + success + ' publicado(s)</span> · <span style="color:var(--color-error);">❌ ' + failed + ' fallo(s)</span></div>';
|
||||||
|
if (hasModeError) {
|
||||||
|
html += '<div style="background:var(--color-surface-2);border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-2) 0;font-size:var(--text-caption);color:var(--color-text-primary);">' +
|
||||||
|
'<strong>⚠️ Tu cuenta de MercadoLibre no tiene modos de envío configurados.</strong><br>' +
|
||||||
|
'Esto es un requisito de MercadoLibre, no de Nexus.<br>' +
|
||||||
|
'Pasos para solucionarlo:<br>' +
|
||||||
|
'1. Entrá a <a href="https://www.mercadolibre.com.mx" target="_blank" style="color:var(--color-primary);text-decoration:underline;">mercadolibre.com.mx</a> con la cuenta de vendedor<br>' +
|
||||||
|
'2. Andá a <strong>Vender > Configuración de envíos</strong><br>' +
|
||||||
|
'3. Completá tu dirección de retiro y activá al menos un método de envío<br>' +
|
||||||
|
'4. Si no te aparece la opción, contactá a <a href="https://www.mercadolibre.com.mx/ayuda" target="_blank" style="color:var(--color-primary);text-decoration:underline;">soporte de MercadoLibre</a><br>' +
|
||||||
|
'<em>Nota: Algunas cuentas nuevas necesitan verificar identidad antes de poder configurar envíos.</em>' +
|
||||||
|
'</div>';
|
||||||
|
}
|
||||||
if (failedList.length) {
|
if (failedList.length) {
|
||||||
html += '<ul style="margin:0;padding-left:var(--space-4);font-size:var(--text-caption);color:var(--color-text-secondary);">';
|
html += '<ul style="margin:0;padding-left:var(--space-4);font-size:var(--text-caption);color:var(--color-text-secondary);">';
|
||||||
failedList.forEach(function(f) {
|
failedList.forEach(function(f) {
|
||||||
|
|||||||
@@ -882,6 +882,10 @@
|
|||||||
<label>Costo de Envío (MXN)</label>
|
<label>Costo de Envío (MXN)</label>
|
||||||
<input type="number" id="meliShippingCost" value="150" min="0" step="1" />
|
<input type="number" id="meliShippingCost" value="150" min="0" step="1" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="inv-field" style="display:flex;align-items:center;gap:8px;margin-top:var(--space-2);">
|
||||||
|
<input type="checkbox" id="meliSkipValidate" style="width:auto;height:auto;" />
|
||||||
|
<label for="meliSkipValidate" style="margin:0;font-size:var(--text-caption);color:var(--color-text-muted);text-transform:none;">Saltear validación y publicar directamente (si la validación falla por config de cuenta)</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Dynamic required attributes section -->
|
<!-- Dynamic required attributes section -->
|
||||||
@@ -914,7 +918,7 @@
|
|||||||
<script src="/pos/static/js/pos-utils.js" defer></script>
|
<script src="/pos/static/js/pos-utils.js" defer></script>
|
||||||
<script src="/pos/static/js/sidebar.js" defer></script>
|
<script src="/pos/static/js/sidebar.js" defer></script>
|
||||||
<script src="/pos/static/js/virtual-scroll.js?v=2" defer></script>
|
<script src="/pos/static/js/virtual-scroll.js?v=2" defer></script>
|
||||||
<script src="/pos/static/js/inventory.js?v=14" defer></script>
|
<script src="/pos/static/js/inventory.js?v=15" defer></script>
|
||||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user