style(admin): centraliza dados das celulas nas tabelas
Some checks failed
CI/CD Web + Desktop / Deploy Convex functions (push) Blocked by required conditions
CI/CD Web + Desktop / Detect changes (push) Successful in 4s
CI/CD Web + Desktop / Deploy (VPS Linux) (push) Has been cancelled
Quality Checks / Lint, Test and Build (push) Has been cancelled

- Adiciona text-center em todas as celulas de dados
- Centraliza botoes de acoes com inline-flex
- Mantem consistencia visual entre headers e dados

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
rever-tecnologia 2025-12-17 11:55:31 -03:00
parent 3e923d5a53
commit 30768ea090

View file

@ -1227,17 +1227,17 @@ async function handleDeleteUser() {
aria-label="Selecionar linha"
/>
</TableCell>
<TableCell className="px-3 font-medium text-neutral-800 truncate">{user.name || "—"}</TableCell>
<TableCell className="px-3 text-neutral-600 truncate">{user.email}</TableCell>
<TableCell className="px-3">
<TableCell className="px-3 text-center font-medium text-neutral-800">{user.name || "—"}</TableCell>
<TableCell className="px-3 text-center text-neutral-600">{user.email}</TableCell>
<TableCell className="px-3 text-center">
<Badge className={`rounded-full border px-3 py-1 text-xs font-medium whitespace-nowrap ${getRoleBadgeColor(user.role)}`}>
{formatRole(user.role)}
</Badge>
</TableCell>
<TableCell className="px-3 text-neutral-600 truncate">{user.companyName ?? "—"}</TableCell>
<TableCell className="px-3 text-neutral-500 whitespace-nowrap">{formatDate(user.createdAt)}</TableCell>
<TableCell className="px-3">
<div className="flex flex-wrap justify-end gap-2">
<TableCell className="px-3 text-center text-neutral-600">{user.companyName ?? "—"}</TableCell>
<TableCell className="px-3 text-center text-neutral-500 whitespace-nowrap">{formatDate(user.createdAt)}</TableCell>
<TableCell className="px-3 text-center">
<div className="inline-flex gap-2">
<Button
size="icon"
aria-label="Editar usuário"
@ -1510,14 +1510,14 @@ async function handleDeleteUser() {
/>
</div>
</TableCell>
<TableCell className="px-4 font-medium text-neutral-800">
<TableCell className="px-4 text-center font-medium text-neutral-800">
{user.name || (user.role === "machine" ? "Dispositivo" : "—")}
</TableCell>
<TableCell className="px-4 text-neutral-600">{user.email}</TableCell>
<TableCell className="px-4 text-neutral-600">
<TableCell className="px-4 text-center text-neutral-600">{user.email}</TableCell>
<TableCell className="px-4 text-center text-neutral-600">
{user.role === "machine" ? "Dispositivo" : "Pessoa"}
</TableCell>
<TableCell className="px-4 text-neutral-600">
<TableCell className="px-4 text-center text-neutral-600">
{user.role === "machine" ? (
user.machinePersona ? (
<Badge
@ -1533,10 +1533,10 @@ async function handleDeleteUser() {
formatRole(user.role)
)}
</TableCell>
<TableCell className="px-4 text-neutral-600">{user.companyName ?? "—"}</TableCell>
<TableCell className="px-4 text-neutral-500">{formatDate(user.createdAt)}</TableCell>
<TableCell className="px-4">
<div className="flex flex-wrap justify-end gap-2">
<TableCell className="px-4 text-center text-neutral-600">{user.companyName ?? "—"}</TableCell>
<TableCell className="px-4 text-center text-neutral-500">{formatDate(user.createdAt)}</TableCell>
<TableCell className="px-4 text-center">
<div className="inline-flex flex-wrap gap-2">
<Button
variant="outline"
size="sm"
@ -1778,15 +1778,15 @@ async function handleDeleteUser() {
/>
</div>
</TableCell>
<TableCell className="px-4">
<TableCell className="px-4 text-center">
<div className="flex flex-col">
<span className="font-medium text-neutral-800">{invite.name || invite.email}</span>
<span className="text-xs text-neutral-500">{invite.email}</span>
</div>
</TableCell>
<TableCell className="px-4 text-neutral-600">{formatRole(invite.role)}</TableCell>
<TableCell className="px-4 text-neutral-600">{formatDate(invite.expiresAt)}</TableCell>
<TableCell className="px-4">
<TableCell className="px-4 text-center text-neutral-600">{formatRole(invite.role)}</TableCell>
<TableCell className="px-4 text-center text-neutral-600">{formatDate(invite.expiresAt)}</TableCell>
<TableCell className="px-4 text-center">
<Badge
variant={inviteStatusVariant(invite.status)}
className="rounded-full px-3 py-1 text-xs font-medium"
@ -1794,8 +1794,8 @@ async function handleDeleteUser() {
{formatStatus(invite.status)}
</Badge>
</TableCell>
<TableCell className="px-4">
<div className="flex flex-wrap justify-end gap-2">
<TableCell className="px-4 text-center">
<div className="inline-flex flex-wrap gap-2">
<Button variant="outline" size="sm" onClick={() => handleCopy(invite.inviteUrl)}>
Copiar link
</Button>