fix: Mobile hamburger menu and iPad sidebar visibility

Mobile fixes:
- Add click toggle handler for hamburger menu (was hover-only)
- Menu now opens/closes on tap and closes when clicking outside
- Keep hover support for desktop

iPad fixes:
- Sidebar content now visible on touch devices (901-1280px)
- Added (hover: hover) media query to prevent hide-on-hover on tablets

Security improvements:
- Replace exec.CommandContext with go-git library for git operations
- Add path traversal and command injection prevention
- Fix race condition in template hot reload
- Add environment-based cookie Secure flag

Code quality:
- Add constants.go for magic numbers
- Remove unused code (ParsePreferenceToggleRequest, DomainError)
- Add FOUC prevention with inline critical CSS
- Add Makefile dev/run/clean targets
- Fix README git clone URL
- Add doc/DECISIONS.md for architectural decisions

Tests:
- Add hamburger menu click toggle tests
- Add iPad sidebar visibility tests
- Update security tests for go-git implementation
- Add cookie Secure flag tests
This commit is contained in:
juanatsap
2025-11-30 09:29:35 +00:00
parent 60c1b5ac2b
commit eb92f64e93
18 changed files with 874 additions and 183 deletions
+8 -5
View File
@@ -77,16 +77,19 @@ If you want to explore the code or run it locally:
\`\`\`bash
# Download the code
git clone https://github.com/txemac/cv.git
cd cv
git clone https://github.com/juanatsap/cv-site.git
cd cv-site
# Option 1: Using Make (recommended)
# Option 1: Using Make - Development mode with hot reload (recommended)
make dev
# Option 2: Using Go directly
# Option 2: Using Make - Production mode
make run
# Option 3: Using Go directly
go run main.go
# Option 3: Build and run binary
# Option 4: Build and run binary
go build -o cv-server && ./cv-server
\`\`\`