import React from 'react'; import Link from 'next/link'; import { Plus, FileText, Database, Layout, ArrowRight, Calendar, Users, TrendingUp, Eye, Edit3, Layers } from 'lucide-react'; import { Button } from '@/components/ui/button'; export interface ContentType { id: string; name: string; apiIdentifier: string; description?: string | null; _count: { entries: number; }; entries: any[]; } export interface Plan { id: string; mainTitle: string; createdAt: Date; } export interface ViewContentProps { contentTypes: ContentType[]; plans: Plan[]; allContentEntries: any[]; } // Editorial content card component const ContentCard = ({ icon: Icon, title, description, count, action, href }: { icon: React.ElementType; title: string; description: string; count: number; action: string; href: string; }) => (
{count}

elementos

{title}

{description}

); // Editorial template card component const RecentTemplateCard = ({ template }: { template: Plan }) => (
Activo

{template.mainTitle}

{new Date(template.createdAt).toLocaleDateString('es-ES')}
); export function ViewContentComponent({ contentTypes, plans, allContentEntries }: ViewContentProps) { // Cálculos de métricas const totalContent = allContentEntries?.length || 0; const totalTemplates = plans?.length || 0; const totalContentTypes = contentTypes?.length || 0; // Plantillas recientes (últimas 3) const recentTemplates = plans?.slice(0, 3) || []; return (
{/* Clean editorial background */}
{/* Editorial header */}

Contenido

Gestiona, crea y organiza todo tu contenido desde un solo lugar

{/* Editorial Stats cards */}
{totalContent}
Total contenido
{totalTemplates}
Plantillas
{totalContentTypes}
Tipos de contenido
{/* Secciones principales */}
{/* CMS Flexible */} {/* Plantillas */}
{/* Plantillas recientes */} {recentTemplates.length > 0 && (

Plantillas Recientes

{recentTemplates.map((template) => ( ))}
)} {/* Acciones rápidas */}

Acciones Rápidas

Accede rápidamente a las funciones más utilizadas

); }