Refactor project delete modal to shared Vue component

What does this MR do and why?

Related to #397039

We want to align the UX of group and project deletion modals. This MR refactors the project delete modal to a shared component so that that component can also be used for group delete modal in the future. This MR does not touch the group delete modal yet, that will be done in a seperate MR.

Screenshots or screen recordings

List view - delayed deletion

Before After
Screenshot_2025-11-18_at_10.53.24_AM Screenshot_2025-11-18_at_10.50.30_AM

List view - immediate deletion

Before After
Screenshot_2025-11-18_at_10.53.41_AM Screenshot_2025-11-18_at_10.50.48_AM

Project -> Settings -> General -> Advanced - delayed deletion

Before After
Screenshot_2025-11-18_at_10.54.04_AM Screenshot_2025-11-18_at_10.51.11_AM

Project -> Settings -> General -> Advanced - immediate deletion

Before After
Screenshot_2025-11-18_at_10.54.26_AM Screenshot_2025-11-18_at_10.51.32_AM

How to set up and validate locally

  1. Go to /dashboard/projects and delete a project
  2. Go to the inactive tab and Immediately delete that project
  3. Go to another project -> Settings -> General -> Advanced and delete the project
  4. Go back to project -> Settings -> General -> Advanced and Immediately delete that project

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Hegman

Merge request reports

Loading