sequenceDiagram
participant User as 사용자
participant Filter as SellingFilter<br/>(필터 UI)
participant FilterCtx as FilterProvider<br/>(필터 상태)
participant CardCtx as PhotoCardProvider<br/>(카드 필터링)
participant CardList as PhotoCardList<br/>(카드 목록)
participant Card as PhotoCard<br/>(개별 카드)
User->>Filter: 필터 선택 (등급/장르/상태)
Filter->>FilterCtx: setFilter(filterKey, [value])
activate FilterCtx
FilterCtx->>FilterCtx: filter 상태 업데이트
FilterCtx-->>CardCtx: filter 상태 변경 감지
deactivate FilterCtx
activate CardCtx
CardCtx->>CardCtx: filteredCards 재계산<br/>(grade, genre, status, price 필터 적용)
CardCtx->>CardCtx: sellingCards 도출<br/>(saleOptions 확장)
CardCtx-->>CardList: filteredCards/sellingCards 전달
deactivate CardCtx
activate CardList
CardList->>CardList: isSellingPage 기반<br/>렌더링 데이터 선택
CardList->>CardList: 페이지네이션 계산
CardList->>Card: 각 카드 렌더링<br/>(type, showSaleLabel, soldOutIcon)
deactivate CardList
activate Card
Card->>Card: showSaleLabel=true시<br/>SaleStatusLabel 렌더링
Card-->>User: 카드 표시<br/>(판매상태 레이블 포함)
deactivate Card