My-Weekly-ToDo-List/comprehensive-debug.js
mARTin d92a8c7210 feat: add task actions (notes/delete) and refine animation logic
- Added 'onDelete' and 'onNotes' support to TaskItem.
- Implemented hover actions (Delete and Notes icons) for tasks.
- Added Notes Modal for editing task markdown content.
- Simplified navigation animation to remove blank flash (single-phase slide-in).
- Fixed syntax error in updateTask function.
- Updated styles for modal and task actions.
2026-02-01 12:25:53 +01:00

152 lines
5.3 KiB
JavaScript

/**
* Comprehensive Signup Debugging Script
*
* This script will help identify exactly what happens when you click signup
* by injecting detailed logging into the signup form processing.
*/
// First, let's check if we're on the right page
console.log('🔍 Debugging Signup Process');
console.log('Current URL:', window.location.href);
// Check if AuthForm component is loaded properly
const authFormExists = typeof window.AuthForm !== 'undefined';
console.log('AuthForm component available:', authFormExists);
// Inject detailed logging into the signup form submission
console.log('🔧 Setting up form interceptors...');
// Wait for DOM to be ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', setupFormMonitoring);
} else {
setupFormMonitoring();
}
function setupFormMonitoring() {
console.log('🎯 Monitoring form submissions...');
// Find all forms on the page
const forms = document.querySelectorAll('form');
console.log(`Found ${forms.length} form(s)`);
forms.forEach((form, index) => {
console.log(`Form ${index + 1}:`, {
action: form.action,
method: form.method,
id: form.id,
className: form.className
});
// Add detailed submit monitoring
form.addEventListener('submit', function(e) {
console.log('📋 FORM SUBMIT DETECTED');
console.log('Form element:', this);
console.log('Event:', e);
console.log('Preventing default to test');
// Prevent default to let us see what happens
e.preventDefault();
// Collect form data
const formData = new FormData(this);
const data = {};
for (let [key, value] of formData.entries()) {
data[key] = value;
}
console.log('Form data to be submitted:', data);
// Check if we have the correct form fields
const emailInput = this.querySelector('input[name="email"]');
const passwordInput = this.querySelector('input[name="password"]');
console.log('Email field:', emailInput ? 'FOUND' : 'MISSING');
console.log('Password field:', passwordInput ? 'FOUND' : 'MISSING');
if (emailInput && passwordInput) {
console.log('Field values:');
console.log('- Email:', emailInput.value);
console.log('- Password:', passwordInput.value ? '*'.repeat(passwordInput.value.length) : '');
// Try the fetch manually to see what happens
console.log('📡 Attempting manual fetch to /api/auth/signup');
const fetchPromise = fetch('/api/auth/signup', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: emailInput.value,
password: passwordInput.value
})
});
fetchPromise.then(response => {
console.log('Fetch response:', response);
return response.json().then(data => {
console.log('Response data:', data);
});
}).catch(error => {
console.error('Fetch error:', error);
});
}
}, true); // Use capture to intercept early
});
// Also monitor network requests
const originalFetch = window.fetch;
window.fetch = function(...args) {
console.log('📡 FETCH CALL:', {
url: args[0],
init: args[1]
});
return originalFetch.apply(this, args);
};
// Monitor for JavaScript errors
window.addEventListener('error', function(e) {
console.error('🚨 JavaScript Error:', {
message: e.error?.message,
filename: e.filename,
lineno: e.lineno,
colno: e.colno,
error: e.error
});
});
// Monitor console for any hidden output
const originalConsole = {
log: console.log,
error: console.error,
warn: console.warn
};
console.log = function(...args) {
originalConsole.log.apply(console, args);
// Log to a special div if we can
try {
const debugDiv = document.getElementById('debug-output');
if (debugDiv) {
debugDiv.innerHTML += '<div>' + args.join(' ') + '</div>';
}
} catch (e) {
// Ignore errors in debug logging
}
};
console.error = function(...args) {
originalConsole.error.apply(console, args);
try {
const debugDiv = document.getElementById('debug-output');
if (debugDiv) {
debugDiv.innerHTML += '<div style="color:red;">ERROR: ' + args.join(' ') + '</div>';
}
} catch (e) {
// Ignore errors in debug logging
}
};
console.log('📝 Debug monitoring initialized. Try submitting the form now.');
}