55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const configForm = document.getElementById('config-form');
|
|
const testAudioBtn = document.getElementById('test-audio-btn');
|
|
const audioPlayer = document.querySelector('.audio-player');
|
|
|
|
if (configForm) {
|
|
configForm.addEventListener('submit', async (e) => {
|
|
e.preventDefault();
|
|
|
|
const formData = new FormData(configForm);
|
|
const submitBtn = configForm.querySelector('button[type="submit"]');
|
|
const originalBtnText = submitBtn.textContent;
|
|
|
|
submitBtn.disabled = true;
|
|
submitBtn.textContent = 'Saving...';
|
|
|
|
try {
|
|
const response = await fetch('api/save_settings.php', {
|
|
method: 'POST',
|
|
body: formData
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success) {
|
|
alert('Settings saved successfully!');
|
|
} else {
|
|
alert('Error: ' + result.error);
|
|
}
|
|
} catch (error) {
|
|
alert('Network error while saving settings.');
|
|
} finally {
|
|
submitBtn.disabled = false;
|
|
submitBtn.textContent = originalBtnText;
|
|
}
|
|
});
|
|
}
|
|
|
|
if (testAudioBtn && audioPlayer) {
|
|
testAudioBtn.addEventListener('click', () => {
|
|
if (audioPlayer.paused) {
|
|
audioPlayer.play();
|
|
testAudioBtn.textContent = 'Pause';
|
|
} else {
|
|
audioPlayer.pause();
|
|
testAudioBtn.textContent = 'Test Play Locally';
|
|
}
|
|
});
|
|
|
|
audioPlayer.addEventListener('ended', () => {
|
|
testAudioBtn.textContent = 'Test Play Locally';
|
|
});
|
|
}
|
|
});
|