/**
* 获取已离群的数量
* @param data
* @param state
* @returns
*/
import React, { useEffect, useState } from 'react';
import { IGroup, IGroupMembers } from './ChatLogsType';
import { AdminSvg, OwnerSvg } from './components/Svgs';
export const groupMembersCount = (data: any[], state: any) => {
let count = 0;
data.forEach((item) => {
if (item.state == state) {
count += 1;
}
});
return count;
};
/**
* 获取是微信的人数
* @param data
* @param group_members_type
* @param state
* @returns
*/
export const groupMembersCount2 = (data: any[], group_members_type: any, state: any) => {
let count = 0;
data.forEach((item) => {
if (item.group_members_type == group_members_type && item.state == state) {
count += 1;
}
});
return count;
};
// 群 Drawer 群员
export const groupMembersListItem = (item: IGroupMembers, selectGroup: IGroup) => {
return (
{item.avatar ? (

) : item.name ? (
item.name[0]
) : (
''
)}
{item.user_id == selectGroup?.owner ?
: null}
{selectGroup?.adminUserIDs?.includes(item.user_id) ?
: null}
{item.name}
);
};
/**
* 群管理者:
* @param data
* @param groupMembers
* @returns
*/
export const adminList = (data: any, groupMembers: any) => {
if (data) {
try {
const msg = JSON.parse(data);
if (Array.isArray(msg) && msg.length) {
let arr: any = [];
msg.forEach((el) => {
arr.push(groupMembers[el.userid]?.name);
});
return 群管理者:{arr.join(',')}
;
}
} catch (e) {
return <>>;
}
}
return <>>;
};
/**
* 返回群管理员 userid 数组
* @param data
* @returns
*/
export const getAdminList = (data: any) => {
if (data) {
try {
const msg = JSON.parse(data);
if (Array.isArray(msg)) {
let arr: string[] = [];
msg.forEach((item) => {
arr.push(item.userid);
});
return arr;
}
} catch (e) {
/* empty */
}
}
return [];
};
/**
* 客户等级等信息
* @returns
*/
export const formatTags = (data: any) => {
if (data) {
try {
const tags = JSON.parse(data);
if (Array.isArray(tags) && tags.length) {
return (
<>
{tags.map((item) => {
return (
{item.group_name}:{item.tag_name}
);
})}
>
);
}
} catch (e) {
/* empty */
}
}
return 无标签
;
};
type IGroupIcon = {
groupList: any[];
};
/**
* 群图标拼接
* @param props
* @returns
*/
export const GroupIcon: React.FC = (props) => {
const [list, setList] = useState([[], [], []]);
useEffect(() => {
let temp: any = [[], [], []];
const { groupList } = props;
for (let index = 0; index < 9; index++) {
const element = groupList[index];
if (index < 3) {
temp[0].push(element);
} else if (index < 6) {
temp[1].push(element);
} else {
temp[2].push(element);
}
}
temp.reverse();
setList(temp);
}, [props.groupList]);
return (
{list.map((item: any[], i: number) => {
return (
{item.map((el) => {
return el ? (
{el.avatar ? (

) : (
)}
) : null;
})}
);
})}
);
};