feat: add person icon badge when has unprocessed friend request

pull/105/merge
moonrailgun 2 years ago
parent 39e0b2cee7
commit 1b84143bbe

@ -1,6 +1,12 @@
import { Avatar } from 'tailchat-design';
import React from 'react';
import { t, useDMConverseList, useUserInfo, useUnread } from 'tailchat-shared';
import {
t,
useDMConverseList,
useUserInfo,
useUnread,
useAppSelector,
} from 'tailchat-shared';
import { NavbarNavItem } from './NavItem';
function usePersonalUnread(): boolean {
@ -13,6 +19,14 @@ function usePersonalUnread(): boolean {
export const PersonalNav: React.FC = React.memo(() => {
const userInfo = useUserInfo();
const unread = usePersonalUnread();
const hasFriendRequest = useAppSelector(
(state) =>
state.user.friendRequests.findIndex(
(item) => item.to === state.user.info?._id
) >= 0
);
const badge = unread || hasFriendRequest;
return (
<div data-tc-role="navbar-personal">
@ -20,7 +34,7 @@ export const PersonalNav: React.FC = React.memo(() => {
name={t('我')}
to={'/main/personal'}
showPill={true}
badge={unread}
badge={badge}
>
<Avatar
shape="square"

Loading…
Cancel
Save