diff --git a/web/src/components/layout/RightbarHamburger.tsx b/web/src/components/layout/RightbarHamburger.tsx
new file mode 100644
index 0000000..32c3239
--- /dev/null
+++ b/web/src/components/layout/RightbarHamburger.tsx
@@ -0,0 +1,37 @@
+import * as Dialog from '@radix-ui/react-dialog';
+import classNames from 'classnames';
+import { ReactNode } from 'react';
+import { FiMenu } from 'react-icons/fi';
+import { LuX } from 'react-icons/lu';
+
+export const RightbarHamburger = ({
+ children,
+ triggerClassName = '',
+}: {
+ children: ReactNode;
+ triggerClassName?: string;
+}) => {
+ return (
+
+
+
+
+
+
+
+ {children}
+
+
+
+
+
+
+ );
+};
diff --git a/web/src/components/layout/SidebarHamburger.tsx b/web/src/components/layout/SidebarHamburger.tsx
new file mode 100644
index 0000000..ab59b46
--- /dev/null
+++ b/web/src/components/layout/SidebarHamburger.tsx
@@ -0,0 +1,26 @@
+import * as Dialog from '@radix-ui/react-dialog';
+import { FiMenu } from 'react-icons/fi';
+import { LuX } from 'react-icons/lu';
+
+import { Sidebar } from '../Sidebar';
+
+export const SidebarHamburger = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/web/src/routes/__root.tsx b/web/src/routes/__root.tsx
index e1e1144..8d73e80 100644
--- a/web/src/routes/__root.tsx
+++ b/web/src/routes/__root.tsx
@@ -16,7 +16,7 @@ function RootComponent() {
-
+
{
return buildMessageTree(chat?.messages || []);
}, [chat?.messages]);
+ useEffect(() => {
+ document.documentElement.classList.add('prose-page');
+
+ return () => {
+ document.documentElement.classList.remove('prose-page');
+ };
+ }, []);
+
// Initialize path based on last_message_id when chat data changes
useEffect(() => {
if (chat?.chat?.last_message_id && messageMap.size > 0) {
@@ -127,13 +136,22 @@ const ChatWithSidebar = ({ chatId }: { chatId: string }) => {
<>
{/* Right Sidebar */}
{chat?.messages && chat.messages.length > 0 && useTreeView && (
-
-
-
+ <>
+
+
+
+
+
+
+ >
)}
{/* Main Chat */}
@@ -288,7 +306,7 @@ const Chat = ({
/>
))}
-