Skip to content

Frontend/social work npdb categories - #1807

Merged
isabeleliassen merged 4 commits into
csg-org:mainfrom
InspiringApps:frontend/sw-npdb-categories
Aug 13, 2026
Merged

Frontend/social work npdb categories#1807
isabeleliassen merged 4 commits into
csg-org:mainfrom
InspiringApps:frontend/sw-npdb-categories

Conversation

@jsandoval81

@jsandoval81 jsandoval81 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Requirements List

  • None

Description List

  • Updated the NPDB categories for Social Work
  • Cleaned up the encumber list structure in the License & Privilege card components
  • Moved the encumber lists definition to app config
  • Updated the Help Center link on the public dashboard (Update Help Center link #1804)

Testing List

  • yarn test:unit:all should run without errors or warnings
  • yarn serve should run without errors or warnings
  • yarn build should run without errors or warnings
  • Code review
  • Confirm the public dashboard Help Center link now points to https://compactconnect.org/?page_id=399
  • Login as staff admin and confirm the License & Privilege encumber modals have the expected values in the action & categories lists
    • JCC compacts & Social Work should also have the NPDB categories list as a multi-select. Cosmetology should still be a single select.

Closes #1759
Closes #1804

Summary by CodeRabbit

New Features

  • Encumbrance Options

    • Updated license and privilege discipline and NPDB options for each application mode.
    • Added multi-select NPDB support for Social Work, alongside existing JCC support.
    • Added new NPDB categories, including conflict of interest, substandard care, and improper medication or drug violations.
  • Localization

    • Added English and Spanish translations for the new NPDB categories.
  • Updates

    • Updated the public dashboard footer link to the Compact Connect website.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The PR centralizes app-mode-specific discipline and NPDB configuration for license and privilege encumbrances. It adds Social Work NPDB support and translations, updates the dashboard help link, and increases the webpack entrypoint warning threshold.

Changes

Encumbrance configuration and integration

Layer / File(s) Summary
Mode-specific encumbrance options
webroot/src/app.config.ts, webroot/src/components/LicenseCard/LicenseCard.ts, webroot/src/components/PrivilegeCard/PrivilegeCard.ts, webroot/src/components/*/*.spec.ts
Configuration helpers provide mode-specific discipline and NPDB allowlists. Both cards use these allowlists and enable NPDB multi-select for JCC and Social Work. Tests cover JCC, cosmetology, and Social Work modes.
NPDB category translations
webroot/src/locales/en.json, webroot/src/locales/es.json
English and Spanish translations define three additional NPDB categories.
Dashboard and build settings
webroot/src/pages/PublicDashboard/PublicDashboard.vue, webroot/vue.config.js
The footer help link points to Compact Connect. The webpack entrypoint warning threshold increases.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested reviewers: chiefstief, landonshumway-ia, rmolinares

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The webpack entrypoint size warning threshold change is unrelated to the linked issue objectives. Remove the unrelated vue.config.js threshold change or provide a linked requirement that justifies it.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: adding Social Work NPDB categories.
Description check ✅ Passed The description includes the change summary, testing requirements, issue links, and validation steps for both linked objectives.
Linked Issues check ✅ Passed The PR updates Social Work encumbrance categories and changes the dashboard Help Center link to the required URL for issues [#1759] and [#1804].
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jsandoval81
jsandoval81 requested review from ChiefStief and removed request for ChiefStief August 4, 2026 20:55
@ChiefStief

Copy link
Copy Markdown
Collaborator

Im getting the same auth mocking issue here I think:

Error: AggregateError
    at Object.dispatchError (/Users/danastiefel/sites/inspiringapps/JCC-CompactConnect/webroot/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js:63:19)
    at Request.<anonymous> (/Users/danastiefel/sites/inspiringapps/JCC-CompactConnect/webroot/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js:655:18)
    at Request.emit (node:events:520:35)
    at ClientRequest.<anonymous> (/Users/danastiefel/sites/inspiringapps/JCC-CompactConnect/webroot/node_modules/jsdom/lib/jsdom/living/helpers/http-request.js:121:14)
    at ClientRequest.emit (node:events:508:28)
    at emitErrorEvent (node:_http_client:108:11)
    at Socket.socketErrorListener (node:_http_client:575:5)
    at Socket.emit (node:events:508:28)
    at emitErrorNT (node:internal/streams/destroy:170:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at processTicksAndRejections (node:internal/process/task_queues:89:21)
    ```

@ChiefStief ChiefStief left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good!

Just have the two comments.

Comment thread webroot/src/components/LicenseCard/LicenseCard.ts Outdated
@jsandoval81
jsandoval81 requested a review from ChiefStief August 7, 2026 18:02

@coderabbitai coderabbitai 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
webroot/src/components/LicenseCard/LicenseCard.ts (1)

291-301: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Both cards can produce two blank discipline options. Each encumberDisciplineOptions getter retains options whose value is '' in the filter and then prepends a blank option unconditionally. If licensing.disciplineTypes contains an empty-key entry, the select shows two blank options and the encumberDisciplineOptions[1] lookup in mockPopulate returns a blank value.

  • webroot/src/components/LicenseCard/LicenseCard.ts#L291-L301: remove || option.value === '' from the filter at line 295, or make the unshift at line 298 conditional on the absence of an existing blank option.
  • webroot/src/components/PrivilegeCard/PrivilegeCard.ts#L242-L252: apply the same change at line 246 and line 249.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@webroot/src/components/LicenseCard/LicenseCard.ts` around lines 291 - 301,
Both encumberDisciplineOptions getters can expose duplicate blank choices. In
webroot/src/components/LicenseCard/LicenseCard.ts lines 291-301 and
webroot/src/components/PrivilegeCard/PrivilegeCard.ts lines 242-252, update the
option filtering in each getter to exclude empty values before unconditionally
prepending the single blank selection, so encumberDisciplineOptions[1] resolves
to a real discipline option.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@webroot/src/components/LicenseCard/LicenseCard.ts`:
- Around line 291-301: Both encumberDisciplineOptions getters can expose
duplicate blank choices. In webroot/src/components/LicenseCard/LicenseCard.ts
lines 291-301 and webroot/src/components/PrivilegeCard/PrivilegeCard.ts lines
242-252, update the option filtering in each getter to exclude empty values
before unconditionally prepending the single blank selection, so
encumberDisciplineOptions[1] resolves to a real discipline option.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 17212721-aaba-4544-b583-6ca60529356d

📥 Commits

Reviewing files that changed from the base of the PR and between 2bec0c4 and ce1e082.

📒 Files selected for processing (8)
  • webroot/src/app.config.ts
  • webroot/src/components/LicenseCard/LicenseCard.spec.ts
  • webroot/src/components/LicenseCard/LicenseCard.ts
  • webroot/src/components/PrivilegeCard/PrivilegeCard.spec.ts
  • webroot/src/components/PrivilegeCard/PrivilegeCard.ts
  • webroot/src/locales/en.json
  • webroot/src/locales/es.json
  • webroot/vue.config.js
🚧 Files skipped from review as they are similar to previous changes (2)
  • webroot/src/locales/en.json
  • webroot/src/locales/es.json

@ChiefStief ChiefStief left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good!

@jsandoval81
jsandoval81 requested a review from jlkravitz August 10, 2026 23:11
@jsandoval81

Copy link
Copy Markdown
Collaborator Author

@jlkravitz This is ready for your review.

@jlkravitz jlkravitz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@isabeleliassen This is good to merge!

@isabeleliassen
isabeleliassen merged commit d048e23 into csg-org:main Aug 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Help Center link SW - update encumbrance categories

4 participants