Skip to content

Conversation

@stackingsaunter
Copy link

Implement iOS home screen widgets for displaying Bitcoin price, wallet balance, and last transaction. Users can configure widgets to show data from different wallets.

Features:

  • Bitcoin Price Widget: Shows current BTC price in user's fiat currency
  • Wallet Balance Widget: Displays balance with optional wallet selection
  • Last Transaction Widget: Shows most recent transaction with memo
  • Multi-wallet support: Users can select which wallet to display per widget
  • Auto-refresh: Widgets refresh when app enters foreground
  • Custom styling: OpenRunde-Bold font, custom icons, dark mode support
  • Privacy: Optional amount hiding for sensitive data

Technical Implementation:

  • React Native: Widget data sync via App Group UserDefaults
  • SwiftUI: Three widget extensions with App Intent configuration
  • Native bridge: Direct NativeModules access for widget data operations
  • Data persistence: Per-wallet data storage for widget configuration

TypeScript/JavaScript Changes:

  • Add widget sync hook (useWidgetSync) with AppState listener
  • Add widget data utilities (lib/widgets.ts)
  • Update app layout to include WidgetSync component
  • Add widget settings UI (pages/settings/Widgets.tsx)
  • Support for wallet selection and unit preferences (₿/sats)

Swift/iOS Changes:

  • Create widget bundle with three widget types
  • Implement App Intent for wallet selection
  • Add custom Popicons wallet icon rendering
  • Support custom OpenRunde-Bold font in widgets
  • Configure widget extension with App Groups

Implement iOS home screen widgets for displaying Bitcoin price, wallet balance, and last transaction. Users can configure widgets to show data from different wallets.

Features:
- Bitcoin Price Widget: Shows current BTC price in user's fiat currency
- Wallet Balance Widget: Displays balance with optional wallet selection
- Last Transaction Widget: Shows most recent transaction with memo
- Multi-wallet support: Users can select which wallet to display per widget
- Auto-refresh: Widgets refresh when app enters foreground
- Custom styling: OpenRunde-Bold font, custom icons, dark mode support
- Privacy: Optional amount hiding for sensitive data

Technical Implementation:
- React Native: Widget data sync via App Group UserDefaults
- SwiftUI: Three widget extensions with App Intent configuration
- Native bridge: Direct NativeModules access for widget data operations
- Data persistence: Per-wallet data storage for widget configuration

TypeScript/JavaScript Changes:
- Add widget sync hook (useWidgetSync) with AppState listener
- Add widget data utilities (lib/widgets.ts)
- Update app layout to include WidgetSync component
- Add widget settings UI (pages/settings/Widgets.tsx)
- Support for wallet selection and unit preferences (₿/sats)

Swift/iOS Changes:
- Create widget bundle with three widget types
- Implement App Intent for wallet selection
- Add custom Popicons wallet icon rendering
- Support custom OpenRunde-Bold font in widgets
- Configure widget extension with App Groups
@stackingsaunter stackingsaunter requested review from im-adithya and reneaaron and removed request for im-adithya December 11, 2025 16:33
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.

2 participants