Skip to content

Conversation

@JosephSanjaya
Copy link
Contributor

📱 Description

This PR refactors balance handling across the app, enhances multiple UI components, and introduces new functionality for exporting transaction history. It also expands navigation and interaction flows on the new Bento-style main screen, integrating send/receive actions and synchronizing details across modules.

Platform

  • Android
  • iOS
  • Games-Unity
  • DevOps (AWS)
  • Website
  • C/Golang

🎯 Type of Change

  • ✨ New feature
  • 🎨 UI/UX improvement
  • 🔧 Refactoring
  • 🐛 Bug fix
  • 📚 Documentation update
  • ⚡ Performance improvement
  • 🧪 Test addition or improvement

📋 Changes

🔧 Refactor: Balance State Model

  • Introduced BalanceState data class encapsulating formatted LTC and currency values.
  • Replaced raw Long balance values across presentation and domain layers.
  • Updated BalanceBentoGrid and related UI elements to consume the new model directly.
  • Simplified formatting and display logic within UI components.

🎨 UI Enhancements

  • Improved edge-to-edge rendering in BentoActivity.
  • Adjusted padding and sizing in BentoMainScreen and TransactionHistoryGrid.
  • Refined address display logic for clearer transaction details.
  • Wrapped BentoActivity content in BrainwalletTheme for consistent theming.
  • Updated OpacityContainer and its variants to use BoxScope, allowing flexible alignment (used by the new export button).

✨ New Feature: Export Transaction History

  • Added export icon button to TransactionHistoryGrid.
  • Implemented modal bottom sheet for exporting and sharing transaction data.
  • Added iap module and integrated it into the ltc module for export functionality.

✨ New Navigation & Bento Main Screen Integration

  • Added new BentoMainScreen.kt and BentoMainScreenState.kt.
  • Added BentoActivity.kt as the host for the redesigned home screen.
  • Integrated the new screen into the main navigation graph.
  • Added click handlers for Send, Receive, and Balance grid elements.
  • Implemented LtcNavigation interface to route navigation from the LTC module.
  • Updated the Receive dialog to show as a modal bottom sheet from the Bento screen.
  • Inverted ReceiveDialog colors to match updated design requirements.

🔗 Related Issues

  • Fixes #
  • Related to #

🧪 Tests Status

  • Tests ran successfully locally
  • Added more tests
  • Code coverage percentage of the codebase: __%

🎯 Reviewers

@kcw-grunt, @josikie

Introduces a `BalanceState` data class to encapsulate formatted LTC and currency values, replacing the previous `Long` type for balance.

This change refactors the balance state management across the presentation and domain layers. The `BalanceBentoGrid` and related components are updated to consume the new `BalanceState` model, simplifying the UI logic for displaying formatted balance values.

Additionally, this commit includes several UI tweaks:
- Improves edge-to-edge display handling in `BentoActivity`.
- Adjusts padding and sizing in `BentoMainScreen` and `TransactionHistoryGrid`.
- Refines the display logic for transaction addresses.
This introduces an export button on the transaction history screen. Tapping this button presents a modal bottom sheet allowing users to view and share their transaction data.

Key changes:
- Adds an "export" icon button to the `TransactionHistoryGrid`.
- Implements a modal bottom sheet using the new `iap` module to display exportable transaction data.
- Adds the `iap` module as a dependency to the `ltc` module.
- Updates `OpacityContainer` and its variations to use `BoxScope` for more flexible content layout, enabling alignment of the new export button.
- Wraps `BentoActivity` content within `BrainwalletTheme` to ensure consistent theming.
This commit introduces a new Bento-style main screen that will serve as the new home screen.

Key changes:
- Added `BentoMainScreen.kt` and its corresponding state management file `BentoMainScreenState.kt`.
- Created `BentoActivity.kt` to host the new main screen.
- Integrated `BentoMainScreen` into the navigation graph.
- Added click handlers for send, receive, and balance grid actions.
- Introduced `LtcNavigation` interface and its implementation to handle navigation from the LTC module.
- The "Receive" dialog is now shown as a modal bottom sheet when triggered from the Bento screen.
- The `ReceiveDialog`'s colors have been inverted to match the new design context.
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