Commit Graph

163 Commits

Author SHA1 Message Date
5083032735 feat: add shareable lesson links with URL routing
- Add share button with SVG link icon in lesson title row
- Create share dialog with copy URL functionality
- Implement URL hash-based routing for lesson navigation
- Support browser back/forward navigation
- Add i18n translations for share dialog in all languages
- Position share button between title and completion badge
- Add RTL support for title row layout

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-14 21:35:49 +01:00
ede3e56a5a cleanup: remove commented out and duplicate RTL code 2026-01-14 20:25:41 +01:00
53003888f1 fix(rtl): orientation and direction of elements in the sidebar 2026-01-14 19:17:36 +01:00
bb96aa1d81 fix(rtl): sidebar chevron and titles right-aligned using order property 2026-01-14 18:37:04 +01:00
1928cda18d fix(rtl): let natural RTL flex flow position burger on right edge 2026-01-14 18:36:20 +01:00
37a15d3ce0 fix(rtl): header layout, completion badge spacing, sidebar alignment, list bullets, code blocks 2026-01-14 18:12:24 +01:00
df2c8ca6f4 fix: use native details/summary marker instead of custom chevrons 2026-01-14 17:59:07 +01:00
3f88bec31a fix: use clip-path for sidebar chevrons (better cross-browser support) 2026-01-14 17:56:50 +01:00
e53233b08c fix: header pill shows module name + level, fix RTL checkmark spacing 2026-01-14 17:53:29 +01:00
72362de88b feat: add header level pill on desktop, use native details/summary for sidebar
- Add lesson indicator pill to header (visible on desktop only)
- Logo stays centered, pill on left with burger menu
- Replace emoji arrows with CSS triangles for iOS compatibility
- Use native <details>/<summary> for expand/collapse
- Update tests for new implementation
2026-01-14 17:51:34 +01:00
954f82b27c fix(animation): sync disappear timing (bowl 3s, bubble 2.7s + 0.3s delay) 2026-01-14 17:45:25 +01:00
7e9d49cead fix(animation): offset speech bubble timing for bounce effect 2026-01-14 17:27:35 +01:00
0494e4fe37 fix(animation): position speech bubble above the bowl 2026-01-14 17:24:45 +01:00
fee0e728dc fix(animation): speech bubble now animates like bowl with scale 2026-01-14 17:23:53 +01:00
033d6f51fc feat(animation): proper SVG speech bubble with tail using mask-image 2026-01-14 17:15:49 +01:00
c45c9c6682 feat(animation): speech bubble shape with tail pointing to bowl 2026-01-14 17:03:51 +01:00
1107885a7a fix(animation): bowl size to 50% of wrapper 2026-01-14 17:01:50 +01:00
3f1bd46deb fix(animation): responsive bowl size - min 200px or 1/3 wrapper width 2026-01-14 17:01:21 +01:00
95fa884471 fix(animation): center bowl peek horizontally 2026-01-14 16:59:39 +01:00
81b1e18a36 fix(animation): simplify text scale to 4 smooth keyframes 2026-01-14 15:53:19 +01:00
649180b7ec fix(animation): more dramatic text scale on entrance 2026-01-14 15:51:05 +01:00
637236c31b fix(animation): sync bowl peek timing with text animation 2026-01-14 15:50:29 +01:00
cd587ec30b fix(animation): smoother bowl peek with gentle settle motion 2026-01-14 15:49:46 +01:00
3c187ca28e fix(animation): move bowl inside preview-frame with overflow hidden 2026-01-14 15:48:53 +01:00
67db0b9ac5 fix(animation): move bowl to preview-wrapper and increase size 2026-01-14 15:47:40 +01:00
f830cf9a70 feat(animation): add bowl smiley peek animation on success
Bowl mascot now peeks up from bottom right corner when a lesson
is completed, synced with the existing "Crispyyyyyy!" animation.
2026-01-14 15:44:58 +01:00
4cafcb584e feat: enhance success animation with scale, random quotes, and persistent border
- Add scale transition (50% → 100%) to crispy badge animation
- Rotate through random encouraging quotes on completion
- Keep gradient border visible after completing a lesson
- Match completion badge gradient colors to glow effect
- Improve bounce animation with elastic bezier curve
2026-01-14 03:13:44 +01:00
f6c7cca63f feat: reorder learning path for design students and improve animations
Learning path changes:
- Reorder modules: CSS visual (selectors, colors, typography) first,
  then layout (flexbox, grid), then HTML structure last
- Add intro lessons on CSS property syntax before selectors
- Add Figure module (images with captions)
- Remove Progress/Meter module (too niche)
- Reduce Tables from 3 to 1 lesson
- Reduce Form Validation from 3 to 1 lesson
- Rename "CSS Selectors" module to "CSS Basics"

Animation improvements:
- Change success text to "Your CODE looks CRISPY!"
- Increase animation duration to 3s
- Fix Firefox glow: use linear-gradient pulse instead of conic rotation
- Fix expected result toggle: match padding to prevent layout jump

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-14 01:30:19 +01:00
c397397c54 feat: bigger border (6px), colorful conic glow, reduced padding
- Border increased from 4px to 6px
- Glow layer uses same conic-gradient with 20px blur
- Reduced preview-frame padding to compensate
- Higher glow opacity (0.8) for more vibrant effect
2026-01-13 21:29:19 +01:00
4d0f511814 fix: thicker border (4px) and add transparent border by default
- preview-wrapper now has 4px transparent border by default
- No layout jump when animation activates
- Larger glow layer for better effect
2026-01-13 21:27:59 +01:00
bd55af0682 feat: implement rotating gradient border using @property technique
Based on https://codetv.dev/blog/animated-css-gradient-border
- Uses @property for smooth angle interpolation
- Two backgrounds: padding-box + border-box approach
- Blurred glow layer synced with border rotation
- Works in Chrome, Safari, Edge (not Firefox)
2026-01-13 21:26:18 +01:00
432066a6d4 fix: simplify rotating border with proper z-index and drop-shadow glow 2026-01-13 21:23:04 +01:00
5cfa72dab0 fix: make gradient rotate anti-clockwise around border
Use transform: rotate(-360deg) to physically spin the conic-gradient
around the preview border. Two layers:
- Blurred glow layer (z-index: -2)
- Crisp border using mask-composite (z-index: -1)

The gradient colors (purple/magenta/cyan/violet) now visually travel
anti-clockwise around the border like Gemini's UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-13 21:17:52 +01:00
7f3b1944d2 fix: use box-shadow animation for cross-browser compatibility
Previous implementation used CSS @property which isn't supported in
Firefox. New approach uses animated box-shadow with three layers:
- 3px solid border cycling through colors
- 15px inner glow
- 30px outer glow

Colors cycle: purple → magenta → cyan → violet → purple, then fade out.
Works in all modern browsers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-13 21:15:50 +01:00
d96c70be05 feat: replace completion animation with Gemini-style rotating gradient glow
- Remove bouncing "CRISPY" text animation (dvd-bounce)
- Add rotating conic-gradient border with glow effect
- Colors: purple (#9b59b6), magenta (#e040fb), cyan (#00bcd4), violet (#7c4dff)
- Animation plays once (2.5s) then fades out so students can continue
- Update success colors from green to purple theme:
  - success-color: #9b6dd4
  - success-color-dark: #7c4dff
  - success-color-light: #c9b8e8
- Uses CSS @property for animating conic-gradient angle
- Two layers: blurred glow + crisp border using mask-composite

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-13 21:13:54 +01:00
76e7e40256 feat: restructure learning path with new modules and enhanced explanations
- Add CSS Colors, Typography, Advanced Selectors, and Grid modules
- Remove deprecated HTML Marquee module from all languages
- Remove redundant div & span lesson from HTML Block & Inline
- Move SVG module from HTML to CSS section
- Enhance first lessons with comprehensive explanations:
  - Flexbox: historical context, axes concept
  - Colors: named colors, background-color explained
  - Grid: comparison to Flexbox, key properties
- Swap header logo highlight (CRISPIES instead of CODE)
- Use English fallbacks for new modules in non-EN languages
- Fix test to include 'playground' mode

New path: 19 modules (~78 lessons) vs previous 16 modules (62 lessons)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-13 20:32:45 +01:00
f7a8b85157 feat: add reset code confirmation dialog with skip option
- Add dialog to confirm resetting code to initial state
- Allow users to skip confirmation with "don't show again" checkbox
- Save preference to user settings
- Improve i18n and CodeEditor components
2026-01-07 14:16:45 +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
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
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
9181f4019a fix: shorten CRISPY animation to 4s, visible for 5s 2025-12-30 22:02:29 +01:00
59c8bf6a45 fix: center CRISPY animation with translate offset 2025-12-30 21:59:44 +01:00
c404ae3ab1 fix: purple reset-code button instead of sidebar reset 2025-12-30 21:53:20 +01:00