import { GridItem, Grid } from '@chakra-ui/react'; import React from 'react'; import { ChatPageContext } from '@/web/core/chat/context/chatPageContext'; import { ChatSidebarPaneEnum } from '@/pageComponents/chat/constants'; import { useContextSelector } from 'use-context-selector'; import { ChatContext } from '@/web/core/chat/context/chatContext'; import { useChatStore } from '@/web/core/chat/context/useChatStore'; import { useTranslation } from 'react-i18next'; import { Box, Flex, Image } from '@chakra-ui/react'; import Avatar from '@fastgpt/web/components/common/Avatar'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; import { ChatItemContext } from '@/web/core/chat/context/chatItemContext'; import MyDivider from '@fastgpt/web/components/common/MyDivider'; import { DEFAULT_LOGO_BANNER_URL } from '@/pageComponents/chat/constants'; type Props = { title?: string; banner?: string; }; const ChatSliderHeader = ({ title, banner }: Props) => { const { t } = useTranslation(); const { isPc } = useSystem(); const { setChatId } = useChatStore(); const pane = useContextSelector(ChatPageContext, (v) => v.pane); const handlePaneChange = useContextSelector(ChatPageContext, (v) => v.handlePaneChange); const enableHome = useContextSelector(ChatPageContext, (v) => v.chatSettings?.enableHome); const appName = useContextSelector(ChatItemContext, (v) => v.chatBoxData?.app.name); const appAvatar = useContextSelector(ChatItemContext, (v) => v.chatBoxData?.app.avatar); const onCloseSlider = useContextSelector(ChatContext, (v) => v.onCloseSlider); const isHomePane = pane === ChatSidebarPaneEnum.HOME; const isTeamAppsPane = pane === ChatSidebarPaneEnum.TEAM_APPS; const isFavouriteAppPane = pane === ChatSidebarPaneEnum.FAVORITE_APPS; return isPc ? ( {!title && } {title || appName} ) : ( <> banner {enableHome && ( { handlePaneChange(ChatSidebarPaneEnum.HOME); onCloseSlider(); setChatId(); }} > {t('chat:sidebar.home')} )} { handlePaneChange(ChatSidebarPaneEnum.FAVORITE_APPS); onCloseSlider(); setChatId(); }} > {t('chat:sidebar.favourite_apps')} { handlePaneChange(ChatSidebarPaneEnum.TEAM_APPS); onCloseSlider(); }} > {t('chat:sidebar.team_apps')} ); }; export default ChatSliderHeader;