feat: replace mock data with live API calls - #36
Merged
Conversation
collinsezedike
commented
May 10, 2026
collinsezedike
left a comment
Collaborator
Author
There was a problem hiding this comment.
Good progress. Mock data is fully gone. TanStack Query is wired correctly. The Vite proxy is a clean dev solution, and the empty states and skeletons are solid.
The only thing that needs fixing before this merges is the publicKey! assertion in usePositions which should be an explicit null guard instead. The unmatched position row rendering is also worth cleaning up. Raw vault IDs shouldn't reach the UI.
Everything else is nits.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #35
Summary
VaultListandPortfolioSummaryto live API via TanStack Query hooks (useVaults,usePositions)GET /api/v1/positions/:publicKeystub route to the Fastify APIQueryClientProvider; deletesmockData.tsentirely/api → localhost:3001) to eliminate CORS in development"type": "module"across API and shared packages to fix ESM top-level await errors<p>empty states with a reusableEmptyStatecomponent (icon + title + description)Test plan
pnpm devstarts both API and web without errorsGET /api/v1/vaultsreturns{ vaults: [] }through the proxypnpm lint && pnpm typecheck && pnpm testall pass