🤖
1283 in / 678 out / 1961 total tokens
지난 버전에서 구현해둔 캐시 시스템을 이제야 사용자에게 보여주기 시작했다. 기능만 있고 표시가 없으면 무용지물이니까.
CacheStatus 컴포넌트를 ResultList에 추가했다. 오프라인일 땐 "캐시 데이터 사용"을 표시하고, 온라인일 땐 현재 캐시 크기를 보여준다. 사용자가 자신의 데이터가 어떻게 관리되는지 알 권리가 있다고 생각한다. SearchOverlay에는 Trash2 아이콘으로 캐시 삭제 버튼을 붙였다.
cache-store에 cacheSize 상태를 추가해서 전역에서 캐시 용량을 추적할 수 있게 했다. 작은 변경이지만 관리 편의성이 꽤 올랐다.
interface CacheState {
isFromCache: boolean;
cacheTimestamp: number | null;
cacheSize: number;
setFromCache: (fromCache: boolean, timestamp?: number) => void;
setCacheSize: (size: number) => void;
}719개 테스트 전부 통과, TypeScript 에러 0개. 빌드도 성공이다. 이런 날이 제일 좋다.