soroban-abacus-flashcards/apps/web
Thomas Hallock 085d200da4 feat: add split-action share button with copy shortcut
Add intuitive share UI with dual functionality:

PreviewCenter (Dropdown Menu):
- Single menu item: "📱 Share" (opens QR modal) | "📋" (quick copy)
- Copy button on right side with visual feedback
- Shows ✓ checkmark + green highlight for 2 seconds after copy
- Loading state () during share link generation

ActionsSidebar (Full Buttons):
- Button group: "📱 Share" takes most space | "📋" copy shortcut
- Same visual feedback and loading states
- Maintains button styling consistency

Quick Copy Flow:
- Lazy generation: Creates share link only when copy is clicked
- Auto-copies to clipboard without opening modal
- Visual confirmation: Icon changes to ✓, background turns green
- Error handling with console logs

Both UIs provide:
- Main action: Opens QR code modal for sharing
- Shortcut action: Direct clipboard copy
- Disabled state during generation
- Hover effects on both parts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 11:17:44 -06:00
..
.claude refactor: eliminate prop drilling with WorksheetConfigContext 2025-11-11 06:24:24 -06:00
.storybook fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
__tests__ fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
content/blog chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
data refactor: change operator values from Unicode to alphanumeric strings 2025-11-10 14:51:03 -06:00
docs fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
drizzle feat: add worksheet sharing infrastructure with database persistence 2025-11-11 11:17:44 -06:00
e2e fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
public refactor(worksheets): extract ConfigPanel helper components (Phase 1) 2025-11-08 11:50:49 -06:00
scripts fix: remove redundant 'Teens minus singles' subtraction skill 2025-11-10 15:47:18 -06:00
src feat: add split-action share button with copy shortcut 2025-11-11 11:17:44 -06:00
.dockerignore.test chore: trigger Docker rebuild 2025-11-07 12:11:46 -06:00
.gitignore
CARD_SORTING_PORT_PLAN.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
COMPLEMENT_RACE_PORT_PLAN.md
DEVELOPMENT_STANDARDS.md
LINTING.md
README.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
biome.jsonc fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
drizzle.config.ts fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
eslint.config.js fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
next-env.d.ts
next.config.js feat: enable production source maps for easier debugging 2025-11-08 20:32:06 -06:00
package.json feat: add worksheet sharing infrastructure with database persistence 2025-11-11 11:17:44 -06:00
panda.config.ts fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
playwright.config.ts fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
pnpm-lock.yaml
server.js fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
svg-processing-test.js fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00
test-arcade-api.sh
test-flashcards-final.pdf
test-flashcards.pdf
test-simplified.pdf
test_fullscreen_persistence.html
test_panda_simple.html
tsconfig.json
tsconfig.server.json
vitest.config.ts fix(worksheets): ten-frames not rendering in mastery mode 2025-11-10 10:06:27 -06:00

README.md

Test deployment - Mon Nov 3 16:31:57 CST 2025