Files
mattermost-mobile/app/components/post_priority/post_priority_label.tsx
Kyriakos Z bf5783252e MM-49219: fixes post priority (#6880)
We have changed how priority gets saved in the server, so now instead of
post.props we are using post.metadata.priority.
This commit adds the relevant changes for posts' priority to work in the
mobile app.
2022-12-20 21:54:25 +02:00

68 lines
1.9 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import {useIntl} from 'react-intl';
import {StyleProp, StyleSheet, Text, View, ViewStyle} from 'react-native';
import CompassIcon from '@components/compass_icon';
import {PostPriorityColors, PostPriorityType} from '@constants/post';
import {typography} from '@utils/typography';
const style = StyleSheet.create({
container: {
alignSelf: 'flex-start',
flexDirection: 'row',
borderRadius: 4,
alignItems: 'center',
paddingHorizontal: 4,
},
urgent: {
backgroundColor: PostPriorityColors.URGENT,
},
important: {
backgroundColor: PostPriorityColors.IMPORTANT,
},
label: {
color: '#fff',
...typography('Body', 25, 'SemiBold'),
},
icon: {
color: '#fff',
fontSize: 12,
marginRight: 4,
},
});
type Props = {
label: PostPriorityData['priority'];
};
const PostPriorityLabel = ({label}: Props) => {
const intl = useIntl();
const containerStyle: StyleProp<ViewStyle> = [style.container];
let iconName = '';
let labelText = '';
if (label === PostPriorityType.URGENT) {
containerStyle.push(style.urgent);
iconName = 'alert-outline';
labelText = intl.formatMessage({id: 'post_priority.label.urgent', defaultMessage: 'URGENT'});
} else if (label === PostPriorityType.IMPORTANT) {
containerStyle.push(style.important);
iconName = 'alert-circle-outline';
labelText = intl.formatMessage({id: 'post_priority.label.important', defaultMessage: 'IMPORTANT'});
}
return (
<View style={containerStyle}>
<CompassIcon
name={iconName}
style={style.icon}
/>
<Text style={style.label}>{labelText}</Text>
</View>
);
};
export default PostPriorityLabel;