diff --git a/frontend/app/projects/[projectId]/folders/[folderId]/cases/page.tsx b/frontend/app/projects/[projectId]/folders/[folderId]/cases/page.tsx index 5953a6e..1ff50d2 100644 --- a/frontend/app/projects/[projectId]/folders/[folderId]/cases/page.tsx +++ b/frontend/app/projects/[projectId]/folders/[folderId]/cases/page.tsx @@ -32,7 +32,11 @@ async function fetchCases(url) { } } -export default function Page({ params }: { params: { projectId: string, folderId: string } }) { +export default function Page({ + params, +}: { + params: { projectId: string; folderId: string }; +}) { const router = useRouter(); const [cases, setCases] = useState([]); const url = `${apiServer}/cases?folderId=${params.folderId}`; @@ -51,19 +55,21 @@ export default function Page({ params }: { params: { projectId: string, folderId }, []); return ( - - {cases.map((testCase, index) => ( - - router.push( - `/projects/${params.projectId}/folders/${params.folderId}/cases/${testCase.id}` - ) - } - > - {testCase.title} - - ))} - + <> + + {cases.map((testCase, index) => ( + + router.push( + `/projects/${params.projectId}/folders/${params.folderId}/cases/${testCase.id}` + ) + } + > + {testCase.title} + + ))} + + ); } diff --git a/frontend/app/projects/[projectId]/folders/layout.tsx b/frontend/app/projects/[projectId]/folders/layout.tsx index 1d13a6b..56dac6e 100644 --- a/frontend/app/projects/[projectId]/folders/layout.tsx +++ b/frontend/app/projects/[projectId]/folders/layout.tsx @@ -5,6 +5,7 @@ const apiServer = Config.apiServer; import { Button, Listbox, ListboxItem } from "@nextui-org/react"; import { Folder, Plus } from "lucide-react"; import { useRouter } from "next/navigation"; +import useGetCurrentIds from "@/utils/useGetCurrentIds"; /** * fetch folder records @@ -41,24 +42,34 @@ export default function ProjectsLayout({ params: { projectId: string }; }) { const [folders, setFolders] = useState([]); + const [selectedFolder, setSelectedFolder] = useState({ + id: null, + name: "", + }); const url = `${apiServer}/folders?projectId=${params.projectId}`; + const { folderId } = useGetCurrentIds(); useEffect(() => { async function fetchDataEffect() { try { const data = await fetchFolders(url); setFolders(data); + + const selectedFolderFromUrl = data.find( + (folder) => folder.id === folderId + ); + setSelectedFolder(selectedFolderFromUrl); } catch (error) { console.error("Error in effect:", error.message); } } fetchDataEffect(); - }, []); + }, [folderId]); const router = useRouter(); return ( -
+
-
{children}
+
+

{selectedFolder ? selectedFolder.name : "Select Folder"}

+ {children} +
); } diff --git a/frontend/app/projects/[projectId]/layout.tsx b/frontend/app/projects/[projectId]/layout.tsx index deaf7c1..f85d727 100644 --- a/frontend/app/projects/[projectId]/layout.tsx +++ b/frontend/app/projects/[projectId]/layout.tsx @@ -9,7 +9,7 @@ export default function ProjectsLayout({ <>
-
+
{children}