|
|
@ -1,11 +1,12 @@
|
|
|
|
import React, { useCallback, useState } from 'react';
|
|
|
|
import React, { useCallback, useState } from 'react';
|
|
|
|
import { PillTabPane, PillTabs } from '@/components/PillTabs';
|
|
|
|
import { PillTabs } from '@/components/PillTabs';
|
|
|
|
import { AddFriend } from './AddFriend';
|
|
|
|
import { AddFriend } from './AddFriend';
|
|
|
|
import { t, useAppSelector, useGlobalConfigStore } from 'tailchat-shared';
|
|
|
|
import { t, useAppSelector, useGlobalConfigStore } from 'tailchat-shared';
|
|
|
|
import { RequestSend } from './RequestSend';
|
|
|
|
import { RequestSend } from './RequestSend';
|
|
|
|
import { RequestReceived } from './RequestReceived';
|
|
|
|
import { RequestReceived } from './RequestReceived';
|
|
|
|
import { FriendList } from './FriendList';
|
|
|
|
import { FriendList } from './FriendList';
|
|
|
|
import { Badge } from 'antd';
|
|
|
|
import { Badge } from 'antd';
|
|
|
|
|
|
|
|
import _compact from 'lodash/compact';
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 主要内容组件
|
|
|
|
* 主要内容组件
|
|
|
@ -27,15 +28,20 @@ export const FriendPanel: React.FC = React.memo(() => {
|
|
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<div className="w-full">
|
|
|
|
<div className="w-full">
|
|
|
|
<PillTabs activeKey={activeKey} onChange={setActiveKey}>
|
|
|
|
<PillTabs
|
|
|
|
<PillTabPane tab={t('全部')} key="1">
|
|
|
|
activeKey={activeKey}
|
|
|
|
|
|
|
|
onChange={setActiveKey}
|
|
|
|
|
|
|
|
items={_compact([
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
key: '1',
|
|
|
|
|
|
|
|
label: t('全部'),
|
|
|
|
|
|
|
|
children: (
|
|
|
|
<FriendList onSwitchToAddFriend={handleSwitchToAddFriend} />
|
|
|
|
<FriendList onSwitchToAddFriend={handleSwitchToAddFriend} />
|
|
|
|
</PillTabPane>
|
|
|
|
),
|
|
|
|
|
|
|
|
},
|
|
|
|
{!disableAddFriend && (
|
|
|
|
!disableAddFriend && {
|
|
|
|
<>
|
|
|
|
key: '2',
|
|
|
|
<PillTabPane
|
|
|
|
label: (
|
|
|
|
tab={
|
|
|
|
|
|
|
|
<Badge
|
|
|
|
<Badge
|
|
|
|
className="text-black dark:text-white"
|
|
|
|
className="text-black dark:text-white"
|
|
|
|
size="small"
|
|
|
|
size="small"
|
|
|
@ -43,13 +49,12 @@ export const FriendPanel: React.FC = React.memo(() => {
|
|
|
|
>
|
|
|
|
>
|
|
|
|
{t('已发送')}
|
|
|
|
{t('已发送')}
|
|
|
|
</Badge>
|
|
|
|
</Badge>
|
|
|
|
}
|
|
|
|
),
|
|
|
|
key="2"
|
|
|
|
children: <RequestSend requests={send} />,
|
|
|
|
>
|
|
|
|
},
|
|
|
|
<RequestSend requests={send} />
|
|
|
|
!disableAddFriend && {
|
|
|
|
</PillTabPane>
|
|
|
|
key: '3',
|
|
|
|
<PillTabPane
|
|
|
|
label: (
|
|
|
|
tab={
|
|
|
|
|
|
|
|
<Badge
|
|
|
|
<Badge
|
|
|
|
className="text-black dark:text-white"
|
|
|
|
className="text-black dark:text-white"
|
|
|
|
size="small"
|
|
|
|
size="small"
|
|
|
@ -57,20 +62,16 @@ export const FriendPanel: React.FC = React.memo(() => {
|
|
|
|
>
|
|
|
|
>
|
|
|
|
{t('待处理')}
|
|
|
|
{t('待处理')}
|
|
|
|
</Badge>
|
|
|
|
</Badge>
|
|
|
|
}
|
|
|
|
),
|
|
|
|
key="3"
|
|
|
|
children: <RequestReceived requests={received} />,
|
|
|
|
>
|
|
|
|
},
|
|
|
|
<RequestReceived requests={received} />
|
|
|
|
!disableAddFriend && {
|
|
|
|
</PillTabPane>
|
|
|
|
key: '4',
|
|
|
|
<PillTabPane
|
|
|
|
label: <span className="text-green-400">{t('添加好友')}</span>,
|
|
|
|
tab={<span className="text-green-400">{t('添加好友')}</span>}
|
|
|
|
children: <AddFriend />,
|
|
|
|
key="add"
|
|
|
|
},
|
|
|
|
>
|
|
|
|
])}
|
|
|
|
<AddFriend />
|
|
|
|
/>
|
|
|
|
</PillTabPane>
|
|
|
|
|
|
|
|
</>
|
|
|
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
</PillTabs>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|