diff --git a/web/src/layouts/components/right-toolbar/index.tsx b/web/src/layouts/components/right-toolbar/index.tsx index 3a570c749..2cda6a63b 100644 --- a/web/src/layouts/components/right-toolbar/index.tsx +++ b/web/src/layouts/components/right-toolbar/index.tsx @@ -2,14 +2,16 @@ import { useTranslate } from '@/hooks/common-hooks'; import { DownOutlined, GithubOutlined } from '@ant-design/icons'; import { Dropdown, MenuProps, Space } from 'antd'; import camelCase from 'lodash/camelCase'; -import React from 'react'; +import React, { useCallback, useMemo } from 'react'; import User from '../user'; import { useTheme } from '@/components/theme-provider'; import { LanguageList, LanguageMap } from '@/constants/common'; import { useChangeLanguage } from '@/hooks/logic-hooks'; -import { useFetchUserInfo } from '@/hooks/user-setting-hooks'; -import { CircleHelp, MoonIcon, SunIcon } from 'lucide-react'; +import { useFetchUserInfo, useListTenant } from '@/hooks/user-setting-hooks'; +import { TenantRole } from '@/pages/user-setting/constants'; +import { BellRing, CircleHelp, MoonIcon, SunIcon } from 'lucide-react'; +import { useNavigate } from 'umi'; import styled from './index.less'; const Circle = ({ children, ...restProps }: React.PropsWithChildren) => { @@ -32,6 +34,7 @@ const RightToolBar = () => { const { t } = useTranslate('common'); const changeLanguage = useChangeLanguage(); const { setTheme, theme } = useTheme(); + const navigate = useNavigate(); const { data: { language = 'English' }, @@ -41,6 +44,12 @@ const RightToolBar = () => { changeLanguage(key); }; + const { data } = useListTenant(); + + const showBell = useMemo(() => { + return data.some((x) => x.role === TenantRole.Invite); + }, [data]); + const items: MenuProps['items'] = LanguageList.map((x) => ({ key: x, label: {LanguageMap[x as keyof typeof LanguageMap]}, @@ -55,6 +64,10 @@ const RightToolBar = () => { setTheme('dark'); }, [setTheme]); + const handleBellClick = useCallback(() => { + navigate('/user-setting/team'); + }, [navigate]); + return (
@@ -77,6 +90,14 @@ const RightToolBar = () => { )} + {showBell && ( + +
+ + +
+
+ )}