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