Skip to content

Feature/frontend typescript sdk enhancements#971

Merged
Haroldwonder merged 4 commits into
Haroldwonder:mainfrom
janipauwels-sys:feature/frontend-typescript-sdk-enhancements
Jun 29, 2026
Merged

Feature/frontend typescript sdk enhancements#971
Haroldwonder merged 4 commits into
Haroldwonder:mainfrom
janipauwels-sys:feature/frontend-typescript-sdk-enhancements

Conversation

@janipauwels-sys

@janipauwels-sys janipauwels-sys commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Summary

I've successfully implemented all 4 issues and created a single PR with 4 commits addressing frontend TypeScript migration and SDK enhancements for the
SwiftRemit project.

✅ Issues Completed

#905 - Migrate frontend components from JSX to TypeScript

  • Migrated 11 JSX components to TypeScript with full type safety
  • Added prop interfaces for all components
  • Enhanced tsconfig.json with strict TypeScript settings
  • Zero JSX files remain in components directory

#904 - Add KYC status guidance UI

  • Created KycStatusGuidanceModal with contextual guidance
  • Added KycGuidance interface mapping for all KYC statuses (pending, approved, rejected, expired)
  • Displays required documents, next steps, and estimated review times
  • Links to anchor KYC portal for user action
  • "View What's Next" button triggers guidance modal

#906 - Add SDK event subscription for all contract events

  • Expanded event types from 7 to 27 (all contract events)
  • Implemented on(eventType, handler) for typed single event subscriptions
  • Implemented onAny(eventTypes, handler) for multiple events
  • Added SwiftRemitClient.ALL_EVENTS static array
  • Exported EventHandler type from SDK index

#907 - Add SDK documentation site with TypeDoc

  • Added typedoc + typedoc-plugin-markdown dev dependencies
  • Created typedoc.json configuration
  • Added npm run docs and npm run docs:serve scripts
  • Created sdk-docs.yml GitHub Actions workflow for auto-publishing to GitHub Pages
  • Enhanced JSDoc comments on public methods with usage examples## Summary

I've successfully implemented all 4 issues and created a single PR with 4 commits addressing frontend TypeScript migration and SDK enhancements for the
SwiftRemit project.

✅ Issues Completed

#905 - Migrate frontend components from JSX to TypeScript

  • Migrated 11 JSX components to TypeScript with full type safety
  • Added prop interfaces for all components
  • Enhanced tsconfig.json with strict TypeScript settings
  • Zero JSX files remain in components directory

#904 - Add KYC status guidance UI

  • Created KycStatusGuidanceModal with contextual guidance
  • Added KycGuidance interface mapping for all KYC statuses (pending, approved, rejected, expired)
  • Displays required documents, next steps, and estimated review times
  • Links to anchor KYC portal for user action
  • "View What's Next" button triggers guidance modal

#906 - Add SDK event subscription for all contract events

  • Expanded event types from 7 to 27 (all contract events)
  • Implemented on(eventType, handler) for typed single event subscriptions
  • Implemented onAny(eventTypes, handler) for multiple events
  • Added SwiftRemitClient.ALL_EVENTS static array
  • Exported EventHandler type from SDK index

#907 - Add SDK documentation site with TypeDoc

  • Added typedoc + typedoc-plugin-markdown dev dependencies
  • Created typedoc.json configuration
  • Added npm run docs and npm run docs:serve scripts
  • Created sdk-docs.yml GitHub Actions workflow for auto-publishing to GitHub Pages
  • Enhanced JSDoc comments on public methods with usage examples

Closes #904
Closes #905
Closes #906
Closes #907

…ript

- Migrated all core JSX components to TSX with full type safety
- Components migrated:
  - WalletConnect.jsx → WalletConnect.tsx
  - CreateRemittance.jsx → CreateRemittance.tsx
  - AgentManagement.jsx → AgentManagement.tsx
  - ErrorBoundary.jsx → ErrorBoundary.tsx
  - CorridorAnalytics.jsx → CorridorAnalytics.tsx
  - RemittanceList.jsx → RemittanceList.tsx
  - AnchorManagement.jsx → AnchorManagement.tsx
  - WebhookSubscriptions.jsx → WebhookSubscriptions.tsx
  - ContractHealth.jsx → ContractHealth.tsx
  - AgentPanel.jsx → AgentPanel.tsx
- Added prop interfaces for all components
- Fixed type errors with proper error handling
- Enhanced tsconfig.json with strict TypeScript settings
- Zero JSX files remain in components directory
- Added KYC_GUIDANCE_MAP with detailed guidance for each status (pending, approved, rejected, expired)
- Created KycGuidance interface with required documents, next steps, and estimated review times
- Added 'View What's Next' button in status details modal
- New KycStatusGuidanceModal displays:
  - Current status with description
  - Required documents checklist
  - Action steps (numbered list)
  - Estimated review time
  - Link to anchor KYC portal for action
- Modal triggers for pending, rejected, and expired statuses
- Accessible modal UI with proper focus and keyboard support
- Users can now understand exactly what they need to do to advance their KYC
…vents

- Expanded RemittanceEventType to include all 27 contract events:
  - Remittance lifecycle: created, completed, cancelled, failed, disputed, partial_payout, expired
  - Agent management: agent_registered, agent_removed
  - Fee/rate management: fee_updated, daily_limit_updated
  - Circuit breaker: paused, unpaused, circuit_breaker_paused, circuit_breaker_unpaused
  - User management: user_blacklisted, user_removed_from_blacklist
  - Token management: token_whitelisted, token_removed_from_whitelist
  - Dispute resolution: dispute_raised, dispute_resolved
  - Governance: proposal_created, proposal_voted, proposal_approved, proposal_executed
  - Settlement: settlement_completed
  - Admin: admin_added, admin_removed
- Added EventHandler<T> type for typed event callbacks
- Implemented on<T>(eventType, handler, options) method for type-safe single event subscriptions
- Implemented onAny(eventTypes, handler, options) for subscribing to multiple events
- Added static ALL_EVENTS array with all available event types
- Full TypeScript type safety for all event subscriptions
- Exported EventHandler from SDK index
- SDK consumers can now subscribe to any contract event with zero runtime type errors
- Added typedoc and typedoc-plugin-markdown dev dependencies to SDK
- Created typedoc.json configuration with markdown output
- Added 'docs' and 'docs:serve' scripts to SDK package.json
- Enhanced JSDoc comments on public SDK methods:
  - SwiftRemitClient constructor with usage example
  - getRemittance() with ledger retrieval example
  - createRemittance() with full transaction example
  - batchCreateRemittances() with batch example
- Created sdk-docs.yml GitHub Actions workflow:
  - Generates TypeDoc on pushes to main and on workflow_dispatch
  - Triggers on sdk/ path changes only
  - Uploads docs artifact to GitHub Pages
  - Auto-publishes to GitHub Pages on main branch
- Added sdk/docs/ to .gitignore
- SDK API documentation auto-updates on each release
- Full TypeScript type documentation with examples
@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

@janipauwels-sys is attempting to deploy a commit to the Harold's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@janipauwels-sys 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

@Haroldwonder Haroldwonder merged commit b2d2094 into Haroldwonder:main Jun 29, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants