Skip to content

Conversation

@JosephSanjaya
Copy link
Contributor

@JosephSanjaya JosephSanjaya commented Nov 21, 2025

📱 Description

This PR introduces several new grid components to the Bento home screen, expanding functionality and improving the overall UI structure. The update brings dedicated composables for balances, price tickers, LTC transaction history, and favorite contacts.

Platform

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

🎯 Type of Change

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

📋 Changes

  • Added BalanceBentoGrid composable for LTC and USD balance display.
    • Includes animated visibility toggle (eye icon) with fade transitions.
    • New vector assets for enabled/disabled icons.
  • Added PriceTickerGrid composable with horizontally swipeable pager to display trading pair prices (e.g., LTC/USD, LTC/BTC).
  • Added TransactionHistoryGrid composable for displaying LTC transaction history placeholders.
  • Added Favorites grid component featuring circular contact avatars and an Add button.
  • Updated BentoMainScreen layout to integrate all new grid components.
    • Now respects system insets via statusBarsPadding() and navigationBarsPadding().
  • Enabled edge-to-edge mode in BentoActivity for a more immersive UI.
  • Updated Gradle packaging rules to exclude duplicate license files.

🔗 Related Issues

  • Fixes #
  • Related to #

🧪 Tests Status

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

📸 Screenshots/Videos

Before After
(previous home layout) (updated home screen with new grids)

🎯 Reviewers

@kcw-grunt, @josikie

This commit introduces the `BalanceBentoGrid` composable, a new component for the home screen's bento layout.

Key changes include:
- A dedicated `BalanceBentoGrid` composable to display LTC and USD balances.
- A visibility toggle (eye icon) to show or hide balance information, enhancing privacy. The state is animated with a fade effect.
- New vector assets for the enabled and disabled eye icons.
- Edge-to-edge display is enabled in `BentoActivity` for a more immersive UI.
- The `BentoMainScreen` is updated to use the new balance grid and to respect system window insets (`statusBarsPadding` and `navigationBarsPadding`).
- Gradle packaging rules are updated to exclude duplicate license files.
Introduces a new `TransactionHistoryGrid` Composable in the LTC module. This component displays a placeholder for the transaction history on the main screen.

The `BentoMainScreen` is updated to integrate this new component into the grid layout, replacing a generic `BentoHomeGrid` item.
Introduces a new `PriceTickerGrid` composable to display cryptocurrency trading pair prices.

This component features a horizontally swipeable pager to cycle through different trading pairs, such as LTC/USD and LTC/BTC, with pagination indicators.

The new grid has been integrated into the `BentoMainScreen` layout.
Introduces a new "Favorites" grid component to the main Bento screen.

This new grid displays a list of favorite contacts as circular avatars. It also includes an "Add" button to allow users to add new contacts.

The component is added to the main screen layout, replacing a placeholder grid item.
@JosephSanjaya
Copy link
Contributor Author

If you’d like a commit-by-commit review from the past month, this is the first phase of Bento, including the glass → opacity container changes. If this works for you, I’ll create the next PRs step by step. @kcw-grunt if okay with it we can merged this to reduce the changes

@JosephSanjaya JosephSanjaya changed the title Bento base widget Feat(Bento): Implement First Iteration bento design Nov 21, 2025
@JosephSanjaya JosephSanjaya changed the title Feat(Bento): Implement First Iteration bento design 1st Feat(Bento): Implement First Iteration bento design Nov 21, 2025
@JosephSanjaya JosephSanjaya changed the title 1st Feat(Bento): Implement First Iteration bento design 1st. Feat(Bento): Implement First Iteration bento design Nov 21, 2025
.statusBarsPadding()
.navigationBarsPadding()
) {
AnimatedLightBleedBackground(
Copy link
Collaborator

@kcw-grunt kcw-grunt Nov 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rename to a ios common name for reference the. I added this note before . Dont hardcode layer naming.

Notes: @JosephSanjaya

I would like to further name this in the comments so that when we compare iOS and Android the code is easily found. .. I dunno on the name but iOS is no better (GridWaveContentView)
Ideas:

Please dont refer it to as Background....View is better because where it is in the view hierarchy is irrelevant.
Here are your choices:

  1. AnimatedWaveView
  2. ShaderWaveView
  3. AnimatedShaderView

cc: @josikie

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done renaming to AnimatedShaderView

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

@kcw-grunt kcw-grunt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note naming function comments in the view

The composable `AnimatedLightBleedBackground` has been renamed to `AnimatedShaderView` to better reflect its more general purpose as a view that renders animated shaders, rather than being specific to a "light bleed" effect.

This change is applied across the design system module and its usages, including the `BentoMainScreen` and the preview file.
@JosephSanjaya
Copy link
Contributor Author

Do you want me to change all new composable with View suffix? @kcw-grunt

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.

3 participants