import { Icon } from '@iconify/react'; import { Button, Typography } from 'antd'; import React, { useState } from 'react'; import { createGroupInviteCode, useAsyncRequest, useGroupInfo, } from 'tailchat-shared'; import { isValidStr } from '../../../../shared/utils/string-helper'; import { ModalWrapper } from '../Modal'; /** * 群组邀请 */ interface GroupInviteProps { groupId: string; } export const GroupInvite: React.FC = React.memo((props) => { const groupId = props.groupId; const groupInfo = useGroupInfo(groupId); // const [searchName, setSearchName] = useState(''); const [inviteLink, setInviteLink] = useState(''); // const handleSearch = useCallback(() => { // console.log('searchName', searchName); // }, []); const [{ loading }, handleCreateInviteLink] = useAsyncRequest(async () => { const invite = await createGroupInviteCode(groupId); setInviteLink(`${location.origin}/invite/${invite.code}`); }, [groupId]); if (!groupInfo) { return
异常
; } return ( {/*
邀请好友加入群组 {groupInfo.name}
setSearchName(e.target.value)} onSearch={handleSearch} />
或者创建链接并发送给外部好友 */}
创建链接并发送给外部好友
{isValidStr(inviteLink) ? (
{inviteLink}

该邀请链接将会于7天后过期

) : ( )}
); }); GroupInvite.displayName = 'GroupInvite';