34659a1c85
feat: add undo/redo/reset editor tools with keyboard shortcuts
...
- Add history extension to CodeMirror for undo/redo support
- Ctrl+Z for undo, Ctrl+Shift+Z for redo now work
- Add toolbar buttons: ↶ Undo, ↷ Redo, ⟲ Reset
- Reset button restores editor to initial lesson code
- Add .btn-icon and .editor-tools CSS styles
2025-12-23 23:14:32 +01:00
2ef2bc59f5
fix: align HTML lesson task instructions with solution code
...
Update task instructions to explicitly specify all content that appears
in the solution, so students can complete lessons without guessing:
- semantic-containers: specify "My Website", "Welcome to my site!", "Copyright 2025"
- form-structure: specify label text "Name:" and attribute values
- input-types: specify label texts "Email:" and "Password:"
- input-constraints: specify placeholder text "Enter password"
2025-12-23 09:39:07 +01:00
ab94d667cc
fix: rename solutionCode to solution in HTML lesson files
...
Consistent property naming across all lesson files - the LessonEngine
expects 'solution' property for rendering expected preview.
2025-12-22 10:38:53 +01:00
be5f71bea5
fix: hide original textarea to prevent browser form restoration artifact
...
- Add display:none to initial textarea (CodeMirror replaces it)
- Add autocomplete=off to prevent browser from restoring old form values
2025-12-22 10:06:55 +01:00
8ee6f3dd0a
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
2025-12-22 10:04:41 +01:00
0169c8c9a9
fix: use One Dark theme for CodeMirror syntax highlighting
...
- Replace custom highlight styles with @codemirror/theme-one-dark
- Cleaner implementation with official CodeMirror theme
- Keep custom font and padding overrides
2025-12-22 01:17:10 +01:00
2469629eb7
fix: add category prefixes to module titles in sidebar
...
- CSS: Basic Selectors
- CSS: Advanced Selectors
- Tailwind: Basics
HTML modules already have "HTML" in their titles.
2025-12-22 01:09:47 +01:00
238853d2e1
feat: add CodeMirror 6 editor with Emmet support
...
- Replace textarea with CodeMirror 6 for syntax highlighting
- Add Emmet abbreviation expansion (Tab to expand)
- Support HTML and CSS language modes with autocomplete
- Add dark theme matching app design
- Tab indentation with Shift-Tab for outdent
- Update help modal with Emmet shortcuts
2025-12-21 23:37:14 +01:00
60017aa1ba
refactor: redesign layout to Flexbox Froggy style with slide-out sidebar
...
- Implement 50/50 split layout (left: instructions + editor, right: preview)
- Replace always-visible sidebar with slide-out drawer menu
- Move footer, progress, and settings into sidebar
- Add toggleable expected result overlay (hidden by default)
- Create new hint system with step progress indicators
- Add ghost button styles for modal and text button for sidebar reset
- Fix HTML lesson task instruction and typo ("important" not "importing")
- Add padding to preview frames to prevent corner clipping
- Optimize layout for iPadOS and tablet devices
2025-12-21 23:20:07 +01:00
50c4d51523
feat: add HTML lessons mode and side-by-side comparison UI
...
- Add HTML mode support with new validation types (element_exists,
element_count, attribute_value, element_text, parent_child, sibling)
- Create 3 HTML lesson modules: Elements, Forms Basic, Forms Validation
- Implement side-by-side preview comparison (Your Output vs Expected)
- Add merge animation with "Perfect Match!" overlay on validation success
- Render expected output from solutionCode field in lesson JSON
- Update schema to support HTML mode and solutionCode
- Reorder modules: HTML first, then CSS, then Tailwind
- Update tests for new functionality
2025-12-21 22:12:00 +01:00
Michael Czechowski
394490c003
fix: remove sub-folder deployment
2025-06-11 14:29:12 +02:00
Michael Czechowski
906eda02b5
docs: update README to include Tailwind CSS support and enhance clarity
2025-06-10 23:46:00 +02:00
Michael Czechowski
671b6cc813
refactor: clean up unused lesson imports and improve code consistency
2025-06-10 23:45:46 +02:00
Michael Czechowski
81583c2f27
docs: add comprehensive comparison of commonjs and es modules in german and english
2025-06-06 10:56:23 +02:00
Michael Czechowski
0f55403b86
fix: update validation message for clarity and consistency
2025-06-05 23:38:00 +02:00
Michael Czechowski
0ff032439f
fix: update success background color for improved visibility and remove unused color variables
2025-06-05 23:37:25 +02:00
Michael Czechowski
72ad162a73
feat: update instruction styles with new colors and enhanced readability
2025-06-05 23:31:19 +02:00
Michael Czechowski
7c9daa413c
feat: enhance LessonEngine to manage user progress and code storage
2025-06-05 23:31:13 +02:00
Michael Czechowski
a7d6ab06f2
chore: simplify title and enhance preview HTML for tailwind basics module
2025-06-05 23:31:01 +02:00
Michael Czechowski
3f0588b762
feat: update tailwind basics module with enhanced descriptions and new lessons
2025-06-05 23:16:49 +02:00
Michael Czechowski
e30bb40b1a
feat: enhance lesson functionality with user code storage and progress tracking
2025-06-05 14:05:35 +02:00
10fce10033
feat: implement tailwind validations and basic example
2025-06-01 22:34:55 +02:00
5872f04b32
fix: update package lock after package json update
2025-06-01 22:03:19 +02:00
3706ac966e
fix: remove deprecated properties
2025-06-01 22:02:55 +02:00
Michael Czechowski
19035c64eb
fix: update strong selector example to include color property
2025-05-23 14:48:03 +02:00
Michael Czechowski
6e4b3a141c
wip
2025-05-23 14:35:05 +02:00
Michael Czechowski
17da3eb647
feat: add CSS carousels module and update lesson imports
2025-05-23 08:12:23 +02:00
Michael Czechowski
5b3068898d
feat: add advanced selectors module and update lesson imports accordingly and release
2025-05-23 08:05:00 +02:00
Michael Czechowski
6995ab94e4
feat: add extended CSS examples and update lesson imports
2025-05-23 07:47:48 +02:00
Michael Czechowski
5a8df62c2c
feat: add footer with links to project repository and author website
2025-05-20 19:42:17 +02:00
Michael Czechowski
9a562c46fd
feat: make sure to scroll to the top when navigating to lesson
2025-05-20 18:49:39 +02:00
Michael Czechowski
868015f344
fix: update scroll behavior for lesson navigation and adjust lesson description width for better scrolling
2025-05-20 18:29:40 +02:00
Michael Czechowski
3cb2b9c412
fix: correct casing in validation message for consistency
2025-05-20 02:18:10 +02:00
Michael Czechowski
dcb4f77c09
style: organize CSS with section headers and sort rules
2025-05-20 01:51:50 +02:00
Michael Czechowski
0065cf497e
feat: enhance module list rendering with expandable lessons and active lesson tracking
2025-05-20 01:43:57 +02:00
Michael Czechowski
3f9158852d
feat: mark modules as work in progress for better clarity
2025-05-20 01:43:44 +02:00
Michael Czechowski
7ffd6f92a0
fix: adjust hamburger menu animation for improved visual effect
2025-05-20 00:54:34 +02:00
Michael Czechowski
edf737092a
feat: implement responsive hamburger menu and enhance header layout
2025-05-20 00:52:23 +02:00
Michael Czechowski
c00cac389c
feat: update progress bar styling to increase height and change background color
2025-05-20 00:39:54 +02:00
Michael Czechowski
0f368b7373
feat: add toggle switch for disabling error feedback and persist user settings
2025-05-20 00:37:36 +02:00
Michael Czechowski
7cdbf0807f
feat: update validation message to enhance user feedback
2025-05-20 00:26:47 +02:00
Michael Czechowski
50b81b8116
feat: update task description to include HTML tags for paragraph and color properties; add solution code for CSS rule
2025-05-20 00:26:39 +02:00
Michael Czechowski
0ac17d8435
feat: update task descriptions to include HTML tags for clarity in basic selectors lesson
2025-05-20 00:18:05 +02:00
Michael Czechowski
d05a70fb08
feat: enhance styling for lesson components and improve kbd element appearance
2025-05-20 00:17:55 +02:00
Michael Czechowski
6b481b4c2e
feat: update format script to include schemas directory for prettier
2025-05-19 23:42:14 +02:00
Michael Czechowski
6c973ce45d
feat: add solution code and enhance validation rules for basic selectors lesson
2025-05-19 23:42:04 +02:00
Michael Czechowski
1f50963028
feat: enhance lesson preview functionality and improve run button interaction; change lesson indicator to percentage; split preview css for better isolation
2025-05-19 23:30:22 +02:00
Michael Czechowski
1e81d0e66b
feat: add kbd css styles and make sidebar transparent for better focus on lessons
2025-05-19 22:14:18 +02:00
Michael Czechowski
49e5d2d458
fix: race condition closing error feedback to early when next should appear
2025-05-19 22:13:42 +02:00
Michael Czechowski
966ef3ffcc
feat: add fine grained validations for class-selectors lesson
2025-05-19 22:13:02 +02:00