import * as React from 'react';
import { StatusBar, Text, TextInput } from 'react-native';
import { ThemeContext, ThemeColors } from '@react-navigation/core';
class ThemedText extends React.Component {
static contextType = ThemeContext;
render() {
return (
<Text
{...this.props}
style={[{ color: ThemeColors[this.context].label }, this.props.style]}
/>
);
}
}
class ThemedTextInput extends React.Component {
static contextType = ThemeContext;
render() {
return (
<TextInput
{...this.props}
placeholderTextColor={
this.context === 'dark' ? '#ebebf54c' : '#3c3c434c'
}
style={[{ color: ThemeColors[this.context].label }, this.props.style]}
/>
);
}
}
class ThemedStatusBar extends React.Component {
static contextType = ThemeContext;
render() {
let { barStyle, ...props } = this.props;
return (
<StatusBar
barStyle={
barStyle
? barStyle
: this.context === 'dark'
? 'light-content'
: 'default'
}
{...props}
/>
);
}
}
export default {
Text: ThemedText,
StatusBar: ThemedStatusBar,
TextInput: ThemedTextInput,
};