Skip to content

Inline battery count edit on the station detail panel #150

Description

@tkdgusqkr

Scope

충전소 디테일 패널 안에서 배터리 카운트를 직접 변경할 수 있게 한다. 운영자가 마커 클릭 → 패널 → 폼 입력 → 즉시 반영 한 흐름으로 충전소 카운트를 갱신.

Included:

  • 새 Next.js route handler `POST /api/dashboard/battery-station/{stationId}/battery-counts` — 내부에서 `updateBatteryStationCounts` 호출 → JSON 응답.
  • StationDetailPanel 안에 inline 폼 (현재/최대 + 가용 카운트 + 사유). submit 시 fetch → 응답으로 패널 state 즉시 갱신.
  • 폴링이 다음 사이클에 새 카운트를 가져오기 전에도 패널은 즉시 새 값을 표시.
  • 백엔드 검증 실패(가용 > 현재 > 최대 같은 위반) 시 한글 안내 노출.

Excluded:

  • 카운트 변경 이력 표시 (`station_battery_count_logs` — 별도 슬라이스).
  • 패널 안에서 충전소 메타 (이름/주소/상태) 변경 (기존 `/stations/{id}/edit` 로 충분).
  • 일괄 카운트 변경 (다중 선택).

Acceptance criteria

  • 패널 안의 폼이 현재 카운트를 미리 채운다.
  • submit 시 패널이 닫히지 않고 새 카운트가 즉시 표시된다.
  • 검증 실패는 폼 위에 안내 메시지로 노출.
  • 백엔드 미구성 / 세션 없음 시 폼이 disabled 또는 mock 안내.
  • `npm run lint` / `npx tsc --noEmit` / `npm run test:service-ops` / `npm run build` 통과.

Trace

Concurrent work gate

Decision: allowed-with-non-overlap
Evidence:

  • Open target issues: none.
  • Open target PRs: none.
  • Active branches: dev, main.
    Reason: front-admin-web 만 변경.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions