Skip to content

MPDX-9606 Reorder partner reminder frequencies and clarify status labels#1807

Merged
wjames111 merged 3 commits into
mainfrom
MPDX-9606
May 26, 2026
Merged

MPDX-9606 Reorder partner reminder frequencies and clarify status labels#1807
wjames111 merged 3 commits into
mainfrom
MPDX-9606

Conversation

@wjames111

@wjames111 wjames111 commented May 26, 2026

Copy link
Copy Markdown
Contributor

Description

  • Reorder the Reminder Status dropdown in Ministry Partner Reminders by duration (Monthly → Annually) instead of alphabetical, with the two non-reminder statuses at the bottom.
  • Rename "Do Not Remind" → "Requested No Reminder" to make the donor-driven opt-out explicit (matches the display value used in SSW's Frequency.java).
  • Rename "Not Reminded" → "Not Yet Enrolled" to distinguish the default state from the explicit opt-out (per SSW's Javadoc: "not currently being reminded, but is eligible to be enrolled in reminders").

Related ticket: MPDX-9606

Testing

  • Impersonate an HCM user with Ministry Partner Reminders data (e.g. caleb.cox@cru.org)
  • Navigate to HR Tools → Ministry Partner Reminders
  • Open any Reminder Status dropdown and confirm the options appear in this order:
    1. Monthly
    2. Bi-Monthly
    3. Quarterly
    4. Semi-Annually
    5. Annually
    6. Requested No Reminder
    7. Not Yet Enrolled
  • Confirm partners with no assigned frequency show "Not Yet Enrolled" in the Status column (and in the printed report)
  • Confirm partners previously shown as "Do Not Remind" now show "Requested No Reminder"

Checklist:

  • I have given my PR a title with the format "MPDX-(JIRA#) (summary sentence max 80 chars)"
  • I have applied the appropriate labels (Add the label "Preview" to automatically create a preview environment)
  • I have run the Claude Code /pr-review command locally and fixed any relevant suggestions
  • I have requested a review from another person on the project
  • I have tested my changes in preview or in staging
  • I have cleaned up my commit history

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Bundle sizes [mpdx-react]

Compared against 65e17c2

No significant changes found

@wjames111 wjames111 self-assigned this May 26, 2026
@wjames111 wjames111 added Preview Environment Add this label to create an Amplify Preview On Staging Will be merged to the staging branch by Github Actions labels May 26, 2026

@wjames111 wjames111 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multi-Agent Code Review

Verdict: APPROVED_WITH_SUGGESTIONS — no blockers, 1 Important + 2 Medium findings worth a look before merge.

Mode: standard · Risk: LOW (2/10) · Agents: Architecture, Testing, Standards, UX, Financial Reporting

Summary

Clean, focused PR: renames two user-visible partner-reminder status labels (Do Not RemindRequested No Reminder, Not RemindedNot Yet Enrolled) and reorders the StatusSelect dropdown via an explicit orderedStatuses array. All three test files are updated, no orphan references to the old strings remain anywhere in src/ or pages/, translation keys are added in correct alphabetical position, and the single source of truth (getLocalizedReminderStatus) keeps the screen and print views aligned.

Net architectural impact is slightly positive — the dropdown's display order no longer depends on the GraphQL enum's declaration order.

Findings

# Severity Where Issue
1 7.0 Important StatusSelect.tsx:26 width: 150 likely truncates Requested No Reminder (21 chars).
2 6.5 Medium StatusSelect.tsx:10 No exhaustiveness check — a new enum value will be silently dropped.
3 6.5 Medium getLocalizedReminderStatus.ts:23 Verify "Not Yet Enrolled" semantics if no actual enrollment flow exists.

Details on each are posted inline. The Standards, Architecture, and Financial Reporting agents found no issues.

Pre-existing (Informational — not in this PR's scope)

  • StatusSelect.tsx:26 — Select has no accessible name. No <InputLabel>, no aria-label, no aria-labelledby. Screen-reader users hear only "combobox" plus the current value. The header cell at RemindersTable.tsx:142 has id="status-col" (apparent intent to associate) but nothing consumes it. Pre-existing and out of scope here, but flagged because this PR is specifically about clarifying the labels SR users will hear.

Locale files (Informational)

The old Not Reminded / Do Not Remind keys still exist in non-English public/locales/*/translation.json files. These are CrowdIn-managed and excluded from review per .CLAUDE/rules/code-review.md. The standard CrowdIn sync (yarn crowdin:upload) should propagate the new keys; old keys will be cleaned up on the next pull.

Standards Checklist

  • Named exports: ✅
  • Localization (no dynamic keys, no interpolation, alphabetical placement): ✅
  • TypeScript (no any, no @ts-ignore, no !): ✅
  • Tests colocated, default branch covered for undefined: ✅
  • No console.log / debugger / unkeyed TODO: ✅
  • Code quality: ✅

Comment thread src/lib/functions/getLocalizedReminderStatus.ts

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Review Auto-Approval

Risk Level: LOW (2/10)
Verdict: APPROVED_WITH_SUGGESTIONS (suggestions posted, no blockers)

This PR was auto-approved because:

  • The multi-agent AI review determined it is low risk
  • No blocking issues were found
  • All suggestions have been posted as review comments for the developer to consider

If you believe this PR needs human review, dismiss this approval and request a review manually.

@github-actions

Copy link
Copy Markdown
Contributor

Preview branch generated at https://MPDX-9606.d3dytjb8adxkk5.amplifyapp.com

@wjames111 wjames111 enabled auto-merge (squash) May 26, 2026 20:52
@wjames111 wjames111 merged commit a524e15 into main May 26, 2026
24 checks passed
@wjames111 wjames111 deleted the MPDX-9606 branch May 26, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

On Staging Will be merged to the staging branch by Github Actions Preview Environment Add this label to create an Amplify Preview

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant