// ═══════════════════════════════════════════════════════ // Password Generator // ═══════════════════════════════════════════════════════ async function generatePassword() { const d = await apiPost('/api/password', { length: parseInt(document.getElementById('pwLength').value), uppercase: document.getElementById('pwUpper').checked, lowercase: document.getElementById('pwLower').checked, numbers: document.getElementById('pwNumbers').checked, symbols: document.getElementById('pwSymbols').checked, count: 5 }); if (d.success) { document.getElementById('pwDisplay').textContent = d.passwords[0]; // Strength const len = d.passwords[0].length; const str = len >= 20 ? 100 : len >= 12 ? 75 : len >= 8 ? 50 : 25; const colors = { 25: 'var(--red)', 50: 'var(--orange)', 75: 'var(--yellow)', 100: 'var(--green)' }; const fill = document.getElementById('pwStrength'); fill.style.width = str + '%'; fill.style.background = colors[str]; // Batch document.getElementById('pwBatch').innerHTML = '
More Passwords
' + d.passwords.slice(1).map(pw => `
${pw}
`).join(''); } }