fix: resolve initialization bugs breaking level indicator and expected preview

- Fix renderLesson to handle null inputEl (CodeMirror replaces textarea)
- Fix renderExpectedPreview to use 'solution' property instead of 'solutionCode'
- These fixes restore level indicator, expected preview, and auto-run functionality
This commit is contained in:
2025-12-22 10:04:41 +01:00
parent 0169c8c9a9
commit 8ee6f3dd0a
2 changed files with 6 additions and 5 deletions

View File

@@ -133,10 +133,10 @@ export function renderLesson(titleEl, descriptionEl, taskEl, previewEl, prefixEl
// Set task instructions // Set task instructions
taskEl.innerHTML = lesson.task || ""; taskEl.innerHTML = lesson.task || "";
// Set code editor contents // Set code editor contents (if inputEl is provided)
// prefixEl.textContent = lesson.codePrefix || ""; if (inputEl) {
inputEl.value = lesson.initialCode || ""; inputEl.value = lesson.initialCode || "";
// suffixEl.textContent = lesson.codeSuffix || ""; }
// Clear any existing feedback // Clear any existing feedback
clearFeedback(); clearFeedback();

View File

@@ -239,7 +239,8 @@ export class LessonEngine {
renderExpectedPreview() { renderExpectedPreview() {
if (!this.currentLesson) return; if (!this.currentLesson) return;
const solutionCode = this.currentLesson.solutionCode; // Use 'solution' property from lesson JSON (not 'solutionCode')
const solutionCode = this.currentLesson.solution;
if (!solutionCode) { if (!solutionCode) {
// No solution code provided, hide the expected pane or show placeholder // No solution code provided, hide the expected pane or show placeholder
const expectedContainer = document.getElementById("preview-expected"); const expectedContainer = document.getElementById("preview-expected");