import { useNavigate } from "react-router-dom"; import { IconButton } from "@/app/components/button"; import Locale from "@/app/locales"; import { Path } from "@/app/constant"; import { DEFAULT_TOPIC, useChatStore } from "@/app/store/chat"; import RenameIcon from "@/app/icons/rename.svg"; import ExportIcon from "@/app/icons/share.svg"; import ReturnIcon from "@/app/icons/return.svg"; import styles from "./index.module.scss"; export interface ChatHeaderProps { isMobileScreen: boolean; setIsEditingMessage: (v: boolean) => void; setShowExport: (v: boolean) => void; } export default function ChatHeader(props: ChatHeaderProps) { const { isMobileScreen, setIsEditingMessage, setShowExport } = props; const navigate = useNavigate(); const chatStore = useChatStore(); const session = chatStore.currentSession(); return (
{isMobileScreen && (
} bordered title={Locale.Chat.Actions.ChatList} onClick={() => navigate(Path.Home)} />
)}
setIsEditingMessage(true)} > {!session.topic ? DEFAULT_TOPIC : session.topic}
{Locale.Chat.SubTitle(session.messages.length)}
{!isMobileScreen && (
} bordered onClick={() => setIsEditingMessage(true)} />
)}
} bordered title={Locale.Chat.Actions.Export} onClick={() => { setShowExport(true); }} />
); }