mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 13:03:50 +00:00
fix: mobile history slider records disappear (#2806)
* fix: mobile history slider records disappear * change h
This commit is contained in:
@@ -53,14 +53,12 @@ const ChatHistorySlider = ({
|
||||
onChangeChatId,
|
||||
chatId: activeChatId,
|
||||
isLoading,
|
||||
ScrollList,
|
||||
historyList,
|
||||
ScrollData,
|
||||
histories
|
||||
} = useContextSelector(ChatContext, (v) => v);
|
||||
|
||||
const concatHistory = useMemo(() => {
|
||||
const formatHistories: HistoryItemType[] = historyList.map((data) => {
|
||||
const item = data.data;
|
||||
const formatHistories: HistoryItemType[] = histories.map((item) => {
|
||||
return { id: item.chatId, title: item.title, customTitle: item.customTitle, top: item.top };
|
||||
});
|
||||
const newChat: HistoryItemType = {
|
||||
@@ -70,7 +68,7 @@ const ChatHistorySlider = ({
|
||||
const activeChat = histories.find((item) => item.chatId === activeChatId);
|
||||
|
||||
return !activeChat ? [newChat].concat(formatHistories) : formatHistories;
|
||||
}, [activeChatId, histories, historyList, t]);
|
||||
}, [activeChatId, histories, t]);
|
||||
|
||||
// custom title edit
|
||||
const { onOpenModal, EditModal: EditTitleModal } = useEditTitle({
|
||||
@@ -173,7 +171,7 @@ const ChatHistorySlider = ({
|
||||
)}
|
||||
</Flex>
|
||||
|
||||
<ScrollList flex={'1 0 0'} h={0} px={[2, 5]} overflow={'overlay'}>
|
||||
<ScrollData flex={'1 0 0'} h={0} px={[2, 5]} overflow={'overlay'}>
|
||||
{/* chat history */}
|
||||
<>
|
||||
{concatHistory.map((item, i) => (
|
||||
@@ -283,7 +281,7 @@ const ChatHistorySlider = ({
|
||||
</Flex>
|
||||
))}
|
||||
</>
|
||||
</ScrollList>
|
||||
</ScrollData>
|
||||
|
||||
{/* exec */}
|
||||
{!isPc && isUserChatPage && (
|
||||
|
@@ -13,7 +13,7 @@ import { ClearHistoriesProps, DelHistoryProps, UpdateHistoryProps } from '@/glob
|
||||
import { BoxProps, useDisclosure } from '@chakra-ui/react';
|
||||
import { useChatStore } from './storeChat';
|
||||
import { getNanoid } from '@fastgpt/global/common/string/tools';
|
||||
import { useVirtualScrollPagination } from '@fastgpt/web/hooks/useScrollPagination';
|
||||
import { useScrollPagination } from '@fastgpt/web/hooks/useScrollPagination';
|
||||
|
||||
type ChatContextValueType = {
|
||||
params: Record<string, string | number>;
|
||||
@@ -30,7 +30,7 @@ type ChatContextType = {
|
||||
forbidLoadChat: React.MutableRefObject<boolean>;
|
||||
onChangeChatId: (chatId?: string, forbid?: boolean) => void;
|
||||
loadHistories: () => void;
|
||||
ScrollList: ({
|
||||
ScrollData: ({
|
||||
children,
|
||||
EmptyChildren,
|
||||
isLoading,
|
||||
@@ -42,10 +42,6 @@ type ChatContextType = {
|
||||
} & BoxProps) => ReactNode;
|
||||
onChangeAppId: (appId: string) => void;
|
||||
isLoading: boolean;
|
||||
historyList: {
|
||||
index: number;
|
||||
data: ChatHistoryItemType;
|
||||
}[];
|
||||
histories: ChatHistoryItemType[];
|
||||
onUpdateHistoryTitle: ({ chatId, newTitle }: { chatId: string; newTitle: string }) => void;
|
||||
};
|
||||
@@ -53,12 +49,11 @@ type ChatContextType = {
|
||||
export const ChatContext = createContext<ChatContextType>({
|
||||
chatId: '',
|
||||
// forbidLoadChat: undefined,
|
||||
historyList: [],
|
||||
histories: [],
|
||||
onUpdateHistoryTitle: function (): void {
|
||||
throw new Error('Function not implemented.');
|
||||
},
|
||||
ScrollList: function (): ReactNode {
|
||||
ScrollData: function (): ReactNode {
|
||||
throw new Error('Function not implemented.');
|
||||
},
|
||||
loadHistories: function (): void {
|
||||
@@ -105,17 +100,14 @@ const ChatContextProvider = ({
|
||||
const { isOpen: isOpenSlider, onClose: onCloseSlider, onOpen: onOpenSlider } = useDisclosure();
|
||||
|
||||
const {
|
||||
scrollDataList: historyList,
|
||||
ScrollList,
|
||||
ScrollData,
|
||||
isLoading: isPaginationLoading,
|
||||
setData: setHistories,
|
||||
fetchData: loadHistories,
|
||||
totalData: histories
|
||||
} = useVirtualScrollPagination(getChatHistories, {
|
||||
overscan: 30,
|
||||
pageSize: 30,
|
||||
itemHeight: 52,
|
||||
defaultParams: params,
|
||||
data: histories
|
||||
} = useScrollPagination(getChatHistories, {
|
||||
pageSize: 20,
|
||||
params,
|
||||
refreshDeps: [params]
|
||||
});
|
||||
|
||||
@@ -229,9 +221,8 @@ const ChatContextProvider = ({
|
||||
onChangeChatId,
|
||||
onChangeAppId,
|
||||
isLoading,
|
||||
historyList,
|
||||
setHistories,
|
||||
ScrollList,
|
||||
ScrollData,
|
||||
loadHistories,
|
||||
histories,
|
||||
onUpdateHistoryTitle
|
||||
|
Reference in New Issue
Block a user