/* eslint-disable react-native/no-inline-styles */
import { View, Image, StyleSheet } from 'react-native';
import React, { useContext } from 'react';
import { useQuery } from '@apollo/client';
import { widgetsMessengerSupporters } from '../../graphql/query';
import AppContext from '../../context/Context';
import { getAttachmentUrl } from '../../utils/utils';
const Supporters = (props: any) => {
const { integrationId } = props;
const value = useContext(AppContext);
const { subDomain } = value;
const { data, loading } = useQuery(widgetsMessengerSupporters, {
variables: {
integrationId,
},
});
if (loading) {
return null;
}
const supporters = data?.widgetsMessengerSupporters?.supporters;
const renderSupporter = (supporter: any, index: number) => {
const color = supporter?.isOnline ? '#3ccc38' : 'white';
let source;
if (supporter?.details?.avatar) {
source = {
uri: getAttachmentUrl(supporter?.details?.avatar, subDomain),
};
} else {
source = require('../../assets/images/avatar.png');
}
return (
);
};
return (
{supporters
?.filter((supporter: any) => supporter?.isActive)
?.map((supporter: any, index: number) => {
return renderSupporter(supporter, index);
})}
);
};
export default Supporters;
const styles = StyleSheet.create({
image: {
width: 50,
height: 50,
borderRadius: 90,
},
activeStatus: {
width: 13,
height: 13,
borderRadius: 90,
position: 'absolute',
bottom: 0,
left: 35,
},
});