## Description Implement client-side caching of catalogue data to reduce unnecessary GraphQL requests, improve loading performance, and support scalable and sustainable web development. ## Done when - [x] Catalogue search results are cached based on search query, filters, sorting, and pagination. - [x] Previously fetched results are reused when navigating back to the same catalogue view. - [x] Cached data is reused without unnecessary GraphQL requests. - [x] Cache invalidation or expiration is implemented to prevent stale data. - [x] Loading and error states are handled correctly when using cached data.