import { FunctionComponent } from 'react'; import React from 'react'; import { IInvitation } from '../../store/invitations/types'; import { ImageButton } from '../common/ImageButton'; import { AvatarPresenceBadge } from '../presence/AvatarPresenceBadge'; import { Divider, Surface } from 'react-native-paper'; import { StyleSheet, Text, View } from 'react-native'; import { Presence } from '../../store/contacts/types'; interface IProps { invitation: IInvitation; onAccept?: (invitation: IInvitation) => void; onDecline?: (invitation: IInvitation) => void; onCancel?: (invitation: IInvitation) => void; onResend?: (invitation: IInvitation) => void; } export const InvitationCardView: FunctionComponent = ({ invitation, onAccept, onDecline, onCancel, onResend }) => { return ( {invitation.contact.name} {onAccept && ( onAccept(invitation)} /> )} {onDecline && ( onDecline(invitation)} /> )} {onCancel && ( onCancel(invitation)} /> )} {onResend && ( onResend(invitation)} /> )} ); } const styles = StyleSheet.create({ invitationContainer: { elevation: 1, paddingVertical: 8, paddingLeft: 16, paddingRight: 20, borderRadius: 4, backgroundColor: 'white', }, mainContainer: { flexDirection: 'row', justifyContent: 'space-between', paddingHorizontal: 20, }, leftContainer: { flexDirection: 'row', alignItems: 'center', }, actionsContainer: { flexDirection: 'row', alignItems: 'center', }, divider: { marginHorizontal: 20, marginVertical: 8, backgroundColor: '#E0E0E0', height: 1, }, });