add folders column

This commit is contained in:
Takeshi Kimata
2024-02-17 19:28:55 +09:00
parent 2c0a4631bc
commit 303d24409f
8 changed files with 70 additions and 32 deletions

View File

@@ -2,8 +2,8 @@
import { useEffect, useState } from "react";
import Config from "@/config/config";
const apiServer = Config.apiServer;
import Main from "./main";
import Sidebar from "./sidebar";
import { Listbox, ListboxItem } from "@nextui-org/react";
import { FolderIcon } from "@/components/icons";
/**
* fetch folder records
@@ -50,21 +50,19 @@ export default function Page({ params }: { params: { id: string } }) {
}, []);
return (
<>
{/* <div>Project: {params.id}</div>
<div className="flex flex-wrap gap-4 mt-5">
<div className="w-64 min-h-screen border-r-1">
<Listbox aria-label="Listbox Variants">
{folders.map((folder, index) => (
<div key={index}>
<div>{folder.name}</div>
<div>{folder.detail}</div>
<div>{folder.projectId}</div>
</div>
<ListboxItem
key={index}
startContent={<FolderIcon size={16} className="text-gray-600" />}
>
{folder.name}
{/* {folder.detail}
{folder.projectId} */}
</ListboxItem>
))}
</div> */}
<div className="flex border-t-1 min-h-screen">
<Sidebar />
<Main />
</div>
</>
</Listbox>
</div>
);
}

View File

@@ -0,0 +1,3 @@
export default function Page() {
return <>This is Home tab</>;
}

View File

@@ -1,7 +1,18 @@
import Sidebar from "./sidebar";
export default function ProjectsLayout({
children,
}: {
children: React.ReactNode;
}) {
return <>{children}</>;
return (
<>
<div className="flex border-t-1 min-h-screen">
<Sidebar />
<div className="flex">
<div className="flex-grow bg-white rounded-lg">{children}</div>
</div>
</div>
</>
);
}

View File

@@ -1,11 +0,0 @@
import React from "react";
export default function Main() {
return (
<div className="flex">
<div className="flex-grow bg-white rounded-lg m-2">
aaa
</div>
</div>
);
}

View File

@@ -0,0 +1,3 @@
export default function Page() {
return <>This is Runs tab</>;
}

View File

@@ -1,17 +1,32 @@
"use client";
import { Menu, MenuItem } from "@nextui-org/react";
import { HomeIcon, PagesIcon, PlayIcon } from "@/components/icons";
import { useRouter } from "next/navigation";
export default function Sidebar() {
const router = useRouter();
return (
<div className="w-64 bg-white border-r-1">
<Menu aria-label="sidebar">
<MenuItem startContent={<HomeIcon size={28} />} className="p-3">
<MenuItem
startContent={<HomeIcon size={28} />}
className="p-3"
onClick={() => router.push("/projects/1/home")}
>
Home
</MenuItem>
<MenuItem startContent={<PagesIcon size={28} />} className="p-3">
<MenuItem
startContent={<PagesIcon size={28} />}
className="p-3"
onClick={() => router.push("/projects/1/folders")}
>
Test Cases
</MenuItem>
<MenuItem startContent={<PlayIcon size={28} />} className="p-3">
<MenuItem
startContent={<PlayIcon size={28} />}
className="p-3"
onClick={() => router.push("/projects/1/runs")}
>
Test Runs
</MenuItem>
</Menu>

View File

@@ -10,7 +10,7 @@ import NextLink from "next/link";
export function ProjectCard({ projectName, projectDetail }) {
return (
<NextLink href={`/projects/${1}`}>
<NextLink href={`/projects/${1}/home`}>
<Card className="w-[250px] bg-white hover:bg-gray-100 dark:bg-gray-700 dark:hover:bg-gray-800">
<CardHeader className="flex gap-3">
<Image