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:
15
script.js
15
script.js
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user