soroban-abacus-flashcards/apps/web/.claude
Thomas Hallock fc1d7fcbd6 feat: add responsive mobile drawer with draggable settings button
Implement a mobile-friendly settings interface for the worksheet generator:

**Mobile Layout (< 768px):**
- Full-screen worksheet preview
- Floating draggable settings button showing current config summary
- Settings drawer slides in from left (90% width, max 400px)
- Swipe-left gesture, backdrop click, or Escape key to close

**Desktop Layout (>= 768px):**
- Keeps existing resizable panel layout with grab tab
- No changes to desktop UX

**Draggable Settings Button:**
- Drag anywhere on screen with safe 16px margins
- Never overlaps nav bar or action buttons (constrained to safe zone)
- Position persists in localStorage
- Visual feedback: grab/grabbing cursor, elevated shadow while dragging
- Smart click detection: only opens drawer on click, not after drag

**Settings Summary:**
- Shows human-readable config with icons (📄🎨🎯)
- Multi-line format: operator, layout, scaffolding, difficulty
- Updates live as settings change

**New Components:**
- useMediaQuery hook for responsive breakpoint detection
- MobileDrawer with backdrop and animations
- MobileSettingsButton with drag-and-drop
- ResponsivePanelLayout wrapper (conditionally renders mobile or desktop)
- generateSettingsSummary utility with icon system

**Integration:**
- AdditionWorksheetClient now uses ResponsivePanelLayout
- Single codebase handles both mobile and desktop seamlessly
- No breaking changes to existing desktop functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 13:16:08 -06:00
..
3D_PRINTING_DOCKER.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
ARCADE_ARCHITECTURE.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
ARCADE_ROUTING_ARCHITECTURE.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
ARCADE_SETUP_PATTERN.md fix: prevent database imports from being bundled into client code 2025-10-10 11:40:46 -05:00
BLOG_EXAMPLES_PATTERN.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
CARD_SORTING_AUDIT.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
CARD_SORTING_MULTIPLAYER_PLAN.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
CARD_SORTING_SPECTATOR_UX.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
CLAUDE.md docs: link problem generation docs to README graph 2025-11-12 09:32:37 -06:00
CODE_QUALITY_REGIME.md fix: prevent database imports from being bundled into client code 2025-10-10 11:40:46 -05:00
COMPLEMENT_RACE_ASSESSMENT.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
COMPLEMENT_RACE_MIGRATION_PLAN.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
COMPLEMENT_RACE_MULTIPLAYER_REVIEW.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
COMPLEMENT_RACE_PROGRESS_SUMMARY.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
COMPLEMENT_RACE_STATE_ADAPTER.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
CONFIGPANEL_REFACTORING_COMPLETE.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
CONFIGPANEL_REFACTORING_PLAN.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
DEPLOYMENT.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
EDUCATION_ROADMAP.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
GAME_SETTINGS_PERSISTENCE.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
GAME_SETTINGS_REFACTORING.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
GAME_STATS_COMPARISON.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
GAME_THEMES.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
GOOGLE_CLASSROOM_SETUP.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
MANUAL_MIGRATION_0011.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
MATCHING_GAME_STATS_INTEGRATION.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
PANDA_CSS_DYNAMIC_TOKENS.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
PER_PLAYER_STATS_ARCHITECTURE.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
PLATFORM_INTEGRATION_ROADMAP.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
PLAYER_OWNERSHIP_CENTRALIZATION_PLAN.md fix: prevent database imports from being bundled into client code 2025-10-10 11:40:46 -05:00
PLAYING_GUIDE_MODAL_SPEC.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
PROBLEM_GENERATION.md docs: comprehensive problem generation documentation 2025-11-12 09:19:20 -06:00
PROGRESSION_PEDAGOGY.md fix: respect user's layout options (problemNumbers/cellBorders) in mastery mode 2025-11-10 18:53:57 -06:00
RESIZE_HANDLE_TAB_REQUIREMENTS.md feat: add visual grab tab to resize handle with rounded corners 2025-11-12 12:30:21 -06:00
SKILL_CONFIGURATION_PLAN.md feat: add database schema for custom skills and skill customizations 2025-11-11 13:30:36 -06:00
SUBTRACTION_BORROWING_BUG_FIX.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
THEME_AUDIT.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
THEME_AUDIT_SUMMARY.txt feat: implement light/dark theme system with semantic tokens 2025-11-07 16:47:04 -06:00
THEME_IMPLEMENTATION_CHECKLIST.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
THEME_IMPLEMENTATION_PLAN.md chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
TUTORIAL_SYSTEM.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
UI_STYLE_GUIDE.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
WORKSHEET_GRADING_POSTMORTEM.md fix: respect user's layout options (problemNumbers/cellBorders) in mastery mode 2025-11-10 18:53:57 -06:00
WORKSHEET_GRADING_SPEC_V2.md fix: respect user's layout options (problemNumbers/cellBorders) in mastery mode 2025-11-10 18:53:57 -06:00
WORKSHEET_GRADING_STATUS.md fix: respect user's layout options (problemNumbers/cellBorders) in mastery mode 2025-11-10 18:53:57 -06:00
Z_INDEX_MANAGEMENT.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
settings.local.json feat: add responsive mobile drawer with draggable settings button 2025-11-12 13:16:08 -06:00