feat: Add selection for sharing referrals vs action plan in print - #171
Merged
Conversation
- Add PrintOptionsDialog component to let users choose between: - "Action Plan Only" - includes action plan + compact resource contact info - "Full Referrals" - includes full resource details with descriptions - Add CompactResourceList component showing contact info without descriptions - Update PrintableReferralsReport to support different print modes - Fix streaming resources parsing to filter out __reasoning__ markers from backend responses (fixes "No resources found" bug) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- PrintOptionsDialog: Increase modal width, improve color contrast, add ARIA attributes and visible focus indicators - CompactResourceList: Use semantic HTML (section, ol, article, dl), add screen reader labels, improve color contrast, add focus styles Both components now meet WCAG 2.2 Level AA requirements. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move CompactResourceList to top of action-plan-only print view - Streamline header: flex layout, smaller text, date on right side 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add PrintOptionsDialog tests (dialog behavior, mode selection) - Add CompactResourceList tests (rendering, accessibility, contact info) - Update printReferrals tests for new header format and print modes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create EmailOptionsDialog component with same options as print - Update EmailReferralsButton to show mode selection when action plan exists - Add tests for EmailOptionsDialog Users can now choose between "Action Plan Only" or "Action Plan + Full Referrals" when emailing, similar to the print functionality. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create ShareOptionsDialog with variant prop for print/email - Reduce PrintOptionsDialog to thin wrapper (102 → 14 lines) - Reduce EmailOptionsDialog to thin wrapper (102 → 14 lines) - Export shared ShareMode type for consistency Eliminates ~180 lines of duplicate code while maintaining the same API for existing consumers. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
|---|---|---|---|
| 🔴 | Statements | 49.76% (+1.03% 🔼) |
524/1053 |
| 🔴 | Branches | 49.77% (+2.08% 🔼) |
217/436 |
| 🟡 | Functions | 64.33% (+0.82% 🔼) |
101/157 |
| 🔴 | Lines | 49.55% (+1.04% 🔼) |
497/1003 |
Show new covered files 🐣
St.❔ |
File | Statements | Branches | Functions | Lines |
|---|---|---|---|---|---|
| 🟢 | ... / CompactResourceList.tsx |
100% | 100% | 100% | 100% |
| 🟢 | ... / PrintOptionsDialog.tsx |
100% | 100% | 100% | 100% |
| 🟢 | ... / ShareOptionsDialog.tsx |
100% | 80% | 100% | 100% |
Show files with reduced coverage 🔻
St.❔ |
File | Statements | Branches | Functions | Lines |
|---|---|---|---|---|---|
| 🟡 | ... / page.tsx |
68.73% (-0.71% 🔻) |
80.72% (-0.76% 🔻) |
65.96% (-2.93% 🔻) |
68.94% (-0.75% 🔻) |
Test suite run success
116 tests passing in 10 suites.
Report generated by 🧪jest coverage report action from ddddc28
ESLint jest-dom/prefer-empty rule requires toBeEmptyDOMElement() instead of checking container.firstChild. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove tests that only verify presence of elements without testing behavior: - PrintOptionsDialog: removed 4 tests (renders dialog, open=false, descriptions) - CompactResourceList: removed 2 tests (heading, numbered list) Remaining tests verify actual user interactions and semantic behavior. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The email mode selection was inverted - "Action Plan Only" was sending only resources without the action plan. Now mode controls resource formatting: full-referrals shows full details, action-plan-only shows contact info only. Both modes include the action plan when available. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Break long function signatures into multiple lines to pass Black formatter checks in CI. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- EMAIL_INTRO_ACTION_PLAN_ONLY emphasizes the action plan and contact info - EMAIL_INTRO_FULL (unchanged) references full resource details - EmailFullResult uses appropriate intro based on mode parameter Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file belongs to a different feature branch. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Email mode selection was developed but deferred due to backend deployment issues. Changes have been saved to docs/email-mode-changes.md for future implementation. This PR now focuses only on print mode selection: - Full Referrals: action plan + full resource details - Action Plan Only: action plan + contact info only Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove slide animation from dialogs (cleaner fade/zoom) - Update email modal text with conditional titles based on action plan - Fix button color contrast (blue primary, proper gray secondary) - Add hover:text-gray-900 to prevent contrast issues on hover Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change title to "Your Resource Guide from Goodwill" (larger, 24px) - Add personalized subtitles based on print mode - Simplify date format and move to right side Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Split JSX attributes across multiple lines per prettier rules. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
michelle-hadfield-nava
approved these changes
Jan 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
npm run test- all tests should pass🤖 Generated with Claude Code
Preview environment for frontend
♻️ Environment destroyed ♻️
Preview environment for app
♻️ Environment destroyed ♻️