diff --git a/frontend/src/components/chat/ChatPanel.tsx b/frontend/src/components/chat/ChatPanel.tsx index 5089264..b46bf2e 100644 --- a/frontend/src/components/chat/ChatPanel.tsx +++ b/frontend/src/components/chat/ChatPanel.tsx @@ -1,4 +1,5 @@ import { useState, useRef, useEffect, useCallback } from 'react' +import { useNavigate } from 'react-router-dom' import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { MessageSquare, Send, Loader2, X, Plus, Bot, User } from 'lucide-react' import ReactMarkdown from 'react-markdown' @@ -37,6 +38,7 @@ export default function ChatPanel({ open, onClose, contextType, contextId }: Cha const messagesEndRef = useRef(null) const inputRef = useRef(null) const queryClient = useQueryClient() + const navigate = useNavigate() // Load sessions const { data: sessions } = useQuery({ @@ -251,7 +253,13 @@ export default function ChatPanel({ open, onClose, contextType, contextId }: Cha ol: ({ children }) =>
    {children}
, li: ({ children }) =>
  • {children}
  • , code: ({ children }) => {children}, - a: ({ href, children }) => {children}, + a: ({ href, children }) => { + const isInternal = href?.startsWith('/products/') || href?.startsWith('/orders/') + if (isInternal) { + return { e.preventDefault(); navigate(href!) }} className="text-accent underline hover:text-accent-hover cursor-pointer">{children} + } + return {children} + }, img: ({ src, alt }) => {alt, }} > diff --git a/frontend/src/components/layout/Layout.tsx b/frontend/src/components/layout/Layout.tsx index ab52e18..2b4cd85 100644 --- a/frontend/src/components/layout/Layout.tsx +++ b/frontend/src/components/layout/Layout.tsx @@ -254,8 +254,8 @@ export default function Layout() { - {/* Main content */} -
    + {/* Main content — shrinks when chat panel is open */} +