// Copyright (C) 2022-present Daniel31x13 // This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3. // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. // You should have received a copy of the GNU General Public License along with this program. If not, see . import Link from "next/link"; import React, { MouseEventHandler, ReactElement } from "react"; import ClickAwayHandler from "./ClickAwayHandler"; type MenuItem = { name: string; icon: ReactElement; onClick?: MouseEventHandler; href?: string; }; type Props = { onClickOutside: Function; className?: string; items: MenuItem[]; }; export default function ({ onClickOutside, className, items }: Props) { return ( {items.map((e, i) => { const inner = (
{React.cloneElement(e.icon, { className: "text-sky-500 w-5 h-5", })}

{e.name}

); return e.href ? ( {inner} ) : (
{inner}
); })}
); }