import React from 'react'; /** * COMPONENTE: ResponsiveTable * * Descrição: Tabela responsiva com 4 colunas que exibe dados de funcionários * * Recursos: * - Design responsivo com scroll horizontal em telas pequenas * - Separação visual destacada entre colunas * - Efeito hover nas linhas * - Linhas alternadas para melhor leitura * - Badges coloridos para status * * @returns {JSX.Element} Componente de tabela responsiva */ export default function ResponsiveTable() { // Array de dados mockados - substitua com dados reais da API ou props const data = [ { id: 1, nome: 'João Silva', email: 'joao@email.com', cargo: 'Desenvolvedor', status: 'Ativo' }, { id: 2, nome: 'Maria Santos', email: 'maria@email.com', cargo: 'Designer', status: 'Ativo' }, { id: 3, nome: 'Pedro Oliveira', email: 'pedro@email.com', cargo: 'Gerente', status: 'Inativo' }, { id: 4, nome: 'Ana Costa', email: 'ana@email.com', cargo: 'Analista', status: 'Ativo' }, { id: 5, nome: 'Carlos Souza', email: 'carlos@email.com', cargo: 'Coordenador', status: 'Ativo' }, ]; return ( // Container principal com gradiente de fundo e padding responsivo
| representa uma coluna do cabeçalho - px-6 py-4: padding horizontal e vertical - text-left: alinhamento à esquerda - border-r-2: borda direita de 2px para separação visual - uppercase tracking-wider: texto maiúsculo com espaçamento */} | Nome | Cargo | {/* Última coluna sem borda direita */}Status | |
|---|---|---|---|---|
|
{item.nome}
|
{/* COLUNA 2: Email */}
{item.email}
|
{/* COLUNA 3: Cargo */}
{item.cargo}
|
{/*
COLUNA 4: Status
Badge colorido baseado no status
- Verde para "Ativo"
- Vermelho para "Inativo"
*/}
{item.status} |
📱 Responsivo: role horizontalmente em telas pequenas