FixedDelete-confirmation pass — every destructive dashboard action now opens an AlertDialog
the Domains list page deleted a domain immediately on click with no prompt (reported by a user); fixed by routing it through a shadcn AlertDialog that names the domain, warns the action is irreversible, and uses a destructive Confirm button. Same treatment applied to every other delete / remove action in the dashboard that was missing or weakly guarded: Templates (immediate delete on icon click), Suppression list entry remove, Unsubscribe list entry remove, Audience contact remove (/audiences/:id), Segment contact remove (/segments/:id), Dedicated IP domain-assignment remove (/dedicated-ips), Gmail Postmaster disconnect (/deliverability/postmaster-connect, was using window.confirm), and Account session revoke (/account, was a one-click POST form). Pages that previously used a plain Dialog for the confirm step (Webhook delete, Contact delete, Audience delete, Segment delete, Campaign delete, BIMI remove, Custom contact property delete) were migrated to AlertDialog for consistency and given destructive-styled action buttons, in-flight disabled state, and toast.success / toast.error feedback that names the specific resource. The Topics delete dialog gained the destructive variant and an in-flight disabled state. Files: dashboard/app/routes/dashboard/deliverability/{domains,domain-detail,dedicated-ips,webhooks,postmaster-connect}.tsx, dashboard/app/routes/dashboard/sending/{templates,campaign-detail}.tsx, dashboard/app/routes/dashboard/contacts/{suppression,unsubscribes,audience-detail,segment-detail,contact-detail,topics}.tsx, dashboard/app/routes/dashboard/settings/{settings.contact-properties,account}.tsx.