// 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 } from "react"; import ClickAwayHandler from "./ClickAwayHandler"; type MenuItem = | { name: string; onClick: MouseEventHandler; href?: string; } | { name: string; onClick?: MouseEventHandler; href: string; }; type Props = { onClickOutside: Function; className?: string; items: MenuItem[]; }; export default function Dropdown({ onClickOutside, className, items }: Props) { return ( {items.map((e, i) => { const inner = (

{e.name}

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