Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: use object theme to optimize sub system management #1808

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

jelychow
Copy link

Using object to encapsulate the theme subsystem

DO NOT CREATE A PULL REQUEST WITHOUT READING THESE INSTRUCTIONS

Instructions

No more material themes in apps, this avoids importing different styles so that the theme is always presented as we expect it to be.
colors:NiaTheme.colorScheme.background
custom background:NiaTheme.niaBackground.background
gradient: NiaTheme.gradientColors
If this is your first pull request

Ensure tests pass and code is formatted correctly

  • Run local tests on the DemoDebug variant by running ./gradlew testDemoDebug
  • Fix code formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

Add a description

Using object to manage Theme's subsystems makes it easier to use them instead of using them directly inside the repo, which violates encapsulation.

NOW DELETE THIS LINE AND EVERYTHING ABOVE IT

What I have done and why

use NiaTheme instead of MaterialTheme
use properties instead of directly using sub systems

  • val backgroundColor = NiaTheme.colorScheme.background.toArgb()
  • val color = NiaTheme.niaBackground.color
  • val tonalElevation = NiaTheme.niaBackground.tonalElevation

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.

1 participant