Refactor Marketplace page into typed controls and content components#19149
Refactor Marketplace page into typed controls and content components#19149Copilot wants to merge 2 commits into
Conversation
✅ Deploy Preview for kubestellarconsole ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
👋 Hey @Copilot — thanks for opening this PR!
This is an automated message. |
Signed-off-by: GitHub <noreply@github.com>
|
Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits. 📝 Please follow instructions in the contributing guide to update your commits with the DCO Full details of the Developer Certificate of Origin can be found at developercertificate.org. The list of commits missing DCO signoff:
DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
| New file | Suggested test location |
|---|---|
web/src/components/marketplace/MarketplaceContent.tsx |
web/src/components/marketplace/__tests__/MarketplaceContent.test.tsx |
web/src/components/marketplace/MarketplaceControls.tsx |
web/src/components/marketplace/__tests__/MarketplaceControls.test.tsx |
Checked against origin/main. Remove the needs-tests label once tests are added.
Auto Test GeneratorThe following new files have no corresponding test file:
Please add tests or apply the |
📌 Fixes
📝 Summary of Changes
Marketplace UI structure was consolidated in
Marketplace.tsx, mixing page state, filter chrome, and content presenters in one file. This change extracts controls and content rendering into focused typed components while keeping behavior and state flow unchanged.Controls extraction
MarketplaceControls.tsxViewMode,SortField,SortOrder) instead of implicit page-state couplingContent presenter extraction
MarketplaceContent.tsxThin page container
Marketplace.tsxnow focuses on orchestration: hook state, sort/group derivation, install/remove actions, and wiring props to extracted componentsTest touch-up
Marketplace.test.tsxto assert export availability for the two new componentsChanges Made
web/src/components/marketplace/Marketplace.tsxto delegate controls/content renderingweb/src/components/marketplace/MarketplaceControls.tsxweb/src/components/marketplace/MarketplaceContent.tsxweb/src/components/marketplace/Marketplace.test.tsxChecklist
Please ensure the following before submitting your PR:
git commit -s)Screenshots or Logs (if applicable)
👀 Reviewer Notes