import React, { useContext } from 'react'; import { dequal } from 'dequal'; import { Text } from 'react-native'; import { IMessageAttachments } from './interfaces'; import Image from './Image'; import Audio from './Audio'; import Video from './Video'; import Reply from './Reply'; import Button from '../Button'; import styles from './styles'; import MessageContext from './Context'; import { useTheme } from '../../theme'; import { IAttachment } from '../../definitions'; import CollapsibleQuote from './Components/CollapsibleQuote'; import openLink from '../../utils/openLink'; import { themes } from '../../constants/colors'; export type TElement = { type: string; msg?: string; url?: string; text: string; }; const AttachedActions = ({ attachment }: { attachment: IAttachment }) => { if (!attachment.actions) { return null; } const { onAnswerButtonPress } = useContext(MessageContext); const { theme } = useTheme(); const attachedButtons = attachment.actions.map((element: TElement) => { const onPress = () => { if (element.msg) { onAnswerButtonPress(element.msg); } if (element.url) { openLink(element.url); } }; if (element.type === 'button') { return