chore: migrate components and delete dupes - #1012
Conversation
e407e8c to
e47f7bd
Compare
📝 WalkthroughWalkthroughThe PR migrates Formik/MUI input consumers to ChangesFormik foundation migration
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/pages/events/components/__tests__/event-type-dialog.test.js (1)
37-47: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winCover the migrated select display behavior.
This mock ignores
renderValue, so the new translated placeholder and selected-label mapping are not exercised. Add a focused test (or make the mock modelrenderValue) for empty and populated select values.🤖 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 `@src/pages/events/components/__tests__/event-type-dialog.test.js` around lines 37 - 47, Update the MockSelect in the event-type dialog tests to invoke its renderValue behavior, or add focused coverage that models it, for both empty and populated values. Assert that empty selections show the translated placeholder and populated selections use the translated selected-label mapping.
🤖 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.
Inline comments:
In `@src/pages/sponsors-global/form-templates/form-template-popup.js`:
- Line 20: Remove the legacy formik={formik} prop from migrated foundation
fields in src/pages/sponsors-global/form-templates/form-template-popup.js (lines
20-20) and src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js
(lines 23-24), including the MuiFormikTextField and quantity-field usages;
retain their existing field wiring.
---
Nitpick comments:
In `@src/pages/events/components/__tests__/event-type-dialog.test.js`:
- Around line 37-47: Update the MockSelect in the event-type dialog tests to
invoke its renderValue behavior, or add focused coverage that models it, for
both empty and populated values. Assert that empty selections show the
translated placeholder and populated selections use the translated
selected-label mapping.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a470257c-02df-4b56-a31d-22ae3d11175e
📒 Files selected for processing (51)
src/components/forms/admin-access-form.jssrc/components/forms/sponsor-settings-form/index.jssrc/components/mui/__tests__/mui-formik-checkbox-group.test.jssrc/components/mui/__tests__/mui-formik-file-size-field.test.jssrc/components/mui/__tests__/mui-formik-quantity-field.test.jssrc/components/mui/__tests__/mui-formik-radio-group.test.jssrc/components/mui/__tests__/mui-sponsor-input.test.jssrc/components/mui/formik-inputs/company-input-mui.jssrc/components/mui/formik-inputs/item-price-tiers.jssrc/components/mui/formik-inputs/mui-formik-async-select.jssrc/components/mui/formik-inputs/mui-formik-checkbox-group.jssrc/components/mui/formik-inputs/mui-formik-checkbox.jssrc/components/mui/formik-inputs/mui-formik-color-field.jssrc/components/mui/formik-inputs/mui-formik-datetimepicker.jssrc/components/mui/formik-inputs/mui-formik-discountfield.jssrc/components/mui/formik-inputs/mui-formik-dropdown-checkbox.jssrc/components/mui/formik-inputs/mui-formik-dropdown-radio.jssrc/components/mui/formik-inputs/mui-formik-file-size-field.jssrc/components/mui/formik-inputs/mui-formik-pricefield.jssrc/components/mui/formik-inputs/mui-formik-quantity-field.jssrc/components/mui/formik-inputs/mui-formik-radio-group.jssrc/components/mui/formik-inputs/mui-formik-select-group.jssrc/components/mui/formik-inputs/mui-formik-select.jssrc/components/mui/formik-inputs/mui-formik-summit-addon-select.jssrc/components/mui/formik-inputs/mui-formik-switch.jssrc/components/mui/formik-inputs/mui-formik-textfield.jssrc/components/mui/formik-inputs/mui-formik-timepicker.jssrc/components/mui/formik-inputs/mui-sponsor-input.jssrc/components/mui/formik-inputs/sponsorship-input-mui.jssrc/components/mui/formik-inputs/sponsorship-summit-select-mui.jssrc/components/mui/mui-qr-badge-popup.jssrc/components/mui/summit-addon-select.jssrc/pages/events/components/__tests__/event-type-dialog.test.jssrc/pages/events/components/event-type-dialog.jssrc/pages/sponsors-global/form-templates/form-template-popup.jssrc/pages/sponsors-global/form-templates/sponsor-inventory-popup.jssrc/pages/sponsors/popup/add-sponsor-popup.jssrc/pages/sponsors/popup/edit-tier-popup.jssrc/pages/sponsors/sponsor-form-item-list-page/components/sponsor-form-item-form.jssrc/pages/sponsors/sponsor-forms-list-page/components/form-template/form-template-form.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-badge-scans/edit-badge-scan-popup.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/add-sponsor-form-template-popup/index.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-forms-tab/components/customized-form/customized-form.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-general-form/add-extra-question-popup.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-general-form/add-tier-popup.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-general-form/manage-tier-addons-popup.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.jssrc/pages/sponsors/sponsor-page/tabs/sponsor-users-list-per-sponsor/components/sponsor-user-form.jssrc/pages/sponsors/sponsor-users-list-page/components/edit-user-popup/sponsor-section.jssrc/pages/sponsors/sponsor-users-list-page/components/edit-user-popup/sponsor-user-form.jssrc/pages/sponsors/sponsor-users-list-page/components/process-request-form.js
💤 Files with no reviewable changes (25)
- src/components/mui/formik-inputs/mui-formik-quantity-field.js
- src/components/mui/tests/mui-formik-checkbox-group.test.js
- src/components/mui/tests/mui-sponsor-input.test.js
- src/components/mui/formik-inputs/mui-formik-switch.js
- src/components/mui/formik-inputs/mui-formik-file-size-field.js
- src/components/mui/formik-inputs/mui-formik-summit-addon-select.js
- src/components/mui/tests/mui-formik-radio-group.test.js
- src/components/mui/formik-inputs/mui-formik-checkbox-group.js
- src/components/mui/formik-inputs/mui-formik-checkbox.js
- src/components/mui/formik-inputs/mui-formik-dropdown-checkbox.js
- src/components/mui/formik-inputs/mui-formik-select.js
- src/components/mui/formik-inputs/mui-formik-textfield.js
- src/components/mui/formik-inputs/company-input-mui.js
- src/components/mui/formik-inputs/mui-formik-select-group.js
- src/components/mui/tests/mui-formik-file-size-field.test.js
- src/components/mui/tests/mui-formik-quantity-field.test.js
- src/components/mui/formik-inputs/mui-formik-pricefield.js
- src/components/mui/formik-inputs/mui-formik-discountfield.js
- src/components/mui/formik-inputs/mui-sponsor-input.js
- src/components/mui/formik-inputs/mui-formik-radio-group.js
- src/components/mui/formik-inputs/sponsorship-summit-select-mui.js
- src/components/mui/formik-inputs/mui-formik-dropdown-radio.js
- src/components/mui/summit-addon-select.js
- src/components/mui/formik-inputs/sponsorship-input-mui.js
- src/components/mui/formik-inputs/mui-formik-timepicker.js
| import * as yup from "yup"; | ||
| import AdditionalInputList from "openstack-uicore-foundation/lib/components/mui/formik-inputs/additional-input-list"; | ||
| import MuiFormikTextField from "../../../components/mui/formik-inputs/mui-formik-textfield"; | ||
| import MuiFormikTextField from "openstack-uicore-foundation/lib/components/mui/formik-inputs/textfield"; |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## Relevant call sites\n'
sed -n '120,200p' src/pages/sponsors-global/form-templates/form-template-popup.js
printf '\n---\n'
sed -n '100,220p' src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js
printf '\n## Imported foundation field implementations\n'
# locate the source files in repo, if present
fd -a 'textfield' src node_modules 2>/dev/null | head -n 20
fd -a 'quantity-field' src node_modules 2>/dev/null | head -n 20Repository: fntechgit/summit-admin
Length of output: 8723
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## quantity-field implementation\n'
cat -n node_modules/openstack-uicore-foundation/lib/components/mui/formik-inputs/quantity-field.js | sed -n '1,240p'
printf '\n## textfield implementation lookup\n'
fd -a 'textfield.js' node_modules/openstack-uicore-foundation/lib/components/mui/formik-inputs 2>/dev/null || true
fd -a 'text-field.js' node_modules/openstack-uicore-foundation/lib/components/mui/formik-inputs 2>/dev/null || true
fd -a 'textfield' node_modules/openstack-uicore-foundation/lib/components/mui/formik-inputs 2>/dev/null || trueRepository: fntechgit/summit-admin
Length of output: 4128
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## textfield implementation\n'
cat -n node_modules/openstack-uicore-foundation/lib/components/mui/formik-inputs/textfield.js | sed -n '1,220p'
printf '\n## inventory of formik props in the two popup files\n'
rg -n 'formik=\{formik\}' src/pages/sponsors-global/form-templates/form-template-popup.js src/pages/sponsors-global/form-templates/sponsor-inventory-popup.jsRepository: fntechgit/summit-admin
Length of output: 3021
Drop the legacy formik prop from migrated foundation fields.
openstack-uicore-foundation/lib/components/mui/formik-inputs/textfield and quantity-field use useField and forward unknown props to MUI, so formik={formik} is just an unsupported prop on these inputs.
src/pages/sponsors-global/form-templates/form-template-popup.jssrc/pages/sponsors-global/form-templates/sponsor-inventory-popup.js
📍 Affects 2 files
src/pages/sponsors-global/form-templates/form-template-popup.js#L20-L20(this comment)src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js#L23-L24
🤖 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 `@src/pages/sponsors-global/form-templates/form-template-popup.js` at line 20,
Remove the legacy formik={formik} prop from migrated foundation fields in
src/pages/sponsors-global/form-templates/form-template-popup.js (lines 20-20)
and src/pages/sponsors-global/form-templates/sponsor-inventory-popup.js (lines
23-24), including the MuiFormikTextField and quantity-field usages; retain their
existing field wiring.
https://app.clickup.com/t/9014802374/86bat8h0n
Summary by CodeRabbit
New Features
Refactor
Tests