'use client';
import { Puzzle } from 'lucide-react';
import { Plugin } from '@/lib/plugins/config';
import { PluginsHeader } from './PluginsHeader';
import { PluginsGrid } from './PluginsGrid';
import { PluginsLoadingState } from './PluginsLoadingState';
interface PluginsPageContentProps {
plugins: Plugin[];
isLoading: boolean;
handleTogglePlugin: (pluginId: string) => void;
handleRefresh: () => void;
onConfigurePlugin?: (plugin: Plugin) => void;
}
export function PluginsPageContent({
plugins,
isLoading,
handleTogglePlugin,
handleRefresh,
onConfigurePlugin
}: PluginsPageContentProps) {
if (isLoading) {
return (
);
}
const enabledCount = plugins.filter(p => p.enabled).length;
const totalCount = plugins.length;
return (
{/* Clean editorial background */}
{/* Editorial header */}
Plugins
Extiende las funcionalidades de tu CMS con plugins especializados
{/* Editorial Stats cards */}
{enabledCount}
Plugins activos
{totalCount - enabledCount}
Disponibles
{totalCount}
Total plugins
{/* Plugins grid */}
{plugins.map((plugin) => (
{plugin.icon}
{plugin.name}
v{plugin.version} • {plugin.author}
{plugin.description}
{plugin.enabled ? 'Activo' : 'Inactivo'}
{plugin.configurable && (
)}
))}
{/* Empty state */}
{plugins.length === 0 && (
No hay plugins disponibles
Los plugins te permiten extender las funcionalidades de tu CMS
)}
);
}