Commit Graph

117 Commits

Author SHA1 Message Date
c95af66343 fix: shorten CRISPY animation to 4s, visible for 5s
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 22:02:29 +01:00
2d76b6d7b9 fix: center CRISPY animation with translate offset
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:59:44 +01:00
4767f91f40 fix: simplify welcome validations, remove deprecated shortcuts, fix rerun text
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:58:21 +01:00
ffe738840f fix: purple reset-code button instead of sidebar reset
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:53:20 +01:00
6a4aeb783f fix: update German translations and make reset button prominent
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:52:13 +01:00
8c10cf3ae6 fix: mobile preview-header above preview-wrapper
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:47:01 +01:00
5f692677c7 fix: mobile preview visibility with explicit flex display
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:45:41 +01:00
130b0dbdc7 feat: add welcome lesson, DVD bounce animation, mobile layout reorder
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Add Welcome module with intro lessons (EN/DE)
- Success message now bounces like DVD screensaver (10s duration)
- Mobile: nav bar at top, preview before editor
- Logo: CODE with purple background pill
2025-12-30 21:44:37 +01:00
54719f0df7 style: purple background pill for CODE in logo
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:34:45 +01:00
27d9d6c124 fix: editor min-height 50vh, scrollable instructions on desktop
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:28:48 +01:00
ba29d8e9c2 feat: add More Projects section to help dialog
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Add HTML over JS and Web Engineering Mandala projects
- Include i18n translations for EN and DE
- Add userCode to lesson cache for faster reload

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-12-30 21:21:47 +01:00
ec13437b62 fix: make module-pill expand on mobile with spacing to buttons
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 21:10:44 +01:00
4cb7c95585 fix: move preview-header back to bottom, add spacing beneath 2025-12-30 21:09:46 +01:00
acefc84d72 fix: remove max-height constraint from module-list 2025-12-30 21:08:26 +01:00
31eb77c1a6 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
5905330dba 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
7f959a0a4c fix: remove all placeholder text, cache level indicator
- Remove "Please select a lesson" default text
- Remove "1 of 3" default level indicator
- Add level indicator to lesson cache for instant restore
2025-12-30 20:54:57 +01:00
cc6fafee10 fix: prevent Loading text flash on page load
- Remove data-i18n="loading" from lesson title and module name
- Start with empty content instead of "Loading..." placeholder
- Remove data-i18n attribute after restoring cache to prevent overwrites
2025-12-30 20:53:38 +01:00
fc8ad63aa7 feat: cache lesson content for instant restore on reload
Store lesson title, description, and task in localStorage after each
lesson load. On page reload, immediately restore the cached content
to avoid showing "Loading..." placeholder text.
2025-12-30 20:50:25 +01:00
7be193444c fix: add transition effect to language switch
Apply transitioning class during language toggle to prevent
content flash when switching between English and German.
2025-12-30 20:48:40 +01:00
0de964e831 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
9e96be983e 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
f66920ac21 refactor: remove lessons not covered in HdM lectures
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
Keep only modules covered in 223015c lectures:
- HTML: Elements, Forms, Validation, Details, Progress, Tables, SVG, Marquee
- CSS: Basic Selectors, Box Model, Units & Variables, Flexbox, Responsive, Transitions

Remove:
- Advanced Selectors
- Tailwind
- HTML: Datalist, Data Attributes, Dialog, Fieldset, Figure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 20:26:45 +01:00
d27af461ef style: only truncate module name on mobile
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Remove max-width from desktop
- Apply truncation only in mobile media query

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 20:17:37 +01:00
c1e205c477 fix: improve module name truncation in pill
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Add min-width: 0 and flex-shrink to pill for proper flex behavior
- Reduce max-width to 120px desktop, 80px mobile

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 20:15:52 +01:00
558ee33eba style: improve pill layout for mobile
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- 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

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 20:03:33 +01:00
2e50a01528 style: improve hint text readability on dark background
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Change hint-message color to light text
- Update kbd/code styling for dark background

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:59:11 +01:00
775f6d2919 style: show full instructions on mobile without scroll
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Remove max-height and overflow constraints from instructions
- Instructions now expand fully on mobile devices

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:57:03 +01:00
3ae821299b fix: update module name element instead of overwriting pill
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Add moduleName element reference for .module-name span
- Update only module name text, preserving level indicator

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:53:40 +01:00
05be868ec2 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

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:51:05 +01:00
7be6f37770 style: make hint bar float over editor
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- 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

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 18:36:19 +01:00
71ef6fae63 style: improve preview section UI
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Make preview-header fully transparent
- Add inset shadow to preview-section
- Remove green tint from expected overlay

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 18:34:41 +01:00
697265d1a8 style: make preview-header transparent, remove border
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 18:28:57 +01:00
73f0e46b13 fix: change preview-header border from bottom to top
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 18:27:59 +01:00
496ff11252 refactor: shorten compound class names to single words
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- box-model: .margin-box→.outer, .border-box→.sized, .shorthand-box→.spaced,
  .padding-box→.padded, .border-demo→.line
- units-variables: .unit-box→.box, .var-box→.themed, .calc-box→.sized,
  .viewport-box→.view
- responsive: .responsive-box→.panel, .fluid-text→.text, .grid-responsive→.cards
- Move expected toggle below preview area
- Update German translations with same changes
2025-12-30 18:23:54 +01:00
5adff0861d fix: reorder instruction elements - title first, pill second
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Move h2 lesson-title before module-pill
- Add more spacing before lesson-description
2025-12-30 18:11:11 +01:00
6b86da0cbc refactor: reorder lesson modules and update footer links
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
- Reorder modules by learning path: HTML first, then CSS, then Tailwind
- Group modules with comments for clarity
- Change footer link from GitHub to Gitea (librete.ch)
2025-12-30 18:09:47 +01:00
2198a8ccc6 fix: add kbd tags to lesson messages and reorder task/description
- Replace single quotes with <kbd> tags in validation messages
- German and English lessons updated for consistent formatting
- Move task instruction before description in UI (index.html)
2025-12-30 18:08:11 +01:00
42a35895af fix: ensure preview iframe html/body have min-height 100%
Some checks failed
Deploy static content to Pages / deploy (push) Has been cancelled
2025-12-30 16:29:49 +01:00
5e0f2c9936 feat(i18n): add dynamic lesson loading by language
- Import both EN and DE lesson files in lessons.js
- loadModules() now accepts language parameter
- toggleLanguage() reloads lessons in new language
- initializeModules() uses current language from i18n
- Preserves user position when switching languages
2025-12-30 15:43:00 +01:00
0f19da423c fix(i18n): update help text to reflect live preview
- Preview updates automatically as you type
- Ctrl+Enter triggers immediate validation, not required for basic use
2025-12-30 15:11:50 +01:00
9a197e0508 refactor(i18n): remove duplicate German files
German content now handled via i18n.js translations module.
Removes index.de.html and app.de.js in favor of single
language-agnostic codebase.
2025-12-30 15:10:57 +01:00
d21233bb63 feat(i18n): integrate translations in app.js
- Import and initialize i18n module
- Add language toggle button handler
- Replace hardcoded strings with t() function calls
- Update dynamic text (progress, success messages, etc.)
2025-12-30 15:10:44 +01:00
f931d22af1 feat(i18n): add JS-based internationalization
- Create i18n.js module with EN/DE translations
- Add data-i18n attributes to index.html for dynamic text
- Update renderer.js to use translation functions
- Language switcher button replaces link to German page
- Stores preference in localStorage, detects browser language
2025-12-30 15:10:38 +01:00
ca7dd78d5d 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
68f93d1b77 docs: expand help dialog with learning modes and editor tools
- Add About section mentioning open-source and no account required
- Add Learning Modes section (CSS, Tailwind, HTML)
- Add Editor Tools section (undo, redo, reset, show expected)
- Add dedicated Keyboard Shortcuts section
- Update Emmet examples to be more practical
2025-12-30 14:54:43 +01:00
51b6645c8f style: widen help dialog from 500px to 600px 2025-12-30 14:54:35 +01:00
f934d8f982 fix: remove redundant Lessons heading from sidebar
The HTML already has an h4 heading for the lessons section with proper
ARIA labeling. The renderer was adding a duplicate h3 heading.
2025-12-30 14:54:28 +01:00
4807af3cb1 fix(i18n): change button text 'Erneut' to 'Erneut anwenden' 2025-12-30 12:39:08 +01:00
ac6b54ae35 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