import type { DragEvent } from "react"; import { Button, Chip, Input, Modal } from "@heroui/react"; import { TopoModalShell } from "../../../components/ui/TopoModalShell"; import { useI18n } from "../../../i18n"; import type { PaletteItem, PaletteSource } from "../pageTypes"; export type AddNePaletteDialogProps = { open: boolean; paletteSource: PaletteSource; onPaletteSourceChange: (source: PaletteSource) => void; keyword: string; onKeywordChange: (keyword: string) => void; paletteVisible: PaletteItem[]; paletteSelectedKeys: string[]; onPaletteSelectedKeysChange: (keys: string[] | ((prev: string[]) => string[])) => void; paletteLoading: boolean; paletteAdding: boolean; onClose: () => void; onPaletteDragStart: (e: DragEvent, item: PaletteItem) => void; onAddSelected: () => void; }; export function AddNePaletteDialog({ open, paletteSource, onPaletteSourceChange, keyword, onKeywordChange, paletteVisible, paletteSelectedKeys, onPaletteSelectedKeysChange, paletteLoading, paletteAdding, onClose, onPaletteDragStart, onAddSelected, }: AddNePaletteDialogProps) { const { t } = useI18n(); return ( {t("topology.addNe")}

{t("topology.paletteHint")}

onKeywordChange(e.target.value)} placeholder={t("topology.filterPh")} disabled={paletteAdding} autoFocus /> {paletteVisible.length > 0 ? (
{t("topology.selectedCount").replace("{{count}}", String(paletteSelectedKeys.length))}
) : null}
); }