---
id: w5/m14/t002
title: Settings-tab danger zone — delete button + type-to-confirm dialog
worker: worker5
status: done
estimate: 35m
depends_on: [w5/m14/t001]
---

## Objective

Add a danger-zone section to the service Settings tab with a delete action gated by a type-to-confirm dialog (the user must type the exact service name to enable the confirm button).

## Context

- Follow the shipped workspace-delete type-to-confirm pattern: `dashboard/src/features/workspaces/components/delete-workspace-card.tsx` + `dashboard/src/features/workspaces/hooks/use-delete-workspace.ts` (landed via w6/m3, now in `.pm/w6/done/m3/` — it's real code, not an upcoming task).
- Service Settings tab lives under `dashboard/src/features/services/components/` (see `instance-type-picker.tsx` for the existing Settings-tab component style).

## Steps

1. Add a `DangerZone` component: destructive-styled section, "Delete service" button opens a confirm dialog.
2. Dialog requires typing the service's `name` exactly; confirm button stays disabled until it matches.
3. On confirm, call `useDeleteService` (t001); show a loading state on the button while in flight.

## Files

- `dashboard/src/features/services/components/danger-zone.tsx` (new)
- Settings-tab route/component that mounts it

## Acceptance criteria

- [ ] Confirm button is disabled until the typed name matches exactly (case-sensitive).
- [ ] Dialog is keyboard-accessible (focus trap, Escape closes).

## Out of scope

- Post-delete redirect/toast (t003).
