diff --git a/frontend/js/views/schedule.js b/frontend/js/views/schedule.js index e4f704a..dd3820d 100644 --- a/frontend/js/views/schedule.js +++ b/frontend/js/views/schedule.js @@ -107,9 +107,12 @@ export async function render(container) {
- @@ -223,6 +226,7 @@ export async function render(container) { } updateTargetVisibility(); + document.getElementById('deleteScheduleBtn').style.display = ''; document.getElementById('scheduleModal').style.display = 'flex'; } @@ -236,9 +240,23 @@ export async function render(container) { deviceRadio.checked = true; deviceSelect.value = document.getElementById('schedDevice').value; updateTargetVisibility(); + document.getElementById('deleteScheduleBtn').style.display = 'none'; document.getElementById('scheduleModal').style.display = 'flex'; }; + document.getElementById('deleteScheduleBtn').onclick = async () => { + if (!editingId) return; + if (!confirm(t('schedule.confirm_delete') || 'Delete this schedule?')) return; + try { + await API(`/schedules/${editingId}`, { method: 'DELETE' }); + document.getElementById('scheduleModal').style.display = 'none'; + showToast(t('schedule.toast.deleted') || 'Schedule deleted', 'success'); + loadCalendar(); + } catch (err) { + showToast(err.message, 'error'); + } + }; + document.getElementById('saveScheduleBtn').onclick = async () => { const isGroup = groupRadio.checked; const contentId = document.getElementById('schedContent').value;