"use client"; import React from "react"; import { motion } from "framer-motion"; import { FileText, Plus, TrendingUp, Eye, Calendar, ChevronRight, ArrowUpRight, ArrowRight, } from "lucide-react"; import Link from "next/link"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Sidebar } from "@/components/Sidebar"; type Organization = { id: string; name: string; logoUrl: string | null; primaryColor: string; }; type UserType = { id: string; name: string | null; email: string; role: string; }; type DashboardStats = { docCount: number; viewCount: number; downloadCount: number; recentDocs: any[]; }; export default function DashboardClient({ user, organization, stats, }: { user: UserType; organization: Organization; stats: DashboardStats; }) { const primaryColor = organization.primaryColor || "#2563eb"; const formatDate = (date: Date) => { return new Date(date).toLocaleDateString("pt-BR", { day: "2-digit", month: "short", }); }; return (
{/* Main Content Area */}
{/* Top Banner / Hero - Integrated Background */}
Overview Panel

Dashboard

Bem-vindo, Administrador {user.name?.split(' ')[0] || "Administrador"}.

{/* Faded accent circle */}
{/* Stats Grid - Large and minimalist */}

Total de Documentos

{stats.docCount}

Visualizações Totais

{stats.viewCount.toLocaleString()}

Downloads Totais

{stats.downloadCount.toLocaleString()}

{/* Recent Documents Table - More integrated */}

Atividade Recente

Ver Todos
{stats.recentDocs.length === 0 ? (

Nenhum documento encontrado.

) : (
{stats.recentDocs.map((doc) => (

{doc.title}

{doc.folder?.name || "Sem categoria"} {formatDate(doc.createdAt)}
Detalhes
))}
)}
{/* Summary Column */}

Status do Portal

O portal está online e sincronizado com os últimos envios de documentos.

Informações Rápidas

Organização {organization.name}
Seu Perfil {user.role}
Data {new Date().toLocaleDateString('pt-BR')}
); } function Users(props: any) { return ( ) }