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

Loading…
Cancel
Save