// ═══════════════════════════════════════════════════════ // JWT Decoder // ═══════════════════════════════════════════════════════ async function decodeJWT() { const token = document.getElementById('jwtInput').value.trim(); if (!token) return setStatus('jwtStatus','error','Paste a JWT.'); const d = await apiPost('/api/jwt/decode', { token }); if (d.success) { const expStr = d.expired === null ? '—' : d.expired ? 'EXPIRED ✗' : 'VALID ✓'; document.getElementById('jwtResults').innerHTML = `
${JSON.stringify(d.header, null, 2)}
${JSON.stringify(d.payload, null, 2)}