callstack / react-theme-provider

A set of utilities that help you create your own React theming system in few easy steps
MIT License
465 stars 54 forks source link

Preferred light/dark theme? #55

Open cpboyd opened 5 years ago

cpboyd commented 5 years ago

Describe the feature

It'd be nice to automatically be able to accommodate a user's preferred light/dark theme preferences.

Perhaps, simplifying the check of uiMode && UI_MODE_NIGHT_MASK on Android and traitCollection.userInterfaceStyle on iOS.

These both have undefined/unspecified, light, and dark/night.

Unfortunately, the built-in react-native uiMode doesn't give this information.

Motivation

With iOS 13 and Android Q making this sort of theming more integrated (and Google and Apple's own apps supporting the ability to switch at the OS level), it'd be nice to automatically detect what theme the user wants.

I'd rather not force a user to fumble through app settings to configure the theme if they've already got an option to specify it at the OS level.

Related Issues

I didn't see any at first glance, but I may have missed them.

hrutvikpatel commented 5 years ago

@cpboyd do you know of any modules that do what you described above?

cpboyd commented 5 years ago

@HrutvikPatel I didn't see anything during a quick Google search before I created this issue.

I'm now working on a Flutter app. Flutter does have this functionality baked in for the Material widgets on Android (I haven't yet tested it on an iPhone).