import { Search, X } from "lucide-react"; import { useTranslation } from "react-i18next"; import { I18nKey } from "#/i18n/declaration"; import { cn } from "#/utils/utils"; import type { PluginStatusFilter } from "./build-plugins-view-model"; interface PluginsToolbarProps { search: string; onSearchChange: (value: string) => void; statusFilter: PluginStatusFilter; onStatusFilterChange: (filter: PluginStatusFilter) => void; } const STATUS_FILTERS: ReadonlyArray<{ value: PluginStatusFilter; labelKey: I18nKey; }> = [ { value: "all", labelKey: I18nKey.SETTINGS$PLUGINS_FILTER_ALL }, { value: "installed", labelKey: I18nKey.SETTINGS$PLUGINS_FILTER_INSTALLED }, { value: "available", labelKey: I18nKey.SETTINGS$PLUGINS_FILTER_AVAILABLE }, { value: "local", labelKey: I18nKey.SETTINGS$PLUGINS_FILTER_LOCAL }, ]; export function PluginsToolbar({ search, onSearchChange, statusFilter, onStatusFilterChange, }: PluginsToolbarProps) { const { t } = useTranslation("openhands"); return (