Skip to content

feat: add Freighter wallet connect/disconnect UI in app header - #703

Open
bytebinders wants to merge 1 commit into
ritik4ever:mainfrom
bytebinders:283-freighter-wallet-connect
Open

feat: add Freighter wallet connect/disconnect UI in app header#703
bytebinders wants to merge 1 commit into
ritik4ever:mainfrom
bytebinders:283-freighter-wallet-connect

Conversation

@bytebinders

Copy link
Copy Markdown
Contributor

What changed

  • WalletContext.tsx — React context: isConnected, address, network, isWrongNetwork, connect(), disconnect()
  • WalletConnect.tsx — header button: "Connect Wallet" when disconnected, "G...XYZ • Testnet" pill with hover-to-disconnect when connected, amber "⚠ Mainnet" badge on wrong network
  • WalletConnect.test.tsx — Vitest: connected, disconnected, wrong-network states
  • main.tsx — wraps App in WalletProvider
  • App.tsx — integrates WalletConnect header, restores BountyDetailPage / MaintainerAnalyticsPage / ContributorProfilePage routing, fixes statusFilter state, error toasts on catch

Acceptance criteria

  • Connect Wallet button shown when not connected
  • Connected state shows G...XYZ • Testnet pill with hover-to-disconnect
  • Network badge warns when on mainnet
  • Wallet state in React context available to all components
  • Keyboard accessible and screen-reader friendly
  • Vitest tests cover all three states

Verification

  • npm run typecheck → 0 errors
  • npm run test → 123/125 passing

Closes #283

Closes ritik4ever#283

- Add WalletContext with connect/disconnect/network/wrong-network state
- Add WalletConnect component: Connect button, truncated G...XYZ address,
  Testnet pill, mainnet warning badge, hover-to-disconnect
- Wrap App in WalletProvider via main.tsx
- Extract statusCopy, actionCopy, readInitialFilters to constants module
- Restore BountyDetailPage / MaintainerAnalyticsPage / ContributorProfilePage routing
- Declare maintainerAddress and profileContributor path memos
- Fix missing statusFilter state declaration
- Add error toasts to handleReserve and handleCreate catch blocks
- Make useWallet safe outside WalletProvider (fallback default context)
- Fix ContributorProfilePage.test assertions with getAllByText
- Fix ErrorBoundary.test: import vi, return null from Bomb component
- tsc --noEmit: 0 errors
@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

@bytebinders is attempting to deploy a commit to the ritik4ever's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 30, 2026

Copy link
Copy Markdown

@bytebinders Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@ritik4ever

Copy link
Copy Markdown
Owner

@bytebinders please resolve conflicts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Freighter wallet connect/disconnect UI in the app header

2 participants