Skip to content

Convert Modals with forms in them to ModalForm #3202

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions