import React, { useEffect } from 'react';
import { Text } from 'native-base';
import { connect } from 'react-redux';
import { ScrollView, TouchableOpacity } from 'react-native';
import { NavigationStackProp } from 'react-navigation-stack';
import styles from '../../styles/styles';
import PinnedCall from '../PinnedCall/PinnedCall';
import { loadPinnedCalls } from '../../../../../../redux/actions/creators';
interface PinnedCallsProps {
id?: string;
calls?: {
id: string;
dateStart: string;
duration: string;
user: {
id: string;
fullName: string;
phone: string;
};
client: {
id: string;
fullName: string;
phone: string;
};
type: string;
link: string;
}[];
startLoadPinnedCalls?: (id: string) => void;
navigation?: NavigationStackProp;
}
const PinnedCalls: React.FC<PinnedCallsProps> = ({
id,
calls,
navigation,
startLoadPinnedCalls
}) => {
let appealId: string;
if (id) {
appealId = id;
} else {
appealId = navigation.state.params.id;
}
useEffect(() => {
startLoadPinnedCalls(appealId);
}, [startLoadPinnedCalls, appealId]);
return (
<ScrollView>
<Text
style={[
styles.font,
styles.h2,
styles.blackFont,
styles.fiveHundredWeight,
styles.centeringSelf,
styles.pt15,
styles.mb15
]}
>
Звонки
</Text>
<>
{calls.length === 0
? calls.map(call => <PinnedCall call={call} navigation={navigation} />)
: <Text>Ничего не найдено</Text>}
</>
</ScrollView>
);
};
const mapStateToProps = state => ({ ...state.appealDetails });
const mapDispatchToProps = dispatch => ({
startLoadPinnedCalls: (id: string) => {
dispatch(loadPinnedCalls(id));
}
});
export default connect(mapStateToProps, mapDispatchToProps)(PinnedCalls);