Skip to content

Conversation

@0xdevcollins
Copy link
Collaborator

@0xdevcollins 0xdevcollins commented Feb 11, 2026

Summary by CodeRabbit

  • New Features

    • Added Family Wallet feature with dedicated drawer for viewing balances, transactions, and managing account
    • Added countdown timers to project funding deadlines
    • Enhanced wallet integration with real-time balance and transaction tracking
  • Improvements

    • Streamlined project contribution process for faster funding
    • Improved project cards with richer funding and voting progress indicators
    • Enhanced wallet state management with session-based data

…s, dedicated UI components like Family Wallet, and integration across the application.
…ation, and improved button state handling for connected/disconnected wallets.
…atus check from 'Funding' to 'CAMPAIGNING'.
… the `WalletTrigger`, alongside minor landing page styling adjustments and code cleanup.
@vercel
Copy link

vercel bot commented Feb 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
boundless-kd16 Ready Ready Preview, Comment Feb 11, 2026 10:43am

@coderabbitai
Copy link

coderabbitai bot commented Feb 11, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR introduces a Family Wallet feature with new wallet UI components, refactors project card data structures to use inline Crowdfunding objects instead of mapper utilities, simplifies project creation by moving escrow signing to the backend, updates project status constants to uppercase, and extends wallet provider state with session-derived balances and transactions.

Changes

Cohort / File(s) Summary
Wallet Infrastructure Components
components/wallet/FamilyWalletButton.tsx, components/wallet/FamilyWalletDrawer.tsx, components/wallet/WalletSheet.tsx, components/wallet/WalletTrigger.tsx, components/wallet/LandingWalletWrapper.tsx
New wallet UI components for Family Wallet feature: FamilyWalletButton (floating action button with Receive/Send/Open Wallet options), FamilyWalletDrawer (multi-view drawer with main/receive/send/activity/assets views), WalletSheet (portfolio summary with assets/activity tabs), WalletTrigger (wallet connection/display with multiple variants), and LandingWalletWrapper (authentication-aware wrapper coordinating button and drawer state).
Wallet Provider & Authentication
components/providers/wallet-provider.tsx, lib/auth-client.ts, types/wallet.ts
Extended WalletProvider to expose balances, transactions, totalPortfolioValue, and isLoading derived from session data; added localStorage persistence for local wallet state. Added wallet field to auth-client user schema with default structure. Introduced WalletBalance, WalletTransaction, and WalletData type definitions.
Dashboard & Header Integration
components/dashboard-content.tsx, components/site-header.tsx, app/(landing)/layout.tsx
Integrated wallet components into dashboard and header: dashboard-content renders FamilyWalletButton and FamilyWalletDrawer, site-header renders WalletTrigger, and landing layout wraps with LandingWalletWrapper.
Project Card Data Refactoring
features/projects/components/ProjectCard.tsx, features/projects/utils/card-mappers.ts, app/me/projects/page.tsx, components/landing-page/Explore.tsx, components/landing-page/Hero2.tsx, components/profile/ProjectList.tsx, components/profile/ProjectsTab.tsx, components/profile/ProjectsTabPublic.tsx, features/projects/components/ProjectsPage.tsx
Removed mapCrowdfundingToCardData, mapProjectToCardData, and mapCrowdfundingProjectToCardData utilities. Updated ProjectCard to accept Crowdfunding type directly instead of ProjectCardData. Inlined data transformation in components passing project data to ProjectCard, replacing mapper function calls with inline object literals containing fundingGoal, fundingRaised, fundingCurrency, fundingEndDate, milestones, and vote fields.
Project Status Constants
components/project-details/project-sidebar/types.ts, components/project-details/project-sidebar/ProjectSidebarActions.tsx, components/project-details/project-sidebar/ProjectSidebarHeader.tsx, components/project-details/project-sidebar/ProjectSidebarProgress.tsx
Updated ProjectStatus enum member from 'campaigning' to 'CAMPAIGNING' and updated all switch-case references accordingly. Changed ProjectSidebarActionsProps.projectStatus type from string to ProjectStatus.
Project Creation Simplification
features/projects/components/CreateProjectModal/useCreateProject.ts, features/projects/components/CreateProjectModal/index.tsx, features/projects/components/CreateProjectModal/TransactionSigningScreen.tsx, components/project-details/funding-modal.tsx
Removed escrow signing flow from frontend: eliminated TransactionSigningScreen component, removed signing/confirming states from useCreateProject, simplified flow to only 'form'/'initializing'/'success' steps. Updated funding-modal to call contributeToProject directly instead of orchestrating multi-step signing; changed success check from status === 'SUCCESS' to data.success. Made transactionHash optional in FundCrowdfundingProjectRequest API type.
UI Components & Utilities
components/ui/timer.tsx, components/ui/glowing-effect.tsx
Added CountdownTimer component with useCountdown hook for deadline display, and GlowingEffect component for interactive pointer-tracking glow animation with configurable blur/proximity/spread parameters.
Project Types & Navigation
features/projects/types/index.ts, components/project-details/project-sidebar/index.tsx, app/(landing)/about/page.tsx
Added optional _count field to CrowdfundingProject. Updated ProjectSidebarHeader to read voting data from nested project.voting.data structure with fallback to flat fields. Removed unused OurTeam import from About page.
Dependencies & Configuration
package.json
Downgraded "@creit.tech/stellar-wallets-kit" from "^1.5.0" to "^1.3.0" and added "qrcode.react" "^4.2.0" for QR code generation in wallet receive view.
Navbar Integration
components/landing-page/navbar.tsx
Replaced WalletButton with WalletTrigger (with variant='icon' and drawerType='sheet'/'family'). Removed lg:px-[100px] padding breakpoint, leaving mx-auto px-5 md:px-[50px].

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

🐰 A wallet of dreams in a drawer so fine,
With glow that dances in rhythm divine,
No more mapping, just data so clean,
The finest Family Wallet ever seen!
Status in capitals, escrow set free,
A brighter tomorrow for all, you'll see!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/abstract-wallet

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@0xdevcollins 0xdevcollins merged commit 275447f into main Feb 11, 2026
4 of 8 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant