Skip to content

Commit 7c8eb67

Browse files
authored
Merge pull request #73 from r0x07k/new-chat-error-when-collapsed-fix
2 parents 005c8aa + 2cf058e commit 7c8eb67

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

src/components/chat/chat-layout.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ export function ChatLayout({
122122
formRef={formRef}
123123
isMobile={isMobile}
124124
setInput={setInput}
125+
setMessages={setMessages}
125126
/>
126127
</ResizablePanel>
127128
</ResizablePanelGroup>

src/components/chat/chat-topbar.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@ interface ChatTopbarProps {
2626
isLoading: boolean;
2727
chatId?: string;
2828
messages: Message[];
29+
setMessages: (messages: Message[]) => void;
2930
}
3031

3132
export default function ChatTopbar({
3233
setSelectedModel,
3334
isLoading,
3435
chatId,
3536
messages,
37+
setMessages
3638
}: ChatTopbarProps) {
3739
const [models, setModels] = React.useState<string[]>([]);
3840
const [open, setOpen] = React.useState(false);
41+
const [sheetOpen, setSheetOpen] = React.useState(false);
3942
const [currentModel, setCurrentModel] = React.useState<string | null>(null);
4043

4144
useEffect(() => {
@@ -69,9 +72,13 @@ export default function ChatTopbar({
6972
setOpen(false);
7073
};
7174

75+
const handleCloseSidebar = () => {
76+
setSheetOpen(false); // Close the sidebar
77+
};
78+
7279
return (
7380
<div className="w-full flex px-4 py-6 items-center justify-between lg:justify-center ">
74-
<Sheet>
81+
<Sheet open={sheetOpen} onOpenChange={setSheetOpen}>
7582
<SheetTrigger>
7683
<HamburgerMenuIcon className="lg:hidden w-5 h-5" />
7784
</SheetTrigger>
@@ -81,6 +88,8 @@ export default function ChatTopbar({
8188
isCollapsed={false}
8289
isMobile={false}
8390
messages={messages}
91+
setMessages={setMessages}
92+
closeSidebar={handleCloseSidebar}
8493
/>
8594
</SheetContent>
8695
</Sheet>

src/components/chat/chat.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export interface ChatProps {
2323
formRef: React.RefObject<HTMLFormElement>;
2424
isMobile?: boolean;
2525
setInput?: React.Dispatch<React.SetStateAction<string>>;
26+
setMessages: (messages: Message[]) => void;
2627
}
2728

2829
export default function Chat({
@@ -39,6 +40,7 @@ export default function Chat({
3940
formRef,
4041
isMobile,
4142
setInput,
43+
setMessages
4244
}: ChatProps) {
4345
return (
4446
<div className="flex flex-col justify-between w-full max-w-3xl h-full ">
@@ -47,6 +49,7 @@ export default function Chat({
4749
isLoading={isLoading}
4850
chatId={chatId}
4951
messages={messages}
52+
setMessages={setMessages}
5053
/>
5154

5255
<ChatList
@@ -61,6 +64,7 @@ export default function Chat({
6164
stop={stop}
6265
formRef={formRef}
6366
isMobile={isMobile}
67+
setMessages={setMessages}
6468
/>
6569

6670
<ChatBottombar
@@ -74,6 +78,7 @@ export default function Chat({
7478
stop={stop}
7579
formRef={formRef}
7680
setInput={setInput}
81+
setMessages={setMessages}
7782
/>
7883
</div>
7984
);

src/components/sidebar.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ interface SidebarProps {
3636
isMobile: boolean;
3737
chatId: string;
3838
setMessages: (messages: Message[]) => void;
39+
closeSidebar?: () => void;
3940
}
4041

4142
export function Sidebar({
@@ -44,6 +45,7 @@ export function Sidebar({
4445
isMobile,
4546
chatId,
4647
setMessages,
48+
closeSidebar
4749
}: SidebarProps) {
4850
const [localChats, setLocalChats] = useState<
4951
{ chatId: string; messages: Message[] }[]
@@ -115,6 +117,9 @@ export function Sidebar({
115117
router.push("/");
116118
// Clear messages
117119
setMessages([]);
120+
if (closeSidebar) {
121+
closeSidebar();
122+
}
118123
}}
119124
variant="ghost"
120125
className="flex justify-between w-full h-14 text-sm xl:text-lg font-normal items-center "

0 commit comments

Comments
 (0)