Commit Graph

5 Commits

Author SHA1 Message Date
juanatsap 49ecebe00a feat: restore all missing hyperscript toggle and hover sync functions
Added 6 critical hyperscript functions that were lost during parse error fix:
- toggleCVLength(isLong) - Toggle between long/short CV views with localStorage
- toggleIcons(showIcons) - Toggle icon visibility with persistence
- toggleTheme(isClean) - Toggle between default/clean themes
- syncPdfHover(show) - Synchronized hover effects for PDF download buttons
- syncPrintHover(show) - Synchronized hover effects for print buttons
- highlightZoomControl(show) - Highlight zoom control on interaction

All functions use hyperscript 0.9.12 compatible syntax (no 'else' blocks).
Each toggle function syncs between action bar and menu checkboxes.

Verified:
- Zero parse errors in browser console
- All 9 hyperscript functions properly defined
- File grew from 134 to 250 lines (+87%)
- Compatible with existing HTML templates
2025-11-16 17:13:19 +00:00
juanatsap 67545aad10 fix: restore working hyperscript from commit 1f7757c
Reverted static/hyperscript/functions._hs to the working version that
eliminates the "Expected 'end' but found 'def'" parse error.

The issue was caused by the expanded version with toggle functions.
The working version (133 lines) from commit 1f7757c has the simpler
structure that hyperscript 0.9.12 can parse correctly.

Verified with comprehensive browser testing:
- No parse errors in browser console
- Scroll behavior works correctly
- Back-to-top button shows/hides as expected
- All hyperscript functions load successfully
2025-11-16 16:57:41 +00:00
juanatsap 585f620bd6 refactor: organize hyperscript code and implement mobile button layout
This commit includes two major improvements:

1. Hyperscript Code Organization:
   - Extracted all hyperscript blocks >3 lines into reusable functions
   - Created 6 new functions in functions._hs:
     * toggleCVLength(isLong) - CV length toggle sync
     * toggleIcons(showIcons) - Icons toggle sync
     * toggleTheme(isClean) - Theme toggle sync
     * syncPdfHover(show) - PDF button synchronized hover
     * syncPrintHover(show) - Print button synchronized hover
     * highlightZoomControl(show) - Zoom control highlight effect
   - Reduced inline hyperscript from 11+ lines to 1-2 lines per element
   - Updated 8 template files to use function calls:
     * hamburger-menu.html
     * view-controls.html
     * action-buttons.html
     * download-button.html
     * print-friendly-button.html
     * zoom-toggle-button.html

2. Mobile Button Layout (max-width: 900px):
   - Repositioned three fixed buttons (PDF, Print, Info) horizontally at bottom center
   - Print button perfectly centered in viewport
   - Download button on left, Info button on right
   - Hidden zoom and shortcuts buttons on mobile (available in hamburger menu)
   - Removed conflicting old mobile styles that were hiding print button
   - Smooth hover transitions maintained with proper transform calculations

Technical details:
- Used CSS transform with calc() for precise horizontal positioning
- Maintained hover effects with combined translateX/translateY transforms
- Ensured accessibility with proper ARIA labels and spacing
- All functions check element existence before manipulation
- LocalStorage sync maintained across desktop/mobile toggles
2025-11-16 14:03:22 +00:00
juanatsap 1f7757c848 good 2025-11-15 15:59:54 +00:00
juanatsap 06eb490950 more htmx 2025-11-14 21:38:09 +00:00