Commit Graph

297 Commits

Author SHA1 Message Date
688de58987 fix: update English box-model task instructions format
Apply same task instruction format update to English source file.
2026-01-07 14:15:12 +01:00
f6bf33aee2 docs: update README internationalization section
- Document localized lesson directories (ar, de, es, pl, uk)
- Update copyright year to 2026
2026-01-07 14:14:51 +01:00
e252d34928 chore: update copyright year 2025 -> 2026 in lessons
Update copyright year in semantic-containers lesson example
across all language versions.
2026-01-07 14:14:43 +01:00
55cba51a80 fix(i18n): update box-model task instructions format
Update task instructions from old format to match English source:
- Old: "Add <kbd>padding: 1rem</kbd> to <kbd>.box</kbd>"
- New: "Set <kbd>padding</kbd> to <kbd>1rem</kbd>"

Removes redundant class name references since codePrefix shows the selector.
Affected languages: ar, es, pl, uk
2026-01-07 14:14:36 +01:00
f3da00fb76 chore: update format.lessons to include localized files
- Change glob pattern from lessons/*.json to lessons/**/*.json
- Update copyright year to 2026
2026-01-07 14:14:04 +01:00
beeeef036b feat(claude-code): add project settings and commands
- Add .claude/settings.json with permissions and hooks
- Add /format-lessons slash command
- Add .claude/settings.local.json to .gitignore
2026-01-07 14:13:59 +01:00
d5f7b5bf77 fix(lessons): style Hello World, add syntax examples, add goodbye module
- Hello World lesson now styles plain text (no h1 required)
- Added syntax examples to CSS Variables, calc(), Media Queries, Flexbox, Grid
- Added goodbye/offboarding module with contribution encouragement
2026-01-06 15:58:12 +01:00
281ddf7cd6 fix(lessons): use code tags for quoted text, add syntax examples
- Fixed validation in welcome lesson (Hello World instead of Hello)
- Replaced 'quoted text' with <code>quoted text</code> in all task descriptions
- Added syntax examples to Transitions and Keyframes lessons
- Updated all language versions (en, de, pl, es, ar, uk)
2026-01-06 15:50:11 +01:00
380579edc9 fix(i18n): align German lesson code with English
- Changed solution in 00-welcome.json from "Hallo Welt" to "Hello World"
- Added missing solution fields to 01-box-model.json (8 lessons)
- Added missing solution fields to 05-units-variables.json (4 lessons)
- Added missing solution fields to 06-transitions-animations.json (4 lessons)
- Added missing solution fields to 08-responsive.json (4 lessons)
- Fixed flexbox.json class names from .green/.red/.yellow to .box1/.box2/.box3
- Added missing solution fields to flexbox.json (6 lessons)

German translations now keep all CSS code in English for maintainability,
with only instructional text translated.
2026-01-06 14:58:49 +01:00
03029a757f fix(rtl): comprehensive layout fixes for Arabic
- Swap left/right panels in RTL mode
- Flip left panel border to left side
- Flip hint border to right side
- Flip lessons container indentation (margin, border, padding)
- Flip module expand icon and lesson checkmark margins
- Flip toggle switch slider margin
- Reverse setting row and preview controls
2025-12-31 10:31:49 +01:00
af5a5a2045 refactor: move language picker to sidebar as dropdown
- Remove language button from header
- Add language select dropdown in sidebar settings
- Add translations for "Language" label in all languages
- Remove unused .lang-switch CSS
2025-12-31 10:26:51 +01:00
b7a34b02d8 fix(rtl): auto-detect text direction for untranslated content 2025-12-31 01:51:01 +01:00
62157e8b78 fix(rtl): keep Code Crispies logo in LTR order 2025-12-31 01:50:26 +01:00
822afd574b fix(i18n): show current language and add RTL support for Arabic
- Language switcher now shows current language code (EN, DE, PL, etc.)
- Add RTL layout support for Arabic (dir="rtl" on html element)
- Sidebar slides from right in RTL mode
- Flip horizontal layouts, navigation, and text alignment for RTL
2025-12-31 01:49:03 +01:00
513c5a8506 feat(i18n): add support for Polish, Spanish, Arabic, and Ukrainian
- Create lesson directories and copy English lessons as templates
- Add full UI translations for pl, es, ar, uk languages
- Update lessons.js with module stores for all new languages
- Implement language cycling (en → de → pl → es → ar → uk → en)
- Fix playground mode detection (lesson.mode takes precedence)
2025-12-31 01:45:52 +01:00
7744468aaa refactor: merge playground into welcome module
- Rename welcome lessons to Get Started, Overview, Playground
- Remove separate playground module files
- Fix playground detection to check lesson.mode instead of module.id
2025-12-31 00:46:42 +01:00
8c1683f3f3 fix: playground mode with HTML & CSS editor, no validation 2025-12-31 00:38:41 +01:00
c0bb79da9f feat: add Playground module with full-height editor 2025-12-31 00:36:14 +01:00
13798f5e83 feat: make logo clickable to navigate to welcome page 2025-12-31 00:30:34 +01:00
d5f9f1a843 style: improve hamburger menu icon with cleaner CSS 2025-12-31 00:28:18 +01:00
6c073b3517 seo: update meta description and title for HTML & CSS learning 2025-12-30 22:37:42 +01:00
d234408e1c style: improve CRISPY animation and simplify sidebar footer
- Remove ! from CRISPY, add spacing to smiley
- Use darker green for better contrast
- Increase font size to 1.3rem
- Remove GitHub link from sidebar (keep only Gitea)
2025-12-30 22:35:55 +01:00
11bcdc9c62 feat: hide Run button, update LibreTECH branding, improve welcome lessons
- Hide Run button (live preview is stable)
- Update all references from librete.ch to LibreTECH
- Add context to repo links (Gitea Source, GitHub Mirror)
- Fix welcome lesson redundant text
- Slow down CRISPY animation to 8s
- Remove editor-tools margin-right
2025-12-30 22:22:00 +01:00
c7afc1e4ce fix: add dir=rtl to Arabic Hello World text 2025-12-30 22:05:58 +01:00
9d9a6840a0 fix: fill editor with Hello World p tags on Get Started lesson 2025-12-30 22:03:37 +01:00
9181f4019a fix: shorten CRISPY animation to 4s, visible for 5s 2025-12-30 22:02:29 +01:00
ec31fedbb7 feat: add Hello World in 8 languages with colorful styling 2025-12-30 22:01:55 +01:00
59c8bf6a45 fix: center CRISPY animation with translate offset 2025-12-30 21:59:44 +01:00
926e431180 fix: simplify welcome validations, remove deprecated shortcuts, fix rerun text 2025-12-30 21:58:21 +01:00
1c2f9409dd fix: simplify welcome lesson task texts 2025-12-30 21:55:14 +01:00
4d4f25c571 fix: sync Lösung einblenden across i18n and welcome lesson 2025-12-30 21:54:31 +01:00
c404ae3ab1 fix: purple reset-code button instead of sidebar reset 2025-12-30 21:53:20 +01:00
31a99197f8 fix: update German translations and make reset button prominent 2025-12-30 21:52:13 +01:00
f135c8ee15 refactor: streamline welcome lesson with comprehensive info and links 2025-12-30 21:49:49 +01:00
5a36f094a5 fix: mobile preview-header above preview-wrapper 2025-12-30 21:47:01 +01:00
3992dcdb92 fix: mobile preview visibility with explicit flex display 2025-12-30 21:45:41 +01:00
e28f23d126 feat: add welcome lesson, DVD bounce animation, mobile layout reorder
- 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
7f3451922a style: purple background pill for CODE in logo 2025-12-30 21:34:45 +01:00
66e047a440 fix: editor min-height 50vh, scrollable instructions on desktop 2025-12-30 21:28:48 +01:00
a4787731dc 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
1185d452dc fix: make module-pill expand on mobile with spacing to buttons 2025-12-30 21:10:44 +01:00
1cb7aebb42 fix: move preview-header back to bottom, add spacing beneath 2025-12-30 21:09:46 +01:00
00b0a0f3f8 fix: remove max-height constraint from module-list 2025-12-30 21:08:26 +01:00
b6655ced44 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
3d71e37828 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
801fbe918e 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
b703992713 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
d601ae5286 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
0fc5af959f 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
52142f1594 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