Enhance mobile experience and add zalgo text variants

Mobile improvements:
- Comprehensive responsive design for 320px-4K screens
- Touch-optimized controls with larger touch targets
- iOS zoom prevention with 16px font sizes on inputs
- Swipe-friendly interface with better spacing
- Portrait and landscape orientation support
- Enhanced accessibility with better contrast and sizes

Zalgo variants implemented:
- Full Chaos: Balanced corruption (default)
- Above Only: Marks above characters only
- Below Only: Marks below characters only
- Middle Only: Overlaying marks
- Mini Glitch: Subtle corruption
- Heavy Corruption: Maximum chaos overload

UI enhancements:
- Added corruption mode selector dropdown
- Reorganized controls into responsive groups
- Improved mobile control layouts
- Better visual hierarchy and spacing

Code quality:
- Fixed ESLint/Prettier indentation conflict
- Enhanced ZalgoGenerator with mode parameter
- Added event handlers for mode selection
- Comprehensive mobile CSS with multiple breakpoints

Documentation:
- Created comprehensive README with zalgo examples
- Documented all corruption modes with examples
- Added development and deployment instructions

The app now provides a perfect mobile experience with
diverse zalgo corruption options for creative text effects.

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-08-18 20:30:05 +02:00
commit 7b0a3746d5
6 changed files with 377 additions and 23 deletions

View file

@ -13,6 +13,7 @@ const inputText = document.getElementById('inputText');
const outputText = document.getElementById('outputText');
const intensitySlider = document.getElementById('intensity');
const intensityValue = document.getElementById('intensityValue');
const zalgoModeSelect = document.getElementById('zalgoMode');
const clearBtn = document.getElementById('clearBtn');
const copyNotification = document.getElementById('copyNotification');
@ -22,9 +23,10 @@ const copyNotification = document.getElementById('copyNotification');
function updateOutput() {
const text = inputText.value;
const intensity = parseInt(intensitySlider.value);
const mode = zalgoModeSelect.value;
if (text) {
outputText.value = zalgo.generate(text, intensity);
outputText.value = zalgo.generate(text, intensity, mode);
} else {
outputText.value = '';
}
@ -74,6 +76,8 @@ intensitySlider.addEventListener('input', () => {
updateOutput();
});
zalgoModeSelect.addEventListener('change', updateOutput);
outputText.addEventListener('click', copyToClipboard);
clearBtn.addEventListener('click', clearAll);