We consolidate the code that fetches the data for ProjectCard in one
module, adjacent to the ProjectCard component. We also consolidate all
the data into one interface to simplify the component API.
With the data loading in one place we can eliminate duplicate code and a handful of helper functions.
The consolidation also allows us to discover some optimizations to fetching: We parallelize requests and we use the commit detail endpoint instead of the commit list endpoint. For the latter to pay off, we need to deploy caching to the API.
We consolidate the code that fetches the data for ProjectCard in one
module, adjacent to the ProjectCard component. We also consolidate all
the data into one interface to simplify the component API.
With the data loading in one place we can eliminate duplicate code and a handful of helper functions.
The consolidation also allows us to discover some optimizations to fetching: We parallelize requests and we use the commit detail endpoint instead of the commit list endpoint. For the latter to pay off, we need to deploy caching to the API.
Rebase.
Nice work!