feat: Frontend setup with wallet integration and home page#813
Merged
Conversation
…TanStack Query - Add @tanstack/react-query dependency - Create QueryProvider wrapper component - Integrate QueryClientProvider in root layout - Add NEXT_PUBLIC_API_URL environment variable - Remove custom Babel config to use SWC - Install @stellar/stellar-sdk dependency - Add 'use client' directive to ErrorBoundary for client-side rendering
- Update useWallet hook to use sessionStorage instead of localStorage for security - Zustand store provides: address, isConnected, tokenBalance state - connect() action calls Freighter and updates store - disconnect() clears store and sessionStorage - useWallet() hook exposes store state and actions - Wallet address persisted in sessionStorage (cleared on browser close)
- Add StatsBanner component showing total markets, volume, and active markets - Create MarketFilters component for weight class, status, and sorting - Integrate filters and pagination into home page - Show loading skeleton while fetching markets - Display empty state when no markets match filters - Responsive grid layout (1 col mobile, 2 col tablet, 3 col desktop) - Pagination controls with page indicator
- Add comprehensive documentation for WalletButton component - Document features: connection flow, dropdown menu, error handling - Include usage examples and integration details - Reference Freighter wallet extension and sessionStorage persistence
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.
Overview
This PR implements the core frontend infrastructure and home page for BOXMEOUT, a decentralized boxing prediction market on Stellar.
Changes
#764: Set up Next.js 14 with TypeScript and Tailwind
#766: Implement useWallet() hook with Zustand store
#765: Implement WalletConnectButton component
#767: Implement Home page with market list
Testing
Commits
Related Issues
Closes #764
Closes #765
Closes #766
Closes #767