mattermost-mobile/share_extension/components/content_view/options/option.tsx
Elias Nahum 6eadc527bb
Gekidou Android share extension (#6803)
* Refactor app database queries to not require the app database as argument

* Android Share Extension and fix notifications prompt

* feedback review
2022-11-30 23:18:56 +02:00

70 lines
1.8 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import {Text, TouchableOpacity, View} from 'react-native';
import CompassIcon from '@components/compass_icon';
import {changeOpacity, makeStyleSheetFromTheme} from '@utils/theme';
import {typography} from '@utils/typography';
type Props = {
label: string;
onPress: () => void;
theme: Theme;
value: string;
}
const getStyles = makeStyleSheetFromTheme((theme: Theme) => ({
container: {
flexDirection: 'row',
height: 48,
alignItems: 'center',
},
label: {
color: theme.centerChannelColor,
...typography('Body', 200),
},
row: {
flexDirection: 'row',
flex: 1,
justifyContent: 'flex-end',
},
value: {
alignItems: 'flex-end',
color: changeOpacity(theme.centerChannelColor, 0.56),
top: 2,
flexShrink: 1,
marginLeft: 10,
...typography('Body', 100),
},
}));
const Option = ({label, onPress, theme, value}: Props) => {
const styles = getStyles(theme);
return (
<TouchableOpacity
onPress={onPress}
style={styles.container}
>
<Text style={styles.label}>{label}</Text>
<View style={styles.row}>
<Text
numberOfLines={1}
style={styles.value}
>
{value}
</Text>
<CompassIcon
color={changeOpacity(theme.centerChannelColor, 0.32)}
name='chevron-right'
size={24}
/>
</View>
</TouchableOpacity>
);
};
export default Option;