🤖
1681 in / 615 out / 2296 total tokens
캐시 데이터를 사용자가 직접 관리할 수 있는 설정 페이지를 추가했다.
/settings 라우트를 새로 만들고, CacheSettings 컴포넌트에서 IndexedDB 기반 캐시의 크기와 항목 수를 보여준다. 삭제 전 ConfirmDialog로 확인을 받고, useCacheStats 훅으로 통계를 실시간 조회한다. 헤더에 Settings 아이콘을 추가해 진입점을 확보했다.
export function useCacheStats(): CacheStats {
const [stats, setStats] = useState<CacheStats>({
count: 0, sizeKB: 0, lastUpdated: null
});
useEffect(() => {
async function loadStats() {
const count = await db.searchCache.count();
// ... 통계 조회 로직
}
loadStats();
}, []);
return stats;
}테스트 9개 추가해서 728개 전부 통과. TypeScript, ESLint 문제 없이 빌드 완료됐다.
사용자가 앱 데이터를 직접 제어할 수 있게 되니 깔끔하다.