Push route state on generation finish (#492)
This commit is contained in:
parent
5d6d0ed664
commit
f45bfac32b
2 changed files with 5 additions and 5 deletions
|
|
@ -3,6 +3,7 @@
|
||||||
import { Attachment, Message } from 'ai';
|
import { Attachment, Message } from 'ai';
|
||||||
import { useChat } from 'ai/react';
|
import { useChat } from 'ai/react';
|
||||||
import { AnimatePresence } from 'framer-motion';
|
import { AnimatePresence } from 'framer-motion';
|
||||||
|
import { useRouter } from 'next/navigation';
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import useSWR, { useSWRConfig } from 'swr';
|
import useSWR, { useSWRConfig } from 'swr';
|
||||||
import { useWindowSize } from 'usehooks-ts';
|
import { useWindowSize } from 'usehooks-ts';
|
||||||
|
|
@ -27,6 +28,7 @@ export function Chat({
|
||||||
initialMessages: Array<Message>;
|
initialMessages: Array<Message>;
|
||||||
selectedModelId: string;
|
selectedModelId: string;
|
||||||
}) {
|
}) {
|
||||||
|
const router = useRouter();
|
||||||
const { mutate } = useSWRConfig();
|
const { mutate } = useSWRConfig();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
|
@ -44,6 +46,7 @@ export function Chat({
|
||||||
initialMessages,
|
initialMessages,
|
||||||
onFinish: () => {
|
onFinish: () => {
|
||||||
mutate('/api/history');
|
mutate('/api/history');
|
||||||
|
router.push(`/chat/${id}`);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
import { Message } from 'ai';
|
import { Message } from 'ai';
|
||||||
import cx from 'classnames';
|
import cx from 'classnames';
|
||||||
import { motion } from 'framer-motion';
|
|
||||||
import { Sparkles } from 'lucide-react';
|
import { Sparkles } from 'lucide-react';
|
||||||
import { Dispatch, SetStateAction } from 'react';
|
import { Dispatch, SetStateAction } from 'react';
|
||||||
|
|
||||||
|
|
@ -31,10 +30,8 @@ export const PreviewMessage = ({
|
||||||
isLoading: boolean;
|
isLoading: boolean;
|
||||||
}) => {
|
}) => {
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<div
|
||||||
className="w-full mx-auto max-w-3xl px-4 group/message "
|
className="w-full mx-auto max-w-3xl px-4 group/message "
|
||||||
initial={{ y: 5, opacity: 0 }}
|
|
||||||
animate={{ y: 0, opacity: 1 }}
|
|
||||||
data-role={message.role}
|
data-role={message.role}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
|
@ -145,6 +142,6 @@ export const PreviewMessage = ({
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue