feat: add message pinned icon
This commit is contained in:
parent
54f2cea4e9
commit
f7d4f0d0be
|
@ -0,0 +1,15 @@
|
|||
import React from 'react';
|
||||
|
||||
import { CustomIcon } from '../../../CustomIcon';
|
||||
import styles from '../../styles';
|
||||
import { useTheme } from '../../../../theme';
|
||||
|
||||
const Pinned = React.memo(({ pinned }: { pinned?: boolean }) => {
|
||||
const { colors } = useTheme();
|
||||
if (pinned) {
|
||||
return <CustomIcon name='pin' color={colors.auxiliaryTintColor} size={16} style={styles.rightIcons} />;
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
export default Pinned;
|
|
@ -1,11 +1,12 @@
|
|||
import React from 'react';
|
||||
import { StyleSheet, View } from 'react-native';
|
||||
|
||||
import Encrypted from './Encrypted';
|
||||
import Edited from './Edited';
|
||||
import MessageError from './MessageError';
|
||||
import ReadReceipt from './ReadReceipt';
|
||||
import { MessageType } from '../../../../definitions';
|
||||
import Edited from './Edited';
|
||||
import Encrypted from './Encrypted';
|
||||
import MessageError from './MessageError';
|
||||
import Pinned from './Pinned';
|
||||
import ReadReceipt from './ReadReceipt';
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
actionIcons: {
|
||||
|
@ -20,10 +21,12 @@ interface IRightIcons {
|
|||
isReadReceiptEnabled?: boolean;
|
||||
unread?: boolean;
|
||||
hasError: boolean;
|
||||
pinned?: boolean;
|
||||
}
|
||||
|
||||
const RightIcons = ({ type, msg, isEdited, hasError, isReadReceiptEnabled, unread }: IRightIcons) => (
|
||||
const RightIcons = ({ type, msg, isEdited, hasError, isReadReceiptEnabled, unread, pinned }: IRightIcons): React.ReactElement => (
|
||||
<View style={styles.actionIcons}>
|
||||
<Pinned pinned={pinned} />
|
||||
<Encrypted type={type} />
|
||||
<Edited testID={`${msg}-edited`} isEdited={isEdited} />
|
||||
<MessageError hasError={hasError} />
|
||||
|
|
|
@ -117,6 +117,7 @@ const Message = React.memo((props: IMessage) => {
|
|||
hasError={props.hasError}
|
||||
isReadReceiptEnabled={props.isReadReceiptEnabled}
|
||||
unread={props.unread}
|
||||
pinned={props.pinned}
|
||||
/>
|
||||
) : null}
|
||||
</View>
|
||||
|
|
|
@ -390,7 +390,8 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
|
|||
autoTranslate: autoTranslateMessage,
|
||||
replies,
|
||||
md,
|
||||
comment
|
||||
comment,
|
||||
pinned
|
||||
} = item;
|
||||
|
||||
let message = msg;
|
||||
|
@ -485,6 +486,7 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
|
|||
isTranslated={isTranslated}
|
||||
isBeingEdited={isBeingEdited}
|
||||
isPreview={isPreview}
|
||||
pinned={pinned}
|
||||
/>
|
||||
</MessageContext.Provider>
|
||||
);
|
||||
|
|
|
@ -64,6 +64,7 @@ export interface IMessageContent {
|
|||
hasError: boolean;
|
||||
isHeader: boolean;
|
||||
isTranslated: boolean;
|
||||
pinned?: boolean;
|
||||
}
|
||||
|
||||
export interface IMessageEmoji {
|
||||
|
|
Loading…
Reference in New Issue