Commit Graph

159 Commits

Author SHA1 Message Date
7a18abd446 style: purple background pill for CODE in logo 2025-12-30 21:34:45 +01:00
ca2c5607da fix: editor min-height 50vh, scrollable instructions on desktop 2025-12-30 21:28:48 +01:00
82612126cb feat: add More Projects section to help dialog
- Add HTML over JS and Web Engineering Mandala projects
- Include i18n translations for EN and DE
- Add userCode to lesson cache for faster reload
2025-12-30 21:21:47 +01:00
79cbfd404d fix: make module-pill expand on mobile with spacing to buttons 2025-12-30 21:10:44 +01:00
12f36698a7 fix: move preview-header back to bottom, add spacing beneath 2025-12-30 21:09:46 +01:00
a8f4739912 fix: remove max-height constraint from module-list 2025-12-30 21:08:26 +01:00
bc4972b1d6 perf: make module loading synchronous, flip right panel layout
- Remove unnecessary async/await from loadModules (static imports)
- Move game controls to top of right panel
- Move preview header below controls, above preview
- Flip inset shadow to top of preview section
2025-12-30 21:07:00 +01:00
138918995b feat: add gentle loading fallback after 3 seconds
If no lesson loads within 3 seconds, show a centered, gray notice
with fade-in animation suggesting to select from menu or check help.
Includes link to help dialog.
2025-12-30 20:57:54 +01:00
3addeda28d feat: add contact section and smooth lesson transitions
- Add contact section to help dialog with librete.ch, GitHub, Gitea, LinkedIn links
- Add HTML/CSS prefixes to English module titles for consistency with German
- Add CSS transitions for smooth lesson switching
- Add transitioning class to prevent content flash during lesson changes
2025-12-30 20:48:03 +01:00
dddce116bd refactor: add HTML/CSS prefixes to German module titles and improve UI
- Shorten German module titles with consistent HTML/CSS prefixes
- Add .completion-badge styling for the lesson title completion badge
- Make sidebar lessons section fill available height on desktop
- Improve flexbox lesson descriptions with more context
2025-12-30 20:38:41 +01:00
db5c7980d6 style: only truncate module name on mobile
- Remove max-width from desktop
- Apply truncation only in mobile media query
2025-12-30 20:17:37 +01:00
b299c63ee3 fix: improve module name truncation in pill
- Add min-width: 0 and flex-shrink to pill for proper flex behavior
- Reduce max-width to 120px desktop, 80px mobile
2025-12-30 20:15:52 +01:00
cfce603980 style: improve pill layout for mobile
- Wrap lesson label in span for mobile hiding
- Truncate module name with ellipsis if too long
- Hide "Lesson/Lektion" label on mobile, show only "1 / 3"
- Add lessonLabel i18n keys for EN/DE
2025-12-30 20:03:33 +01:00
5940fb2e72 style: improve hint text readability on dark background
- Change hint-message color to light text
- Update kbd/code styling for dark background
2025-12-30 19:59:11 +01:00
0817d9dd13 style: show full instructions on mobile without scroll
- Remove max-height and overflow constraints from instructions
- Instructions now expand fully on mobile devices
2025-12-30 19:57:03 +01:00
08b38a4368 style: move module pill to nav bar with lesson counter
- Module pill now in game-controls between prev/next buttons
- Level indicator (e.g. "1 of 3") inside the pill
- Updated pill styling for nav bar context
2025-12-30 19:51:05 +01:00
bf43902444 style: make hint bar float over editor
- Editor content now extends full height
- Hint area floats at bottom with blur effect
- Hide hint area when empty
- Update hint styling for dark background
2025-12-30 18:36:19 +01:00
bf2a53eca6 style: improve preview section UI
- Make preview-header fully transparent
- Add inset shadow to preview-section
- Remove green tint from expected overlay
2025-12-30 18:34:41 +01:00
6a21cacdee style: make preview-header transparent, remove border 2025-12-30 18:28:57 +01:00
3dfb63ac31 fix: change preview-header border from bottom to top 2025-12-30 18:27:59 +01:00
45e6cbaa8d fix: reorder instruction elements - title first, pill second
- Move h2 lesson-title before module-pill
- Add more spacing before lesson-description
2025-12-30 18:11:11 +01:00
901c584145 style: widen help dialog from 500px to 600px 2025-12-30 14:54:35 +01:00
2edec54110 style: add code element styling and accessibility enhancements
- Style code elements in task instructions with white alpha background
- Style code elements in lesson descriptions and hints
- Add skip-link CSS for keyboard navigation
- Add sidebar shift animation when drawer is open
- Add focus styles for sidebar navigation items
2025-12-30 12:25:02 +01:00
31407dcb51 fix: add kbd tags to validation messages for clarity
- Wrap HTML element names in <kbd> tags in all validation messages
- Apply consistent formatting to both English and German lessons
- Make hints clearer about which elements/attributes to use
- Fix mobile editor layout overflow issue
2025-12-25 15:55:26 +01:00
935969a80c fix: improve WCAG compliance and mobile editor height
- Add aria-describedby to password inputs for screen readers
- Connect hint text to input via id reference
- Increase mobile editor min-height to 50vh
2025-12-25 15:28:11 +01:00
3cbb404781 fix: add minimum height for code editor on mobile
- Set min-height: 200px for editor-section
- Set min-height: 150px for editor-content
- Ensures editor is usable on small screens
2025-12-25 15:27:03 +01:00
5ec56e52fc 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
1761fa8ad2 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
7fb70e7257 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
1c99e0ab0d feat: add language switcher between English and German
- Add language toggle button in header (EN/DE)
- Link directly to the other language version
- Style consistent with existing header buttons
- Accessible with proper aria-labels
2025-12-24 00:51:54 +01:00
8d5e126258 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
1328d7c004 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
a1f1da0d06 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
b5cf77376f 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
b13c8ffea5 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
f020601437 fix: update success background color for improved visibility and remove unused color variables 2025-06-05 23:37:25 +02:00
Michael Czechowski
a4db81c4c6 feat: update instruction styles with new colors and enhanced readability 2025-06-05 23:31:19 +02:00
Michael Czechowski
c549d5c65e feat: add footer with links to project repository and author website 2025-05-20 19:42:17 +02:00
Michael Czechowski
d698b42b10 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
1577c8c39a style: organize CSS with section headers and sort rules 2025-05-20 01:51:50 +02:00
Michael Czechowski
ded85e9b7d feat: enhance module list rendering with expandable lessons and active lesson tracking 2025-05-20 01:43:57 +02:00
Michael Czechowski
7c7e7c4ba0 fix: adjust hamburger menu animation for improved visual effect 2025-05-20 00:54:34 +02:00
Michael Czechowski
593faacf4c feat: implement responsive hamburger menu and enhance header layout 2025-05-20 00:52:23 +02:00
Michael Czechowski
8d499bf497 feat: add toggle switch for disabling error feedback and persist user settings 2025-05-20 00:37:36 +02:00
Michael Czechowski
16f6d28107 feat: enhance styling for lesson components and improve kbd element appearance 2025-05-20 00:17:55 +02:00
Michael Czechowski
6c7ef3ff0b 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
00935f02e8 feat: add kbd css styles and make sidebar transparent for better focus on lessons 2025-05-19 22:14:18 +02:00
Michael Czechowski
ef15d93673 feat: add new logos and color schema 2025-05-19 20:20:23 +02:00
Michael Czechowski
e4d03c6b7f 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
4f5154b795 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