[STK4-07] FE 관심종목 통합·앱 전체 정책 적용

작업 내용 (설계 의도)

변경 사항

종목 리스트 화면에서 관심종목 추가/제거(☆ ↔ ★) 기능을 연결한다. 기존 관심종목 API(POST /api/v1/watchlist, DELETE /api/v1/watchlist/{symbol})를 재사용한다. 앱 전체에서 종목 조회 시 동일 데이터 정책(종목 리스트 API)을 적용하고, 기존 시그널 탭·목표가 알림 화면의 종목 조회 경로를 통일한다.

선행: STK4-04, STK4-06

다이어그램

처리 흐름

sequenceDiagram
    participant User as 사용자
    participant Page as StockListPage
    participant BE as BE API

    User->>Page: 종목 옆 ☆ 클릭
    Page->>BE: POST /api/v1/watchlist {symbol}
    BE-->>Page: 200 OK
    Page->>Page: 아이콘 ★ 변경

    User->>Page: 종목 옆 ★ 클릭
    Page->>BE: DELETE /api/v1/watchlist/{symbol}
    BE-->>Page: 200 OK
    Page->>Page: 아이콘 ☆ 변경

클래스 의존

flowchart LR
    StockListPage --> WatchlistButton
    WatchlistButton -->|POST/DELETE| BE_Watchlist[기존 관심종목 API]
    StockListPage --> SearchBar

테스트 케이스

  • 종목 옆 ☆ 클릭 시 관심종목 추가 API가 호출되고 ★로 변경된다
  • 종목 옆 ★ 클릭 시 관심종목 제거 API가 호출되고 ☆로 변경된다
  • 이미 관심종목인 종목은 리스트 진입 시 ★로 표시된다
  • API 오류 시 아이콘 상태가 원복된다 (낙관적 업데이트 롤백)
  • 기존 시그널 탭·알림 화면의 종목 조회가 종목 리스트 API를 재사용한다