import * as React from 'react'; import { useContext } from 'react'; import { View, StyleSheet } from 'react-native'; import { Subheading } from 'react-native-paper'; import { reduxTag } from './Status'; import { getTime, getShortDate, isLongText, addEllipsis } from '../Utils/helpers'; import { Text, Title } from './Text'; import { ThemeContext } from '../Theme'; import ReduxAction from '../Core/Objects/ReduxAction'; import { ViewMoreButton } from './ViewMoreButton'; export interface IProps { testId?: string; item: ReduxAction; reduxAction: any; onPressViewMore: (value: boolean) => void; } export const ActionDetails: React.FC = (props: IProps) => { const theme = useContext(ThemeContext); return ( {/* REDUX + REDUX TAG */} REDUX {reduxTag()} Started at : {`${getShortDate(props.item.startTime)} - ${getTime(props.item.startTime)}`} Content Type {props.item.action.type} {props.reduxAction.label && ( {`${props.reduxAction.label .charAt(0) .toUpperCase()}${props.reduxAction.label.slice(1)} :`} )} {props.reduxAction.payload && {addEllipsis(JSON.stringify(props.reduxAction.payload, null, 2))}} {isLongText(addEllipsis(JSON.stringify(props.reduxAction.payload, null, 2))) && ( props.onPressViewMore(true)} /> )} ); }; export default ActionDetails; const styles = StyleSheet.create({ line: { flexDirection: 'row', paddingHorizontal: 16, marginBottom: 10, alignItems: 'center', }, subheading: { paddingHorizontal: 16, paddingVertical: 8, marginBottom: 10, }, attribtuesContainer: { justifyContent: 'flex-start', paddingHorizontal: 16, paddingVertical: 8, }, });