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}
) : (
<>
{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;