MingruiZhang commited on
Commit
3ddd2f7
1 Parent(s): 5bb0441

init state

Browse files
Files changed (2) hide show
  1. app/(chat)/page.tsx +13 -0
  2. components/chat.tsx +1 -11
app/(chat)/page.tsx CHANGED
@@ -1,9 +1,22 @@
 
 
1
  import { nanoid } from '@/lib/utils';
2
  import { Chat } from '@/components/chat';
3
  import { ThemeToggle } from '../../components/theme-toggle';
 
 
 
4
 
5
  export default function IndexPage() {
6
  const id = nanoid();
 
 
 
 
 
 
 
 
7
 
8
  return (
9
  <>
 
1
+ 'use client';
2
+
3
  import { nanoid } from '@/lib/utils';
4
  import { Chat } from '@/components/chat';
5
  import { ThemeToggle } from '../../components/theme-toggle';
6
+ import { useAtomValue } from 'jotai';
7
+ import { targetImageAtom } from '../../state';
8
+ import { EmptyScreen } from '../../components/empty-screen';
9
 
10
  export default function IndexPage() {
11
  const id = nanoid();
12
+ const targetImage = useAtomValue(targetImageAtom);
13
+
14
+ if (!targetImage)
15
+ return (
16
+ <div className="pb-[150px] pt-4 md:pt-10 h-full">
17
+ <EmptyScreen />
18
+ </div>
19
+ );
20
 
21
  return (
22
  <>
components/chat.tsx CHANGED
@@ -1,5 +1,3 @@
1
- 'use client';
2
-
3
  import { useChat, type Message } from 'ai/react';
4
  import '@/app/globals.css';
5
 
@@ -24,8 +22,6 @@ export interface ChatProps extends React.ComponentProps<'div'> {
24
  }
25
 
26
  export function Chat({ id, initialMessages, className }: ChatProps) {
27
- const router = useRouter();
28
- const path = usePathname();
29
  const [targetImage, setTargetImage] = useAtom(targetImageAtom);
30
  const { messages, append, reload, stop, isLoading, input, setInput } =
31
  useChat({
@@ -42,12 +38,6 @@ export function Chat({ id, initialMessages, className }: ChatProps) {
42
  },
43
  });
44
 
45
- if (!targetImage)
46
- return (
47
- <div className={cn('pb-[150px] pt-4 md:pt-10 h-full', className)}>
48
- <EmptyScreen />
49
- </div>
50
- );
51
  return (
52
  <>
53
  <div className={cn('pb-[150px] pt-4 md:pt-10 h-full', className)}>
@@ -56,7 +46,7 @@ export function Chat({ id, initialMessages, className }: ChatProps) {
56
  <div className="relative aspect-[1/1] w-full px-12">
57
  <div className="flex items-center h-[600px] relative">
58
  <Image
59
- src={targetImage}
60
  alt="target image"
61
  layout="fill"
62
  objectFit="contain"
 
 
 
1
  import { useChat, type Message } from 'ai/react';
2
  import '@/app/globals.css';
3
 
 
22
  }
23
 
24
  export function Chat({ id, initialMessages, className }: ChatProps) {
 
 
25
  const [targetImage, setTargetImage] = useAtom(targetImageAtom);
26
  const { messages, append, reload, stop, isLoading, input, setInput } =
27
  useChat({
 
38
  },
39
  });
40
 
 
 
 
 
 
 
41
  return (
42
  <>
43
  <div className={cn('pb-[150px] pt-4 md:pt-10 h-full', className)}>
 
46
  <div className="relative aspect-[1/1] w-full px-12">
47
  <div className="flex items-center h-[600px] relative">
48
  <Image
49
+ src={targetImage!}
50
  alt="target image"
51
  layout="fill"
52
  objectFit="contain"