mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-01-19 14:45:17 +01:00
Update BlueComponents.js
This commit is contained in:
parent
5ece7dd620
commit
71cd5592fe
@ -23,6 +23,7 @@ import {
|
||||
FlatList,
|
||||
TextInput,
|
||||
PixelRatio,
|
||||
useWindowDimensions,
|
||||
} from 'react-native';
|
||||
import Clipboard from '@react-native-community/clipboard';
|
||||
import LinearGradient from 'react-native-linear-gradient';
|
||||
@ -61,39 +62,46 @@ if (aspectRatio > 1.6) {
|
||||
isIpad = true;
|
||||
}
|
||||
|
||||
export class BlueButton extends Component {
|
||||
render() {
|
||||
let backgroundColor = this.props.backgroundColor ? this.props.backgroundColor : BlueCurrentTheme.colors.mainColor;
|
||||
let fontColor = BlueCurrentTheme.colors.buttonTextColor;
|
||||
if (this.props.disabled === true) {
|
||||
backgroundColor = BlueCurrentTheme.colors.buttonDisabledBackgroundColor;
|
||||
fontColor = BlueCurrentTheme.colors.buttonDisabledTextColor;
|
||||
}
|
||||
export const BlueButton = props => {
|
||||
const { colors } = useTheme();
|
||||
const { width } = useWindowDimensions();
|
||||
|
||||
return (
|
||||
<TouchableOpacity
|
||||
style={{
|
||||
flex: 1,
|
||||
borderWidth: 0.7,
|
||||
borderColor: 'transparent',
|
||||
backgroundColor: backgroundColor,
|
||||
minHeight: 45,
|
||||
height: 45,
|
||||
maxHeight: 45,
|
||||
borderRadius: 25,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
}}
|
||||
{...this.props}
|
||||
>
|
||||
<View style={{ flexDirection: 'row', justifyContent: 'center', alignItems: 'center' }}>
|
||||
{this.props.icon && <Icon name={this.props.icon.name} type={this.props.icon.type} color={this.props.icon.color} />}
|
||||
{this.props.title && <Text style={{ marginHorizontal: 8, fontSize: 16, color: fontColor }}>{this.props.title}</Text>}
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
);
|
||||
let backgroundColor = props.backgroundColor ? props.backgroundColor : colors.mainColor;
|
||||
let fontColor = colors.buttonTextColor;
|
||||
if (props.disabled === true) {
|
||||
backgroundColor = colors.buttonDisabledBackgroundColor;
|
||||
fontColor = colors.buttonDisabledTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
let buttonWidth = props.width ? props.width : width / 1.5;
|
||||
if ('noMinWidth' in props) {
|
||||
buttonWidth = 0;
|
||||
}
|
||||
|
||||
return (
|
||||
<TouchableOpacity
|
||||
style={{
|
||||
flex: 1,
|
||||
borderWidth: 0.7,
|
||||
borderColor: 'transparent',
|
||||
backgroundColor: backgroundColor,
|
||||
minHeight: 45,
|
||||
height: 45,
|
||||
maxHeight: 45,
|
||||
borderRadius: 25,
|
||||
minWidth: buttonWidth,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
}}
|
||||
{...props}
|
||||
>
|
||||
<View style={{ flexDirection: 'row', justifyContent: 'center', alignItems: 'center' }}>
|
||||
{props.icon && <Icon name={props.icon.name} type={props.icon.type} color={props.icon.color} />}
|
||||
{props.title && <Text style={{ marginHorizontal: 8, fontSize: 16, color: fontColor }}>{props.title}</Text>}
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
);
|
||||
};
|
||||
|
||||
export const BlueButtonHook = props => {
|
||||
const { colors } = useTheme();
|
||||
|
Loading…
Reference in New Issue
Block a user