fetch chats with userid

This commit is contained in:
litongjava 2025-02-03 00:17:55 -10:00
parent 66b48146a3
commit 3558dc2ed2
2 changed files with 11 additions and 11 deletions

View file

@ -1,10 +1,10 @@
'use client'; 'use client';
import DeleteChat from '@/components/DeleteChat'; import DeleteChat from '@/components/DeleteChat';
import { cn, formatTimeDifference } from '@/lib/utils'; import {cn, formatTimeDifference} from '@/lib/utils';
import { BookOpenText, ClockIcon, Delete, ScanEye } from 'lucide-react'; import {BookOpenText, ClockIcon, Delete, ScanEye} from 'lucide-react';
import Link from 'next/link'; import Link from 'next/link';
import { useEffect, useState } from 'react'; import {useEffect, useState} from 'react';
export interface Chat { export interface Chat {
id: string; id: string;
@ -20,8 +20,8 @@ const Page = () => {
useEffect(() => { useEffect(() => {
const fetchChats = async () => { const fetchChats = async () => {
setLoading(true); setLoading(true);
let userId = localStorage.getItem("userId");
const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/chats`, { const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/chats?userId=` + userId, {
method: 'GET', method: 'GET',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -60,19 +60,19 @@ const Page = () => {
<div> <div>
<div className="flex flex-col pt-4"> <div className="flex flex-col pt-4">
<div className="flex items-center"> <div className="flex items-center">
<BookOpenText /> <BookOpenText/>
<h1 className="text-3xl font-medium p-2">Library</h1> <h1 className="text-3xl font-medium p-2">Library</h1>
</div> </div>
<hr className="border-t border-[#2B2C2C] my-4 w-full" /> <hr className="border-t border-[#2B2C2C] my-4 w-full"/>
</div> </div>
{chats.length === 0 && ( {chats && chats.length === 0 && (
<div className="flex flex-row items-center justify-center min-h-screen"> <div className="flex flex-row items-center justify-center min-h-screen">
<p className="text-black/70 dark:text-white/70 text-sm"> <p className="text-black/70 dark:text-white/70 text-sm">
No chats found. No chats found.
</p> </p>
</div> </div>
)} )}
{chats.length > 0 && ( {chats && chats.length > 0 && (
<div className="flex flex-col pb-20 lg:pb-2"> <div className="flex flex-col pb-20 lg:pb-2">
{chats.map((chat, i) => ( {chats.map((chat, i) => (
<div <div
@ -92,7 +92,7 @@ const Page = () => {
</Link> </Link>
<div className="flex flex-row items-center justify-between w-full"> <div className="flex flex-row items-center justify-between w-full">
<div className="flex flex-row items-center space-x-1 lg:space-x-1.5 text-black/70 dark:text-white/70"> <div className="flex flex-row items-center space-x-1 lg:space-x-1.5 text-black/70 dark:text-white/70">
<ClockIcon size={15} /> <ClockIcon size={15}/>
<p className="text-xs"> <p className="text-xs">
{formatTimeDifference(new Date(), chat.createdAt)} Ago {formatTimeDifference(new Date(), chat.createdAt)} Ago
</p> </p>

View file

@ -525,7 +525,7 @@ const ChatWindow = ({id}: { id?: string }) => {
focusMode: focusMode, focusMode: focusMode,
copilotEnabled: copilotEnabled, copilotEnabled: copilotEnabled,
optimizationMode: optimizationMode, optimizationMode: optimizationMode,
history: [...chatHistory, ['human', message]], history: [],
}), }),
); );