"use client" import { useEffect, useState } from "react" import { useRouter } from "next/navigation" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { LogOut } from "lucide-react" import TranscriptionTable from "@/components/transcription-table" import ModelPricesTable from "@/components/model-prices-table" import ProductManagement from "@/components/product-management" import UserManagement from "@/components/user-management" import { isAdmin, isTokenExpired, getCurrentUserEmail, getUserRoles } from "@/lib/auth" export default function Dashboard() { const [isAuthenticated, setIsAuthenticated] = useState(false) const [isLoading, setIsLoading] = useState(true) const [userIsAdmin, setUserIsAdmin] = useState(false) const [userEmail, setUserEmail] = useState(null) const [userRoles, setUserRoles] = useState([]) const router = useRouter() useEffect(() => { const token = localStorage.getItem("access_token") if (!token || isTokenExpired()) { // Token não existe ou expirou localStorage.removeItem("access_token") router.push("/") return } // Token válido, obter informações do usuário const email = getCurrentUserEmail() const roles = getUserRoles() const adminStatus = isAdmin() setUserEmail(email) setUserRoles(roles) setUserIsAdmin(adminStatus) setIsAuthenticated(true) setIsLoading(false) }, [router]) const handleLogout = () => { localStorage.removeItem("access_token") router.push("/") } if (isLoading) { return (
) } if (!isAuthenticated) { return null } return (

Dashboard - Sistema de Transcrição

{userEmail && (

Logado como: {userEmail} {userRoles.length > 0 && ({userRoles.join(", ")})}

)}
Dados de Transcrição Preços dos Modelos Produtos {userIsAdmin && Usuários} Dados de Transcrição Visualize e exporte dados de transcrição por cliente ou empresa Preços dos Modelos Gerencie os preços dos modelos de IA disponíveis Gerenciar Produtos Crie, edite e gerencie produtos e seus preços {userIsAdmin && ( Gerenciar Usuários Gerencie usuários e suas permissões no sistema )}
) }