diff --git a/frontend/app/brains-management/[brainId]/hooks/useBrainsList.ts b/frontend/app/brains-management/[brainId]/hooks/useBrainsList.ts index bd58f824c..9e84e7a33 100644 --- a/frontend/app/brains-management/[brainId]/hooks/useBrainsList.ts +++ b/frontend/app/brains-management/[brainId]/hooks/useBrainsList.ts @@ -1,4 +1,5 @@ -import { usePathname } from "next/navigation"; +import { UUID } from "crypto"; +import { redirect, useParams, usePathname } from "next/navigation"; import { useEffect, useState } from "react"; import { useBrainContext } from "@/lib/context/BrainProvider/hooks/useBrainContext"; @@ -12,6 +13,10 @@ export const useBrainsList = () => { const [open, setOpen] = useState(!isMobile); const [searchQuery, setSearchQuery] = useState(""); const { allBrains } = useBrainContext(); + const { currentBrainId } = useBrainContext(); + const params = useParams(); + + const brainId = params?.brainId as UUID | undefined; const pathname = usePathname(); @@ -26,6 +31,16 @@ export const useBrainsList = () => { return name.includes(query); }); + useEffect(() => { + if (brainId !== undefined) { + return; + } + + if (currentBrainId !== null) { + redirect(`/brains-management/${currentBrainId}`); + } + }, [currentBrainId]); + return { open, setOpen, diff --git a/frontend/lib/components/NavBar/components/NavItems/components/BrainManagementButton.tsx b/frontend/lib/components/NavBar/components/NavItems/components/BrainManagementButton.tsx index 503e40635..f262a6360 100644 --- a/frontend/lib/components/NavBar/components/NavItems/components/BrainManagementButton.tsx +++ b/frontend/lib/components/NavBar/components/NavItems/components/BrainManagementButton.tsx @@ -2,9 +2,13 @@ import Link from "next/link"; import { FaBrain } from "react-icons/fa"; import { MdSettings } from "react-icons/md"; +import { useBrainContext } from "@/lib/context/BrainProvider/hooks/useBrainContext"; + export const BrainManagementButton = (): JSX.Element => { + const { currentBrainId } = useBrainContext(); + return ( - +