react-native-flip
Version:
30 lines (24 loc) • 755 B
text/typescript
import { Appearance, ColorSchemeName } from 'react-native';
import { StatusBarStyle } from './StatusBar.types';
function getColorScheme() {
if (Appearance) {
return Appearance.getColorScheme();
} else {
return 'light';
}
}
export default function styleToBarStyle(
style: StatusBarStyle = 'auto',
colorScheme: ColorSchemeName = getColorScheme()
): 'light-content' | 'dark-content' {
if (!colorScheme) {
colorScheme = 'light';
}
let resolvedStyle = style;
if (style === 'auto') {
resolvedStyle = colorScheme === 'light' ? 'dark' : 'light';
} else if (style === 'inverted') {
resolvedStyle = colorScheme === 'light' ? 'light' : 'dark';
}
return resolvedStyle === 'light' ? 'light-content' : 'dark-content';
}