Skip to content

feat: group invitation flow with shareable links#85

Open
opensecretsauce wants to merge 2 commits intosorosave-protocol:mainfrom
opensecretsauce:feat/invite-flow
Open

feat: group invitation flow with shareable links#85
opensecretsauce wants to merge 2 commits intosorosave-protocol:mainfrom
opensecretsauce:feat/invite-flow

Conversation

@opensecretsauce
Copy link

Closes #48

Changes

  • InviteButton component — generates base64-encoded invite URL, copy-to-clipboard with checkmark feedback, Web Share API on mobile
  • /invite/[code] landing page — decodes invite, shows group details (contribution, cycle, spots left), handles all states:
    • ⏳ Loading
    • 🔗 Invalid/expired link
    • 🔐 Wallet not connected
    • ✅ Already a member
    • 🚫 Group full
    • 🎉 Join success → auto-redirect to group page

Build

pnpm build ✅ — /invite/[code] renders as dynamic route

- Add WalletAdapter interface (src/lib/wallets/index.ts)
- Add FreighterAdapter, xBullAdapter, AlbedoAdapter
- Refactor providers.tsx to support multiple wallets + localStorage persistence
- Update ConnectWallet.tsx with wallet selection modal
- Create src/lib/sdk.ts as local stub for @sorosave/sdk
- Create src/lib/wallet.ts with multi-wallet signTransaction routing
- Fix all @sorosave/sdk missing module errors — build passes clean
- InviteButton component: copy-to-clipboard + Web Share API fallback
- Invite code: base64 encoded groupId:name (no server needed)
- /invite/[code] landing page with group details + join CTA
- States: loading, wallet not connected, already member, group full, success
- Auto-redirect to group page on successful join
- Full dark mode support
@opensecretsauce
Copy link
Author

⚠️ Dependency note: This PR should be reviewed after #81 merges. PR #81 introduces the foundational infrastructure (wallet adapters, local SDK stub, import fixes) that this feature builds on. Once #81 is merged, I will rebase this branch and the diff will only show the feature-specific changes.

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.

Implement group invitation flow with shareable links

1 participant