✨ Nuevo:
- Botón "✏️ Editar" en tabla de segmentos del editor avanzado
- Modo de edición visual con título y botón dinámicos
- Campo de segmento se deshabilita durante edición (no se puede cambiar ID)
- CRUD completo: Create, Read, Update, Delete
🔧 Mejoras:
- Función addSegmentToTable() maneja creación y actualización
- 5 nuevas funciones helper para gestión de rangos:
* clearRangeContainers()
* addInitialRangeWithData() / addFinalRangeWithData()
* resetForm()
* editSegment()
- Scroll automático al inicio del formulario al editar
- Validación de duplicados solo en modo creación
- Mensajes diferenciados ("agregado" vs "actualizado")
🎨 Interfaz:
- Botón editar con estilo azul distintivo
- Indicadores visuales claros de modo edición vs agregar
- Formulario se pre-llena automáticamente con datos del segmento
Completa la funcionalidad CRUD del panel de administración de IPs.
- Corregida inicialización de editorData que impedía cargar rangos personalizados
- Corregidos errores de escape JS que rompían botones de la interfaz
- Corregida clasificación frontend que ignoraba rangos específicos por segmento
- Agregado indicador visual de modo y logs de depuración
- Eliminada columna redundante en tabla de resultados
Resuelve problemas donde los rangos admin personalizados eran ignorados.
- Agregar editor visual de configuración avanzada con protección por contraseña
- Implementar rangos de IPs administrativas personalizados por segmento
- Crear AdminRangeHelper.php para procesamiento de JSON por segmento
- Agregar botón ⚙️ de acceso rápido al editor
- Implementar modal de autenticación con validación de contraseña
- Agregar fallback inteligente a rangos globales para segmentos no configurados
Configuración avanzada:
- 3 campos nuevos en manifest.json (checkbox, JSON textarea, password)
- Editor visual completo con formularios dinámicos
- Agregar/eliminar segmentos y rangos en tiempo real
- Tabla de segmentos configurados con acciones
- Validación de cambios sin guardar
- Mensaje de éxito al guardar configuración
Backend:
- AdminRangeHelper.php: getSegmentLimits(), isAdminIpCustom(), validateConfigJson()
- IpSearchService.php: soporte para rangos personalizados con fallback
- Handler POST para guardar configuración JSON
Frontend:
- ~250 líneas de JavaScript para gestión del editor
- CSS responsive con soporte para temas claro/oscuro
- Interfaz amigable para usuarios no técnicos
Lógica de fallback:
- Checkbox desactivado → rangos globales para todos
- Checkbox activado + segmento en JSON → rangos del JSON
- Checkbox activado + segmento NO en JSON → fallback a rangos globales
Archivos creados:
- src/AdminRangeHelper.php
Archivos modificados:
- manifest.json: 3 campos nuevos, versión 1.5.0
- src/IpSearchService.php: lógica de fallback
- public.php: editor completo, modal, JavaScript
- CHANGELOG.md: entrada v1.5.0
- README.md: documentación de nuevos campos"