Siistimpi Hae postit -UX: ei välivaihe-tekstiä, vain vihreä tuloslaatikko

- Poistettu "Haetaan sähköpostit ja synkataan Zammad..." -teksti
- Status-laatikko näytetään vasta kun tulokset on valmiit
- scrollIntoView scrollaa tuloksen näkyviin

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 09:03:44 +02:00
parent 682de29e5a
commit 0c9a60a90b
2 changed files with 8 additions and 11 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Noxus HUB</title>
<link rel="stylesheet" href="style.css?v=20260313t">
<link rel="stylesheet" href="style.css?v=20260313u">
</head>
<body>
<!-- Login -->
@@ -2271,6 +2271,6 @@
</div>
</div>
<script src="script.js?v=20260313t"></script>
<script src="script.js?v=20260313u"></script>
</body>
</html>

View File

@@ -2143,15 +2143,9 @@ document.getElementById('btn-fetch-emails').addEventListener('click', async () =
const status = document.getElementById('ticket-fetch-status');
btn.disabled = true;
btn.textContent = '⏳ Haetaan...';
status.style.display = 'block';
status.className = '';
status.style.background = '#f0f7ff';
status.style.color = '#0f3460';
status.textContent = 'Yhdistetään sähköpostipalvelimeen...';
status.style.display = 'none';
try {
// Hae IMAP ja Zammad rinnakkain — ei enää peräkkäin
status.textContent = 'Haetaan sähköpostit ja synkataan Zammad...';
const [imapResult, zammadResult] = await Promise.allSettled([
apiCall('ticket_fetch', 'POST'),
apiCall('zammad_sync', 'POST', { full: true }),
@@ -2174,18 +2168,21 @@ document.getElementById('btn-fetch-emails').addEventListener('click', async () =
if (zParts.length) parts.push(`🔗 Zammad: ${zParts.join(', ')}`);
}
await loadTickets();
status.style.display = 'block';
status.style.background = '#eafaf1';
status.style.color = '#27ae60';
status.textContent = parts.length ? parts.join(' | ') : 'Valmis — ei uusia viestejä.';
await loadTickets();
status.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
} catch (e) {
status.style.display = 'block';
status.style.background = '#fef2f2';
status.style.color = '#e74c3c';
status.textContent = 'Virhe: ' + e.message;
} finally {
btn.disabled = false;
btn.textContent = '📧 Hae postit';
setTimeout(() => { status.style.display = 'none'; }, 8000);
setTimeout(() => { status.style.display = 'none'; }, 6000);
}
});