Fix modal

This commit is contained in:
Greg Shuflin
2025-02-16 01:08:35 -08:00
parent 14aec7503e
commit 85550c318e
4 changed files with 32 additions and 22 deletions

View File

@@ -35,30 +35,39 @@ document.addEventListener('DOMContentLoaded', function() {
// Error modal functionality
const errorModal = document.getElementById('errorModal');
const errorModalMessage = document.getElementById('errorModalMessage');
const errorModalTitle = document.getElementById('errorModalTitle');
const errorModalClose = document.getElementById('errorModalClose');
function showError(message) {
function showStatusModal(message, isError = true) {
errorModalMessage.textContent = message;
const modalHeader = errorModal.querySelector('.modal-header');
if (isError) {
modalHeader.classList.add('error');
errorModalTitle.innerHTML = '<i class="fas fa-exclamation-circle"></i> Error';
} else {
modalHeader.classList.remove('error');
errorModalTitle.innerHTML = '<i class="fas fa-check-circle"></i> Success';
}
errorModal.classList.add('show');
}
function hideError() {
function hideStatusModal() {
errorModal.classList.remove('show');
}
errorModalClose.addEventListener('click', hideError);
errorModalClose.addEventListener('click', hideStatusModal);
// Close error modal when clicking outside
errorModal.addEventListener('click', (e) => {
if (e.target === errorModal) {
hideError();
hideStatusModal();
}
});
// Close error modal when pressing escape
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && errorModal.classList.contains('show')) {
hideError();
hideStatusModal();
}
});
@@ -78,19 +87,19 @@ document.addEventListener('DOMContentLoaded', function() {
if (response.ok) {
const result = await response.json();
if (result.success) {
showError(result.message);
showStatusModal(result.message, false);
// TODO: Poll job status endpoint when implemented
// For now, just refresh the feed list after a delay
setTimeout(handleFeeds, 5000);
} else {
showError('OPML import failed: ' + result.message);
showStatusModal('OPML import failed: ' + result.message, true);
}
} else {
showError('Failed to import OPML file. Please try again.');
showStatusModal('Failed to import OPML file. Please try again.', true);
}
} catch (error) {
console.error('OPML import failed:', error);
showError('Failed to import OPML file. Please try again.');
showStatusModal('Failed to import OPML file. Please try again.', true);
}
}
// Clear the input so the same file can be selected again