Esta guía te ayudará a probar exhaustivamente la responsividad móvil profesional implementada en el sistema GameControl.
Móvil Pequeño: 320px × 568px (iPhone 5/SE)
Móvil Estándar: 375px × 667px (iPhone 8)
Móvil Grande: 414px × 896px (iPhone 11)
Tablet Peque: 768px × 1024px (iPad)
Tablet Grande: 1024px × 1366px (iPad Pro)
// Test en consola móvil
console.log('Testing Dashboard Mobile...');
// 1. Verificar métricas responsive
const cards = document.querySelectorAll('.dashboard-card');
cards.forEach((card, i) => {
const rect = card.getBoundingClientRect();
console.log(`Card ${i}: ${rect.width}px wide`);
});
// 2. Test gestos en gráficos
const charts = document.querySelectorAll('canvas');
console.log(`Charts found: ${charts.length}`);
// 3. Verificar viewport
console.log(`Viewport: ${window.innerWidth}x${window.innerHeight}`);
// Test táctil en cards de salas
document.addEventListener('mobileTap', (e) => {
if (e.target.closest('.sala-card')) {
console.log('✅ Sala card tap detected');
}
});
// Test long press en salas
document.addEventListener('mobileLongPress', (e) => {
if (e.target.closest('.sala-card')) {
console.log('✅ Sala context menu triggered');
}
});
// Test swipe en modales
document.addEventListener('mobileSwipe', (e) => {
if (e.detail.direction === 'down' && e.target.closest('.modal')) {
console.log('✅ Modal swipe down to close');
}
});
// Test formulario de ventas móvil
const ventasForm = document.querySelector('#ventasForm');
if (window.mobileFormsPro) {
const isValid = window.mobileFormsPro.validateForm(ventasForm);
console.log(`Form validation: ${isValid ? 'PASS' : 'FAIL'}`);
}
// Test teclado numérico en precios
const precioInputs = document.querySelectorAll('input[name*="precio"]');
precioInputs.forEach(input => {
console.log(`Input ${input.name}: inputmode=${input.getAttribute('inputmode')}`);
});
// En consola del navegador móvil
localStorage.setItem('mobile_debug', 'true');
location.reload();
// Verificar carga de módulos
console.log('Mobile Nav Pro:', typeof window.mobileNavPro);
console.log('Mobile Forms Pro:', typeof window.mobileFormsPro);
console.log('Mobile Touch Pro:', typeof window.mobileTouchPro);
// Estado detallado
if (window.mobileNavPro) {
console.log('Nav State:', window.mobileNavPro.getState());
}
if (window.mobileTouchPro) {
console.log('Touch State:', window.mobileTouchPro.getGestureState());
}
// Verificar detección
console.log('Mobile Detection:', {
isMobile: window.isMobileDevice?.() || false,
isTouch: window.isTouchDevice?.() || false,
userAgent: navigator.userAgent,
innerWidth: window.innerWidth,
touchPoints: navigator.maxTouchPoints
});
// Debug navegación
if (window.mobileNavPro) {
window.mobileNavPro.open();
} else {
console.error('Mobile Nav Pro not loaded');
}
// Verificar viewport
const viewport = document.querySelector('meta[name=viewport]');
console.log('Viewport:', viewport?.getAttribute('content'));
// Test detección táctil
console.log('Touch support:', 'ontouchstart' in window);
console.log('Touch points:', navigator.maxTouchPoints);
// Verificar inputmode
const inputs = document.querySelectorAll('input');
inputs.forEach(input => {
console.log(`${input.name}: ${input.getAttribute('inputmode')}`);
});
## Mobile Testing Report - [Fecha]
### Device: [Modelo/Browser]
### Resolution: [WIDTHxHEIGHT]
### OS: [iOS/Android Version]
#### ✅ PASSED
- [ ] Navigation gestures
- [ ] Form interactions
- [ ] Touch feedback
- [ ] Performance
#### ❌ FAILED
- [ ] Issue description
- [ ] Steps to reproduce
- [ ] Expected vs actual behavior
#### 📸 Screenshots
[Adjuntar capturas de pantalla de problemas]
#### 🔍 Console Logs
[Incluir logs relevantes]
Esta guía asegura que el sistema GameControl funcione de manera profesional en dispositivos móviles, proporcionando una experiencia de usuario excepcional con:
¡El sistema está ahora preparado para el futuro móvil! 🚀📱