`;
});
document.getElementById('swwo-optimized-schedule-display').innerHTML = scheduleHTML;
unscheduledTasks = tasksToSchedule.filter(t => !t.scheduled);
const unscheduledListEl = document.getElementById('swwo-unscheduled-tasks-list');
unscheduledListEl.innerHTML = unscheduledTasks.length === 0 ? 'All tasks and activities were scheduled! ' : '';
unscheduledTasks.forEach(task => {
const li = document.createElement('li');
li.innerHTML = `${task.name} (Est: ${task.estTime}min, Prio: ${task.priority}, Pref: ${task.preferredDay}) - Could not find a suitable time slot.`;
unscheduledListEl.appendChild(li);
});
swwoOpenTab(null, 'swwo-schedule');
swwoUpdateNavButtons();
}
// PDF Download
function swwoDownloadPDF() {
const scheduleDisplayElement = document.getElementById('swwo-optimized-schedule-display').innerHTML;
const unscheduledTasksElement = document.getElementById('swwo-unscheduled-tasks-list').outerHTML;
if (scheduleDisplayElement.includes("Define your availability")) {
alert("Please generate a schedule first.");
return;
}
let pdfHTML = `
Optimized Weekend Plan
`; // Input Summary for PDF pdfHTML += `Availability Summary
Saturday
- `;
swwoGetAvailabilityForDay('saturday').forEach(b => pdfHTML += `
- ${b.start} - ${b.end} `); if(swwoGetAvailabilityForDay('saturday').length === 0) pdfHTML += `
- No specific availability blocks set. `; pdfHTML += `
Sunday
- `;
swwoGetAvailabilityForDay('sunday').forEach(b => pdfHTML += `
- ${b.start} - ${b.end} `); if(swwoGetAvailabilityForDay('sunday').length === 0) pdfHTML += `
- No specific availability blocks set. `; pdfHTML += `
Tasks & Activities List (${swwoTasks.length})
- `;
swwoTasks.forEach(task => {
let details = `Cat: ${task.category}, Est: ${task.estTime}min, Prio: ${task.priority}, Pref: ${task.preferredDay}`;
if (task.isFixed) details += ` | Fixed: ${task.fixedDay} ${task.fixedStart}-${task.fixedEnd}`;
pdfHTML += `
- ${task.name} - ${details} `; }); if(swwoTasks.length === 0) pdfHTML += `
- No tasks or activities were added. `; pdfHTML += `
Generated Schedule
${scheduleDisplayElement}
`; // For PDF, ensure columns stack if needed by changing display
pdfHTML += `