export function showToast(message, type = 'info') {
    const toastEl = document.getElementById('toast');
    if (!toastEl) return;
    
    // Clear any existing classes
    toastEl.className = 'toast';
    
    // Add the appropriate class based on type
    if (type === 'error') {
        toastEl.classList.add('toast-error');
    } else if (type === 'success') {
        toastEl.classList.add('toast-success');
    } else {
        toastEl.classList.add('toast-info');
    }
    
    toastEl.textContent = message;
    toastEl.classList.add('show');
    setTimeout(() => toastEl.classList.remove('show'), 3000);
}

export function addRippleEffect(button) {
    if (!button) return;
    
    button.addEventListener('click', function(e) {
        const ripple = document.createElement('span');
        ripple.classList.add('ripple');
        this.appendChild(ripple);
        
        const rect = button.getBoundingClientRect();
        const size = Math.max(rect.width, rect.height);
        
        ripple.style.width = ripple.style.height = `${size}px`;
        ripple.style.left = `${e.clientX - rect.left - size/2}px`;
        ripple.style.top = `${e.clientY - rect.top - size/2}px`;
        
        setTimeout(() => {
            ripple.remove();
        }, 600);
    });
}

export function updateImageInfo(data) {
    const resolutionEl = document.getElementById('image-resolution');
    if (resolutionEl) {
        resolutionEl.textContent = `Resolution: ${data.resolution || 'N/A'}`;
    }
    const filenameEl = document.getElementById('image-filename');
    if (filenameEl) {
        filenameEl.textContent = `Filename: ${data.filename || 'N/A'}`;
    }
    const creationEl = document.getElementById('image-creation-date');
    if (creationEl) {
        creationEl.textContent = `Created: ${data.creation_date || 'N/A'}`;
    }
    const promptEl = document.getElementById('image-prompt');
    if (promptEl) {
        // textarea uses value attribute
        if (promptEl.tagName === 'TEXTAREA') {
            promptEl.value = data.prompt_data || '';
        } else {
            promptEl.textContent = data.prompt_data || '';
        }
    }
}
