import type { FC, ReactNode } from 'react' import type { PluginStatus } from '@/app/components/plugins/types' import type { Locale } from '@/i18n-config' import PluginItem from './plugin-item' export type PluginSectionProps = { title: string count: number plugins: PluginStatus[] getIconUrl: (icon: string) => string language: Locale statusIcon: ReactNode defaultStatusText: ReactNode statusClassName?: string headerAction?: ReactNode renderItemAction?: (plugin: PluginStatus) => ReactNode onClearSingle?: (taskId: string, pluginId: string) => void } const PluginSection: FC = ({ title, count, plugins, getIconUrl, language, statusIcon, defaultStatusText, statusClassName, headerAction, renderItemAction, onClearSingle, }) => { if (plugins.length === 0) return null return ( <>
{title} {' '} ( {count} ) {headerAction}
{plugins.map(plugin => ( onClearSingle(plugin.taskId, plugin.plugin_unique_identifier) : undefined} /> ))}
) } export default PluginSection