Commit Graph

29 Commits

Author SHA1 Message Date
f4181d6ada feat: close dialogs on backdrop click
Native dialog elements don't close on backdrop click by default.
Added click handlers that check if click target is the dialog itself
(not its children) to enable this expected UX behavior.
2025-12-30 14:54:49 +01:00
71f0381554 feat: improve sidebar keyboard accessibility
- Add skip-to-content link for keyboard users
- Convert module headers and lesson items from divs to buttons
- Add ARIA attributes (aria-expanded, aria-controls, aria-label)
- Add focus return to trigger element when closing sidebar
- Shift main content when sidebar is open using CSS :has()
- Add code element styling in instruction boxes
2025-12-30 12:24:53 +01:00
8949d5e709 feat: add module pill indicator and cross-module navigation
- Add module title pill above lesson title showing current category
- Enable next/prev buttons to cross module boundaries
- Automatically advance to next module when completing last lesson
- Go to last lesson of previous module when navigating back
2025-12-25 15:25:39 +01:00
ac662ea11d feat: rename success message to "CRISPY!" with Japanese smiley
- Update overlay text: "Perfect Match!" → "CRISPY! ٩(◕‿◕)۶"
- Update success hint in English and German versions
- Fun branding touch matching the app name
2025-12-24 01:43:26 +01:00
46ecbaba68 refactor: replace custom modal with native HTML dialog element
- Convert help and reset modals to native <dialog> elements
- Content is now in HTML, not dynamically generated via JS
- Use dialog.showModal() and dialog.close() native API
- Dialog handles Escape key natively for closing
- Fix list indentation in help dialog with proper padding
- Add styled kbd elements for keyboard shortcuts
- Separate dialogs for help and reset confirmation
- Apply same changes to German version

Benefits:
- Better accessibility (native focus trapping, escape handling)
- Simpler JavaScript (no DOM manipulation for content)
- Content visible in HTML source for easier editing
- Native backdrop styling via ::backdrop
2025-12-24 00:57:24 +01:00
df981f77d7 fix: remove unused validation percentage indicator
The 0% indicator next to the Run button was not providing useful
feedback. Removed from HTML, CSS, and app.js.
2025-12-24 00:17:28 +01:00
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
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
671b6cc813 refactor: clean up unused lesson imports and improve code consistency 2025-06-10 23:45:46 +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
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
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
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
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
2c8174d1a0 feat: implement better progress tracking and user feedback, run code after some idle time 2025-05-19 20:21:53 +02:00
Michael Czechowski
ee8a8d6649 feat: enhance validation feedback in code editor, improve layout and reset functionality 2025-05-19 13:20:40 +02:00
Michael Czechowski
f8172644dc WIP: enhance validation feedback in code editor, add support for multiple validation indicators and new validation types 2025-05-19 12:55:43 +02:00
Michael Czechowski
1ce1f6cd2f feat: update localStorage keys for user progress and last module ID, enhance editor layout with validation indicator 2025-05-18 23:22:17 +02:00
Michael Czechowski
10094e36dc WIP: enhance code editor layout and implement live preview functionality 2025-05-18 21:55:49 +02:00
Michael Czechowski
b7ed260867 feat: update module titles and enhance button styles 2025-05-14 03:40:15 +02:00
Michael Czechowski
c391f6a96b feat: restructure lesson files and update success indicators 2025-05-14 00:51:10 +02:00
Michael Czechowski
7817528f4f feat: enhance success indicators and update favicon path 2025-05-13 21:35:16 +02:00
Michael Czechowski
19188f1415 style: run format first time 2025-05-13 21:08:18 +02:00
Michael Czechowski
94bd7ba0cb refactor: reorganize project structure and update import paths 2025-05-13 20:29:59 +02:00