mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-16 08:01:18 +00:00
fix: share chat
This commit is contained in:
@@ -51,7 +51,7 @@ const Layout = ({ children }: { children: JSX.Element }) => {
|
|||||||
return () => {
|
return () => {
|
||||||
window.removeEventListener('resize', resize);
|
window.removeEventListener('resize', resize);
|
||||||
};
|
};
|
||||||
}, [setScreenWidth]);
|
}, []);
|
||||||
|
|
||||||
const { data: unread = 0 } = useQuery(['getUnreadCount'], getUnreadCount, {
|
const { data: unread = 0 } = useQuery(['getUnreadCount'], getUnreadCount, {
|
||||||
enabled: !!userInfo,
|
enabled: !!userInfo,
|
||||||
@@ -64,8 +64,8 @@ const Layout = ({ children }: { children: JSX.Element }) => {
|
|||||||
h={'100%'}
|
h={'100%'}
|
||||||
bgGradient={'linear(to-t,rgba(173, 206, 255, 0.05) 0%, rgba(173, 206, 255, 0.12) 100%)'}
|
bgGradient={'linear(to-t,rgba(173, 206, 255, 0.05) 0%, rgba(173, 206, 255, 0.12) 100%)'}
|
||||||
>
|
>
|
||||||
{isPc ? (
|
<Box h={'100%'} display={['none', 'block']}>
|
||||||
pcUnShowLayoutRoute[router.pathname] ? (
|
{pcUnShowLayoutRoute[router.pathname] ? (
|
||||||
<Auth>{children}</Auth>
|
<Auth>{children}</Auth>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
@@ -76,19 +76,22 @@ const Layout = ({ children }: { children: JSX.Element }) => {
|
|||||||
<Auth>{children}</Auth>
|
<Auth>{children}</Auth>
|
||||||
</Box>
|
</Box>
|
||||||
</>
|
</>
|
||||||
)
|
)}
|
||||||
) : phoneUnShowLayoutRoute[router.pathname] || isChatPage ? (
|
</Box>
|
||||||
<Auth>{children}</Auth>
|
<Box h={'100%'} display={['block', 'none']}>
|
||||||
) : (
|
{phoneUnShowLayoutRoute[router.pathname] || isChatPage ? (
|
||||||
<Flex h={'100%'} flexDirection={'column'}>
|
<Auth>{children}</Auth>
|
||||||
<Box flex={'1 0 0'} h={0} overflow={'overlay'}>
|
) : (
|
||||||
<Auth>{children}</Auth>
|
<Flex h={'100%'} flexDirection={'column'}>
|
||||||
</Box>
|
<Box flex={'1 0 0'} h={0} overflow={'overlay'}>
|
||||||
<Box h={'50px'} borderTop={'1px solid rgba(0,0,0,0.1)'}>
|
<Auth>{children}</Auth>
|
||||||
<NavbarPhone unread={unread} />
|
</Box>
|
||||||
</Box>
|
<Box h={'50px'} borderTop={'1px solid rgba(0,0,0,0.1)'}>
|
||||||
</Flex>
|
<NavbarPhone unread={unread} />
|
||||||
)}
|
</Box>
|
||||||
|
</Flex>
|
||||||
|
)}
|
||||||
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
<Loading loading={loading} />
|
<Loading loading={loading} />
|
||||||
</>
|
</>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import React, { useMemo } from 'react';
|
import React, { useMemo } from 'react';
|
||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
import MyIcon from '../Icon';
|
import MyIcon from '../Icon';
|
||||||
import { Flex } from '@chakra-ui/react';
|
import { Flex, Box } from '@chakra-ui/react';
|
||||||
import { useChatStore } from '@/store/chat';
|
import { useChatStore } from '@/store/chat';
|
||||||
import Badge from '../Badge';
|
import Badge from '../Badge';
|
||||||
|
|
||||||
@@ -11,24 +11,28 @@ const NavbarPhone = ({ unread }: { unread: number }) => {
|
|||||||
const navbarList = useMemo(
|
const navbarList = useMemo(
|
||||||
() => [
|
() => [
|
||||||
{
|
{
|
||||||
|
label: '聊天',
|
||||||
icon: 'tabbarChat',
|
icon: 'tabbarChat',
|
||||||
link: `/chat?modelId=${lastChatModelId}&chatId=${lastChatId}`,
|
link: `/chat?modelId=${lastChatModelId}&chatId=${lastChatId}`,
|
||||||
activeLink: ['/chat'],
|
activeLink: ['/chat'],
|
||||||
unread: 0
|
unread: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
label: '应用',
|
||||||
icon: 'tabbarModel',
|
icon: 'tabbarModel',
|
||||||
link: `/model`,
|
link: `/model`,
|
||||||
activeLink: ['/model'],
|
activeLink: ['/model'],
|
||||||
unread: 0
|
unread: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
label: '工具',
|
||||||
icon: 'tabbarMore',
|
icon: 'tabbarMore',
|
||||||
link: '/tools',
|
link: '/tools',
|
||||||
activeLink: ['/tools'],
|
activeLink: ['/tools'],
|
||||||
unread: 0
|
unread: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
label: '我的',
|
||||||
icon: 'tabbarMe',
|
icon: 'tabbarMe',
|
||||||
link: '/number',
|
link: '/number',
|
||||||
activeLink: ['/number'],
|
activeLink: ['/number'],
|
||||||
@@ -57,7 +61,9 @@ const NavbarPhone = ({ unread }: { unread: number }) => {
|
|||||||
textAlign={'center'}
|
textAlign={'center'}
|
||||||
alignItems={'center'}
|
alignItems={'center'}
|
||||||
h={'100%'}
|
h={'100%'}
|
||||||
|
pt={1}
|
||||||
px={3}
|
px={3}
|
||||||
|
transform={'scale(0.9)'}
|
||||||
{...(item.activeLink.includes(router.asPath)
|
{...(item.activeLink.includes(router.asPath)
|
||||||
? {
|
? {
|
||||||
color: '#7089f1'
|
color: '#7089f1'
|
||||||
@@ -89,6 +95,7 @@ const NavbarPhone = ({ unread }: { unread: number }) => {
|
|||||||
>
|
>
|
||||||
<Badge isDot count={item.unread}>
|
<Badge isDot count={item.unread}>
|
||||||
<MyIcon name={item.icon as any} width={'20px'} height={'20px'} />
|
<MyIcon name={item.icon as any} width={'20px'} height={'20px'} />
|
||||||
|
<Box fontSize={'12px'}>{item.label}</Box>
|
||||||
</Badge>
|
</Badge>
|
||||||
</Flex>
|
</Flex>
|
||||||
))}
|
))}
|
||||||
|
@@ -62,7 +62,7 @@ const textareaMinH = '22px';
|
|||||||
|
|
||||||
const Chat = () => {
|
const Chat = () => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { shareId = '', historyId = '' } = router.query as { shareId: string; historyId: string };
|
const { shareId = '', historyId } = router.query as { shareId: string; historyId: string };
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
|
|
||||||
const ChatBox = useRef<HTMLDivElement>(null);
|
const ChatBox = useRef<HTMLDivElement>(null);
|
||||||
@@ -491,14 +491,13 @@ const Chat = () => {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
// 初始化聊天框
|
// 初始化聊天框
|
||||||
useQuery(['init', historyId], () => {
|
useQuery(['init', shareId, historyId], () => {
|
||||||
if (!shareId) {
|
if (!shareId) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!historyId) {
|
if (!historyId) {
|
||||||
router.replace(`/chat/share?shareId=${shareId}&historyId=${new Types.ObjectId()}`);
|
return router.replace(`/chat/share?shareId=${shareId}&historyId=${new Types.ObjectId()}`);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return loadChatInfo();
|
return loadChatInfo();
|
||||||
|
Reference in New Issue
Block a user