InfoTab: Extract shared components and update UI#539
InfoTab: Extract shared components and update UI#539skoeva wants to merge 3 commits intoAzure:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors the AKS Desktop plugin UI by extracting wizard step components into components/shared/ and reusing them in multiple flows, while also aligning the InfoTab layout with other tabs.
Changes:
- Moved/reused
NetworkingStep,ComputeStep,FormField, andResourceCardfrom CreateAKSProject intocomponents/shared/, updating import sites (CreateAKSProject, CreateNamespace, InfoTab, stories, and Guidepup tests). - Updated
NetworkingStepto place ingress/egress selectors side-by-side using an MUIGridlayout. - Replaced
InfoTab’sCard/CardContentwrapper with a paddedBoxfor consistency with other tabs.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/aks-desktop/src/components/shared/ResourceCard.tsx | Updates prop type import path after extraction/reuse. |
| plugins/aks-desktop/src/components/shared/FormField.tsx | Updates prop type import path after extraction/reuse. |
| plugins/aks-desktop/src/components/shared/ComputeStep.tsx | Updates prop type import path after extraction/reuse. |
| plugins/aks-desktop/src/components/shared/NetworkingStep.tsx | New shared NetworkingStep with Grid-based side-by-side selects. |
| plugins/aks-desktop/src/components/InfoTab/InfoTab.tsx | Switches wrapper from Card to padded Box; uses shared steps. |
| plugins/aks-desktop/src/components/CreateNamespace/CreateNamespace.tsx | Uses shared FormField import. |
| plugins/aks-desktop/src/components/CreateAKSProject/CreateAKSProject.tsx | Uses shared ComputeStep/NetworkingStep imports. |
| plugins/aks-desktop/src/components/CreateAKSProject/components/BasicsStep.tsx | Uses shared FormField import. |
| plugins/aks-desktop/src/components/CreateAKSProject/components/NetworkingStep.tsx | Removes the old in-feature NetworkingStep implementation. |
| plugins/aks-desktop/src/components/CreateAKSProject/components/Step.stories.tsx | Updates stories to import shared components. |
| plugins/aks-desktop/src/components/CreateAKSProject/components/CreateAKSProjectPure.guidepup.test.tsx | Updates test imports to use shared components. |
Comments suppressed due to low confidence (1)
plugins/aks-desktop/src/components/shared/FormField.tsx:7
FormFieldis now undercomponents/shared/but its props type is imported fromCreateAKSProject/types, which couples a shared UI primitive to the CreateAKSProject feature module. Consider defining/exportingFormFieldPropsfromshared/FormFielditself (or ashared/typesmodule) and updating CreateAKSProject to consume/re-export it, so other flows (e.g. CreateNamespace) don’t depend on CreateAKSProject types.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
plugins/aks-desktop/src/components/shared/ComputeStep.tsx:10
components/shared/ComputeStepimportsComputeStepPropsfromCreateAKSProject/types, which means this shared component can’t be reused without depending on the CreateAKSProject module. Consider defining the props type locally (or moving the relevant step prop types into a shared types module) soshared/stays decoupled.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Evangelos Skopelitis <eskopelitis@microsoft.com>
Signed-off-by: Evangelos Skopelitis <eskopelitis@microsoft.com>
Signed-off-by: Evangelos Skopelitis <eskopelitis@microsoft.com>
These changes extract shared components from CreateAKSProject and update the InfoTab UI.
Changes
NetworkingStep,ComputeStep,FormField,ResourceCardtoshared/and update all import sites (CreateAKSProject,CreateNamespace,InfoTab, stories, guidepup test)NetworkingStepusing a Grid layout, matching the CPU/memory pairs inComputeStepCard/CardContentwrapper inInfoTabwith a plainBoxwith padding, consistent with the Scaling and Metrics tabs