Skip to content

Conversation

@JosephSanjaya
Copy link
Contributor

📱 Description

This PR modernizes the home experience by replacing the legacy BentoRail with the new HomeSettingDrawerSheet, consolidating settings UI and simplifying state management. In addition, full localization support is introduced across multiple modules, adding translated resources for 19 languages.

Platform

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

🎯 Type of Change

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

📋 Changes

🔧 Replace BentoRail with HomeSettingDrawerSheet

  • Removed the old BentoRail composable and integrated the HomeSettingDrawerSheet into BentoMainScreen.
  • Centralized settings UI, removing redundant or duplicated logic across modules.
  • Updated BentoActivity to inherit from BreadActivity, leveraging shared functionality and enabling legacy UI events via EventBus.
  • Updated BreadActivity methods and fields to protected so BentoActivity can extend them safely.
  • Moved dark mode toggle logic from SettingsViewModel directly into DarkModeState within the drawer sheet.
  • Removed obsolete rail-related logic from BentoMainScreen and SettingsViewModel.

✨ Localization for Multilingual Support

  • Added translated strings.xml files for 19 languages:
    Arabic, German, Spanish, Farsi, French, Hindi, Indonesian, Italian, Japanese, Korean, Punjabi, Polish, Portuguese, Russian, Swedish, Turkish, Ukrainian, Simplified Chinese, and Traditional Chinese.
  • Externalized previously hardcoded strings across design-system, ltc, gamehub, and tutorial modules.
  • Updated Gradle configuration to ensure all new language resources are included in packaging.

🔗 Related Issues

🧪 Tests Status

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

🎯 Reviewers

@kcw-grunt, @josikie

This commit replaces the `BentoRail` composable with the `HomeSettingDrawerSheet` within the `BentoMainScreen`. This change centralizes the settings UI and its logic, improving code organization and removing redundant implementations.

Key changes include:
- `BentoActivity` now inherits from `BreadActivity` to reuse existing functionality and handle legacy UI events via `EventBus`.
- The dark mode toggle logic is moved out of the `SettingsViewModel` and is now managed directly by `DarkModeState` within the `HomeSettingDrawerSheet`, simplifying state management.
- `BreadActivity` fields and methods are made `protected` to allow access from the derived `BentoActivity`.
- Redundant code related to the old settings rail has been removed from `BentoMainScreen` and `SettingsViewModel`.
This commit introduces localization for various UI components by adding string resources for 19 new languages: Arabic, German, Spanish, Farsi, French, Hindi, Indonesian, Italian, Japanese, Korean, Punjabi, Polish, Portuguese, Russian, Swedish, Turkish, Ukrainian, and both Simplified and Traditional Chinese.

Specific changes include:
- Externalizing hardcoded strings in the `design-system`, `ltc`, `gamehub`, and `tutorial` modules to use `stringResource`.
- Adding translated `strings.xml` files for each supported language within these modules.
- Updating Gradle build files to include the new language configurations, ensuring they are correctly packaged.
@JosephSanjaya
Copy link
Contributor Author

Sorry still a lot cause of localization @kcw-grunt , already trimming down to 2 commits

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