[FE-09] S3 플래그 수정 화면 (수정·아카이브·재활성)
작업 내용 (설계 의도)
변경 사항
/admin/feature-flags/[key] 수정 화면을 구현한다. description·strategy 수정, 상태 전이 액션(아카이브/재활성), 상태 보호 UI(ARCHIVED면 입력 비활성). 근거 설계: ../design-fe-web.md “S3 와이어프레임 / 상태 전이 UI / 상태 표”.
web/app/admin/feature-flags/[key]/page.tsx(컨테이너):useFeatureFlag(key)로 프리필, 저장/아카이브/재활성 mutation.- key·type은 읽기전용 헤더. “변경 이력 보기” 링크 →
/[key]/audit-logs. - 저장:
updateFeatureFlag(key,input)→ 토스트. 아카이브:archiveFeatureFlag→ 재활성 버튼 노출. 재활성:activateFeatureFlag. - 상태 보호: ARCHIVED면
StrategyForm disabled+ 저장 비활성, “재활성”만 노출(BE 409 규칙 UI 선반영, User Scenario 9). - 404 → “플래그를 찾을 수 없습니다” 빈 상태 + 목록 링크. 409(이미 상태/ARCHIVED 수정) → alert 배너.
- 위험 액션(아카이브)은 destructive-outline로 시각 분리(토스 절제).
롤백
신규 라우트 파일 삭제로 진입점 제거.
의존
- FE-04 (useFeatureFlag/update/archive/activate)
- FE-06 (StrategyForm)
- FE-05 (StatusBadge/TypeBadge)
다이어그램
처리 흐름
sequenceDiagram participant U as 운영자 participant P as [key]/page participant H as useFeatureFlag participant M as mutation U->>P: 상세 진입 P->>H: fetch(key) H-->>P: flag or 404 U->>P: 아카이브 클릭 P->>M: archive(key) M-->>P: 200 → 재활성 버튼 노출
테스트 케이스
- 진입 시 기존 값(description/strategy)이 폼에 프리필된다
- 변경 저장 클릭 시 updateFeatureFlag가 호출되고 저장 토스트가 뜬다
- 아카이브 클릭 시 archiveFeatureFlag가 호출되고 재활성 버튼이 노출된다
- ARCHIVED 상태면 전략 입력이 비활성이고 저장 버튼이 없다
- 404면 “찾을 수 없습니다” 빈 상태와 목록 링크가 보인다
- 409(이미 ARCHIVED) 응답 시 alert 배너가 뜬다
- “변경 이력 보기” 클릭 시 audit-logs 경로로 이동한다