document.addEventListener('DOMContentLoaded', () => { const selectFileBtn = document.getElementById('selectFileBtn'); const importBtn = document.getElementById('importBtn'); const fileInfoDiv = document.getElementById('fileInfo'); const fileNameSpan = document.getElementById('fileName'); const statusDiv = document.getElementById('status'); let selectedFilePath = null; selectFileBtn.addEventListener('click', async () => { try { const result = await window.electronAPI.showOpenDialog({ properties: ['openFile'], filters: [ { name: 'Encrypted Files', extensions: ['enc'] }, { name: 'All Files', extensions: ['*'] } ] }); if (!result.canceled && result.filePaths.length > 0) { selectedFilePath = result.filePaths[0]; fileNameSpan.textContent = selectedFilePath.split('/').pop(); fileInfoDiv.style.display = 'block'; importBtn.disabled = false; } } catch (err) { showError(`Error: ${err.message}`); } }); importBtn.addEventListener('click', async () => { if (!selectedFilePath) return; try { importBtn.disabled = true; importBtn.textContent = 'Importing...'; const result = await window.electronAPI.importBalanceData(selectedFilePath); if (result.success) { showSuccess(`Successfully imported ${result.amount} to your balance`); } else { showError(result.error); } } catch (err) { showError(`Error: ${err.message}`); } finally { importBtn.disabled = false; importBtn.textContent = 'Import Balance'; } }); function showSuccess(message) { statusDiv.textContent = message; statusDiv.className = 'status success'; statusDiv.style.display = 'block'; } function showError(message) { statusDiv.textContent = message; statusDiv.className = 'status error'; statusDiv.style.display = 'block'; } });