File tree Expand file tree Collapse file tree 4 files changed +21
-1
lines changed Expand file tree Collapse file tree 4 files changed +21
-1
lines changed Original file line number Diff line number Diff 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 >
Original file line number Diff line number Diff line change @@ -26,16 +26,19 @@ interface ChatTopbarProps {
2626 isLoading : boolean ;
2727 chatId ?: string ;
2828 messages : Message [ ] ;
29+ setMessages : ( messages : Message [ ] ) => void ;
2930}
3031
3132export 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 >
Original file line number Diff line number Diff 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
2829export 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 ) ;
Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ interface SidebarProps {
3636 isMobile : boolean ;
3737 chatId : string ;
3838 setMessages : ( messages : Message [ ] ) => void ;
39+ closeSidebar ?: ( ) => void ;
3940}
4041
4142export 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 "
You can’t perform that action at this time.
0 commit comments