diff --git a/src/app/dashboard/[org]/[repo]/code-visualizer/codebase/CodebaseDetails.tsx b/src/app/dashboard/[org]/[repo]/code-visualizer/codebase/CodebaseDetails.tsx index 76f467f..bf2751a 100644 --- a/src/app/dashboard/[org]/[repo]/code-visualizer/codebase/CodebaseDetails.tsx +++ b/src/app/dashboard/[org]/[repo]/code-visualizer/codebase/CodebaseDetails.tsx @@ -10,6 +10,7 @@ import { faChevronDown, faCopy, faCheck, + faComment, } from "@fortawesome/free-solid-svg-icons"; import Mermaid from "./Mermaid"; import Markdown, { type Components } from "react-markdown"; @@ -25,6 +26,7 @@ import { } from "react-syntax-highlighter/dist/cjs/styles/prism"; import { faClipboard } from "@fortawesome/free-solid-svg-icons"; import { toast } from "react-toastify"; +import { useRouter } from "next/navigation"; interface CodebaseDetailsProps { item: ContextItem; @@ -105,6 +107,7 @@ const CodebaseDetails: React.FC = ({ theme, }) => { const [copyStatus, setCopyStatus] = useState(false); + const router = useRouter(); const handleCopy = () => { navigator.clipboard @@ -118,8 +121,17 @@ const CodebaseDetails: React.FC = ({ }); }; + const handleSendToChat = () => { + if (item.file) { + const encodedFilePath = encodeURIComponent(item.file); + router.push(`/dashboard/${item.file.split("/")[1]}/${item.file.split("/")[2]}/chat?file_path=${encodedFilePath}`); + } else { + toast.error("No file selected"); + } + }; + return ( -
+
-
+

{item.overview}

{item.diagram && }
= ({ ) : null}
+
+ +
); }; @@ -236,4 +257,4 @@ export const Section: React.FC<{ ); }; -export default CodebaseDetails; +export default CodebaseDetails; \ No newline at end of file