2023-09-19 20:46:48 +08:00
|
|
|
import React from "react";
|
2023-09-19 20:47:15 +08:00
|
|
|
import menu from "./menu";
|
|
|
|
import { IconCaretUp, IconRight } from "@arco-design/web-react/icon";
|
|
|
|
import "@arco-design/web-react/dist/css/arco.css";
|
2023-09-19 20:46:48 +08:00
|
|
|
|
|
|
|
export default function ControlPanel() {
|
|
|
|
return (
|
2023-09-19 20:47:15 +08:00
|
|
|
<nav className="bg-gray-200 relative">
|
2023-09-19 20:46:48 +08:00
|
|
|
<div className="flex justify-between items-center">
|
2023-09-19 20:47:15 +08:00
|
|
|
<ul className="flex justify-start text-md ms-3 select-none relative">
|
|
|
|
{Object.keys(menu).map((category) => (
|
|
|
|
<div key={category}>
|
|
|
|
<div className="peer px-3 py-1 bg-gray-200 hover:bg-gray-300 relative z-10">
|
|
|
|
{category}
|
|
|
|
</div>
|
|
|
|
<ul className="hidden peer-hover:flex hover:flex w-[200px] flex-col bg-white drop-shadow-lg absolute z-20">
|
|
|
|
{Object.keys(menu[category]).map((item, index) => {
|
|
|
|
if (menu[category][item].length > 0) {
|
|
|
|
return (
|
|
|
|
<div
|
|
|
|
key={index}
|
|
|
|
className="group relative px-5 py-3 hover:bg-gray-200 z-10"
|
|
|
|
>
|
|
|
|
<div className="flex justify-between items-center">
|
|
|
|
<li>{item}</li>
|
|
|
|
<IconRight />
|
|
|
|
</div>
|
|
|
|
<ul className="hidden group-hover:flex hover:flex w-[200px] flex-col bg-white drop-shadow-lg absolute z-30 top-0 left-full">
|
|
|
|
{menu[category][item].map((e) => (
|
|
|
|
<li
|
|
|
|
key={e}
|
|
|
|
className="px-5 py-3 hover:bg-gray-200 z-10"
|
|
|
|
>
|
|
|
|
{e}
|
|
|
|
</li>
|
|
|
|
))}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
return (
|
|
|
|
<li
|
|
|
|
className="px-5 py-3 hover:bg-gray-200 relative z-10"
|
|
|
|
key={index}
|
|
|
|
>
|
|
|
|
{item}
|
|
|
|
</li>
|
|
|
|
);
|
|
|
|
})}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
))}
|
2023-09-19 20:46:48 +08:00
|
|
|
</ul>
|
|
|
|
<button>
|
2023-09-19 20:47:15 +08:00
|
|
|
<IconCaretUp />
|
2023-09-19 20:46:48 +08:00
|
|
|
</button>
|
|
|
|
</div>
|
2023-09-19 20:47:15 +08:00
|
|
|
<div className="p-1">tools</div>
|
2023-09-19 20:46:48 +08:00
|
|
|
</nav>
|
|
|
|
);
|
|
|
|
}
|