Skip to content

feat(FR-2846): move deployment delete into a more menu next to edit#7313

Merged
graphite-app[bot] merged 1 commit into
mainfrom
feat/FR-2846-deployment-detail-more-menu
May 8, 2026
Merged

feat(FR-2846): move deployment delete into a more menu next to edit#7313
graphite-app[bot] merged 1 commit into
mainfrom
feat/FR-2846-deployment-detail-more-menu

Conversation

@yomybaby
Copy link
Copy Markdown
Member

@yomybaby yomybaby commented May 8, 2026

Resolves #7309(FR-2846)

Stacked on #7312 (FR-2847): the /admin-deployments/:deploymentId route this PR's post-delete navigation depends on is added there. Merge bottom-up.

Summary

On the Deployment detail page, replaces the implicit Delete entry-point with an explicit ... More dropdown next to the Edit button. Delete is moved into that menu and confirmed via BAIConfirmModalWithInput (typed-confirmation), navigating back to the appropriate list (/admin-deployments for admin context, /deployments otherwise) on success.

Changes

  • react/src/components/DeploymentConfigurationSection.tsx
    • Add Dropdown (More menu) next to Edit in the Basic Information BAICard extra slot.
    • Add DeploymentConfigurationSectionDeleteMutation (uniquely named to avoid clashing with DeploymentList.tsx's mutation, which is owned by FR-2848).
    • Use BAIConfirmModalWithInput with confirmText = deploymentName per .claude/rules/destructive-confirmation.md.
    • Disable Delete while deployment is in destroying states or while the mutation is in flight.
    • Navigate via useWebUINavigate + useLocation pathname check (works once stacked on FR-2847).
  • resources/i18n/*.json (21 files): add button.More translation key in every supported locale.

Test Plan

  • More button (...) renders to the right of Edit on the Basic Information card.
  • Clicking Delete in the More menu opens BAIConfirmModalWithInput; OK is disabled until the user types the deployment name.
  • On confirm, the mutation runs, success toast shows, and the user is navigated back to the list.
  • When opened from /admin-deployments/:id (after FR-2847 merges), navigation lands on /admin-deployments.
  • Failed mutation shows error toast.
  • All 21 locales include button.More.
  • bash scripts/verify.sh: Relay PASS, Lint PASS, Format PASS. TypeScript fails only on pre-existing errors in packages/backend.ai-client/src/client.ts and react/src/components/DeleteForeverVFolderModalV2.tsx — both reproduce on a clean main checkout and are unrelated to this PR.

Copilot AI review requested due to automatic review settings May 8, 2026 06:33
Copy link
Copy Markdown
Member Author

yomybaby commented May 8, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • flow:merge-queue - adds this PR to the back of the merge queue
  • flow:hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions github-actions Bot added area:ux UI / UX issue. area:i18n Localization size:L 100~500 LoC labels May 8, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Moves the “Delete deployment” action out of the main action row and into a compact “More” (kebab) dropdown next to the Edit button in the deployment configuration header, while wiring up a Relay mutation + confirmation modal to perform the deletion and redirect afterward.

Changes:

  • Add a new button.More i18n label for the icon-only “More” button.
  • Introduce a “More” dropdown menu that contains the Delete action and opens a confirmation modal requiring typed confirmation.
  • Add a Relay deleteModelDeployment mutation flow with toast feedback and post-delete navigation.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
resources/i18n/en.json Adds the button.More translation key used for the dropdown button’s aria-label.
react/src/components/DeploymentConfigurationSection.tsx Adds the kebab dropdown + delete confirmation modal and hooks up a Relay delete mutation with success/error handling and navigation.

Comment thread resources/i18n/en.json
Comment thread react/src/components/DeploymentConfigurationSection.tsx
Comment thread react/src/components/DeploymentConfigurationSection.tsx Outdated
Comment thread react/src/components/DeploymentConfigurationSection.tsx
@yomybaby yomybaby changed the base branch from main to graphite-base/7313 May 8, 2026 06:52
@yomybaby yomybaby force-pushed the graphite-base/7313 branch from 024fcd9 to 488cf4b Compare May 8, 2026 06:52
@yomybaby yomybaby force-pushed the feat/FR-2846-deployment-detail-more-menu branch from 0b90d41 to c9f5136 Compare May 8, 2026 06:52
@yomybaby yomybaby changed the base branch from graphite-base/7313 to 05-08-refactor_fr-2847_split_admin_deployment_detail_route May 8, 2026 06:52
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Coverage Report for react-coverage (./react)

Status Category Percentage Covered / Total
🔵 Lines 6.5% 1783 / 27402
🔵 Statements 5.37% 1978 / 36784
🔵 Functions 5.19% 296 / 5699
🔵 Branches 3.77% 1293 / 34255
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
react/src/components/DeploymentConfigurationSection.tsx 0% 0% 0% 0% 72-302
Generated in workflow #468 for commit f817651 by the Vitest Coverage Report Action

@yomybaby yomybaby force-pushed the feat/FR-2846-deployment-detail-more-menu branch from c9f5136 to f66edd3 Compare May 8, 2026 07:52
@graphite-app
Copy link
Copy Markdown

graphite-app Bot commented May 8, 2026

Merge activity

@graphite-app graphite-app Bot changed the base branch from 05-08-refactor_fr-2847_split_admin_deployment_detail_route to graphite-base/7313 May 8, 2026 07:54
@yomybaby yomybaby force-pushed the feat/FR-2846-deployment-detail-more-menu branch from f66edd3 to bcf58d0 Compare May 8, 2026 08:06
@yomybaby yomybaby force-pushed the graphite-base/7313 branch from 488cf4b to 802c916 Compare May 8, 2026 08:06
@yomybaby yomybaby changed the base branch from graphite-base/7313 to main May 8, 2026 08:06
@github-actions github-actions Bot added impact:visible This change is visible to users. platform:web Web-specific issue type:enhance Add new features labels May 8, 2026
…7313)

Resolves #7309(FR-2846)

Stacked on #7312 (FR-2847): the `/admin-deployments/:deploymentId` route this PR's post-delete navigation depends on is added there. Merge bottom-up.

## Summary

On the Deployment detail page, replaces the implicit Delete entry-point with an explicit `...` More dropdown next to the Edit button. Delete is moved into that menu and confirmed via `BAIConfirmModalWithInput` (typed-confirmation), navigating back to the appropriate list (`/admin-deployments` for admin context, `/deployments` otherwise) on success.

## Changes

- `react/src/components/DeploymentConfigurationSection.tsx`
  - Add `Dropdown` (More menu) next to Edit in the Basic Information `BAICard` `extra` slot.
  - Add `DeploymentConfigurationSectionDeleteMutation` (uniquely named to avoid clashing with `DeploymentList.tsx`'s mutation, which is owned by FR-2848).
  - Use `BAIConfirmModalWithInput` with `confirmText = deploymentName` per `.claude/rules/destructive-confirmation.md`.
  - Disable Delete while deployment is in destroying states or while the mutation is in flight.
  - Navigate via `useWebUINavigate` + `useLocation` pathname check (works once stacked on FR-2847).
- `resources/i18n/*.json` (21 files): add `button.More` translation key in every supported locale.

## Test Plan

- [x] More button (`...`) renders to the right of Edit on the Basic Information card.
- [x] Clicking Delete in the More menu opens `BAIConfirmModalWithInput`; OK is disabled until the user types the deployment name.
- [x] On confirm, the mutation runs, success toast shows, and the user is navigated back to the list.
- [x] When opened from `/admin-deployments/:id` (after FR-2847 merges), navigation lands on `/admin-deployments`.
- [x] Failed mutation shows error toast.
- [x] All 21 locales include `button.More`.
- [x] `bash scripts/verify.sh`: Relay PASS, Lint PASS, Format PASS. TypeScript fails only on pre-existing errors in `packages/backend.ai-client/src/client.ts` and `react/src/components/DeleteForeverVFolderModalV2.tsx` — both reproduce on a clean `main` checkout and are unrelated to this PR.
@graphite-app graphite-app Bot force-pushed the feat/FR-2846-deployment-detail-more-menu branch from bcf58d0 to f817651 Compare May 8, 2026 08:08
@graphite-app graphite-app Bot merged commit f817651 into main May 8, 2026
11 checks passed
@graphite-app graphite-app Bot deleted the feat/FR-2846-deployment-detail-more-menu branch May 8, 2026 08:09
@github-pages github-pages Bot temporarily deployed to github-pages May 8, 2026 08:09 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:i18n Localization area:ux UI / UX issue. impact:visible This change is visible to users. platform:web Web-specific issue size:L 100~500 LoC type:enhance Add new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move delete action into a More menu next to Edit on Deployment detail

2 participants