Skip to content

Convert Modals with forms in them to ModalForm #3202

@david-crespo

Description

@david-crespo

Follow-up to #3192 and #3197. These modals use raw Modal + Modal.Footer + useApiMutation with onErroraddToast. Converting to ModalForm gives them inline submit errors and a loading spinner on the submit button, matching the side-modal forms.

Candidates for ModalForm

  • ResizeInstanceModalapp/pages/project/instances/InstancePage.tsx:274. Has an inline <p className="text-error"> at :389 that the shell replaces.
  • SiloSubnetPoolsTab Link pool — app/pages/system/silos/SiloSubnetPoolsTab.tsx:297
  • SiloIpPoolsTab Link pool — app/pages/system/silos/SiloIpPoolsTab.tsx:311
  • IpPoolPage Link silo — app/pages/system/networking/IpPoolPage.tsx:493
  • SubnetPoolPage Link silo — app/pages/system/networking/SubnetPoolPage.tsx:475
  • AntiAffinityCard Add member — app/pages/project/instances/AntiAffinityCard.tsx:241
  • anti-affinity-group-member-add Add instance — app/forms/anti-affinity-group-member-add.tsx:67

ModalForm hardcodes <Message title="Error"> inline — simplest to drop the custom titles, matching #3197. Or we could add the ability to pass a custom error title.

Doesn't fit — not form submissions

These have no inputs and would need a throwaway useForm just to satisfy ModalForm's signature:

  • SiloScimTab Create token — app/pages/system/silos/SiloScimTab.tsx:220. Informational body; Create fires the mutation and onSuccess hands the token to a second modal.
  • ImagesPage Promote image — app/pages/project/images/ImagesPage.tsx:189. "Are you sure you want to promote X?"

Leave as-is or refactor toward confirmAction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions