import { useEffect, useMemo, useRef, useState } from "react"; import { createPortal } from "react-dom"; import { useTranslation } from "react-i18next"; import Icon from "./Icon"; import IconChip from "./IconChip"; // Auf-/zuklappbares Kategorie-Dropdown (Gruppe -> Kategorien als Baum) mit // Suchfeld. Ersetzt das native setQ(e.target.value)} placeholder={t("categories.searchPlaceholder")} />
{allowNone && ( )} {groups.map((g) => { const cats = ql ? g.categories.filter((c) => c.name.toLowerCase().includes(ql)) : g.categories; if (ql && cats.length === 0) return null; const isCollapsed = !ql && collapsed.has(g.id); return (
{!isCollapsed && cats.map((c) => ( ))}
); })} {groups.length === 0 &&
{t("categories.emptyGroup")}
}
, document.body )} ); }