mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 11:01:45 +00:00
refactor(ui): renomear "Pagador/Pagadores" para "Pessoa/Pessoas" na interface
Todas as strings visíveis ao usuário (labels, títulos, toasts, mensagens de erro, cabeçalhos de tabela, exportações) foram atualizadas. Acordos de gênero em português corrigidos. Código, rotas (/payers) e schema do banco (pagadores) permanecem inalterados — divergência intencional documentada em CLAUDE.md e CHANGELOG. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -34,9 +34,9 @@ const statusEnum = z
|
||||
|
||||
const baseSchema = z.object({
|
||||
name: z
|
||||
.string({ message: "Informe o nome do pagador." })
|
||||
.string({ message: "Informe o nome da pessoa." })
|
||||
.trim()
|
||||
.min(1, "Informe o nome do pagador."),
|
||||
.min(1, "Informe o nome da pessoa."),
|
||||
email: z
|
||||
.string()
|
||||
.trim()
|
||||
@@ -110,7 +110,7 @@ export async function createPayerAction(
|
||||
|
||||
revalidate(user.id);
|
||||
|
||||
return { success: true, message: "Payer criado com sucesso." };
|
||||
return { success: true, message: "Pessoa criada com sucesso." };
|
||||
} catch (error) {
|
||||
return handleActionError(error);
|
||||
}
|
||||
@@ -130,7 +130,7 @@ export async function updatePayerAction(
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
error: "Pagador não encontrado.",
|
||||
error: "Pessoa não encontrada.",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ export async function updatePayerAction(
|
||||
|
||||
revalidate(currentUser.id);
|
||||
|
||||
return { success: true, message: "Payer atualizado com sucesso." };
|
||||
return { success: true, message: "Pessoa atualizada com sucesso." };
|
||||
} catch (error) {
|
||||
return handleActionError(error);
|
||||
}
|
||||
@@ -180,14 +180,14 @@ export async function deletePayerAction(
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
error: "Pagador não encontrado.",
|
||||
error: "Pessoa não encontrada.",
|
||||
};
|
||||
}
|
||||
|
||||
if (existing.role === PAYER_ROLE_ADMIN) {
|
||||
return {
|
||||
success: false,
|
||||
error: "Pagadores administradores não podem ser removidos.",
|
||||
error: "Pessoas administradoras não podem ser removidas.",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ export async function deletePayerAction(
|
||||
|
||||
revalidate(user.id);
|
||||
|
||||
return { success: true, message: "Payer removido com sucesso." };
|
||||
return { success: true, message: "Pessoa removida com sucesso." };
|
||||
} catch (error) {
|
||||
return handleActionError(error);
|
||||
}
|
||||
@@ -221,7 +221,7 @@ export async function joinPayerByShareCodeAction(
|
||||
if (pagadorRow.userId === user.id) {
|
||||
return {
|
||||
success: false,
|
||||
error: "Você já é o proprietário deste pagador.",
|
||||
error: "Você já é o proprietário desta entidade pagadora.",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ export async function joinPayerByShareCodeAction(
|
||||
if (existingShare) {
|
||||
return {
|
||||
success: false,
|
||||
error: "Você já possui acesso a este pagador.",
|
||||
error: "Você já possui acesso a esta pessoa.",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ export async function joinPayerByShareCodeAction(
|
||||
|
||||
revalidate(user.id);
|
||||
|
||||
return { success: true, message: "Payer adicionado à sua lista." };
|
||||
return { success: true, message: "Pessoa adicionada à sua lista." };
|
||||
} catch (error) {
|
||||
return handleActionError(error);
|
||||
}
|
||||
@@ -313,7 +313,7 @@ export async function regeneratePayerShareCodeAction(
|
||||
});
|
||||
|
||||
if (!existing) {
|
||||
return { success: false, error: "Payer não encontrado." };
|
||||
return { success: false, error: "Pessoa não encontrada." };
|
||||
}
|
||||
|
||||
let attempts = 0;
|
||||
|
||||
@@ -66,7 +66,7 @@ export function PayerHeaderCard({
|
||||
|
||||
const openConfirmDialog = () => {
|
||||
if (!payer.email) {
|
||||
toast.error("Cadastre um e-mail para este pagador antes de enviar.");
|
||||
toast.error("Cadastre um e-mail para esta pessoa antes de enviar.");
|
||||
return;
|
||||
}
|
||||
setConfirmOpen(true);
|
||||
@@ -74,7 +74,7 @@ export function PayerHeaderCard({
|
||||
|
||||
const handleSendSummary = () => {
|
||||
if (!payer.email) {
|
||||
toast.error("Cadastre um e-mail para este pagador antes de enviar.");
|
||||
toast.error("Cadastre um e-mail para esta pessoa antes de enviar.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ export function PayerHistoryCard({ data }: PagadorHistoryCardProps) {
|
||||
Evolução (últimos 6 meses)
|
||||
</CardTitle>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
Despesas registradas para este pagador ao longo do tempo.
|
||||
Despesas registradas para esta pessoa ao longo do tempo.
|
||||
</p>
|
||||
</CardHeader>
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ export function PagadorInfoCard({ payer }: PayerInfoCardProps) {
|
||||
<Card className="border gap-4">
|
||||
<CardHeader className="gap-1.5">
|
||||
<CardTitle className="text-lg font-semibold">
|
||||
Detalhes do pagador
|
||||
Detalhes da pessoa
|
||||
</CardTitle>
|
||||
<CardDescription>
|
||||
{showSensitiveDetails
|
||||
@@ -106,7 +106,7 @@ export function PagadorInfoCard({ payer }: PayerInfoCardProps) {
|
||||
|
||||
const resolveRoleLabel = (role: string | null) => {
|
||||
if (role === PAYER_ROLE_ADMIN) return "Administrador";
|
||||
return "Pagador";
|
||||
return "Pessoa";
|
||||
};
|
||||
|
||||
type InfoItemProps = {
|
||||
|
||||
@@ -89,7 +89,7 @@ export function PayerSharingCard({
|
||||
</CardTitle>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Compartilhe o código abaixo com outra pessoa. Ela poderá adicioná-lo
|
||||
na página de pagadores usando a opção Adicionar por código para ter
|
||||
na página de pessoas usando a opção Adicionar por código para ter
|
||||
acesso somente leitura.
|
||||
</p>
|
||||
</CardHeader>
|
||||
|
||||
@@ -182,7 +182,7 @@ export function PayerDialog({
|
||||
const payerId = payer?.id;
|
||||
|
||||
if (mode === "update" && !payerId) {
|
||||
const message = "Pagador inválido.";
|
||||
const message = "Pessoa inválida.";
|
||||
setErrorMessage(message);
|
||||
toast.error(message);
|
||||
return;
|
||||
@@ -216,13 +216,12 @@ export function PayerDialog({
|
||||
});
|
||||
};
|
||||
|
||||
const title = mode === "create" ? "Novo pagador" : "Editar pagador";
|
||||
const title = mode === "create" ? "Nova pessoa" : "Editar pessoa";
|
||||
const description =
|
||||
mode === "create"
|
||||
? "Selecione um avatar e informe os detalhes para criar um novo pagador."
|
||||
: "Atualize os detalhes do pagador selecionado.";
|
||||
const submitLabel =
|
||||
mode === "create" ? "Salvar pagador" : "Atualizar pagador";
|
||||
? "Selecione um avatar e informe os detalhes para criar uma nova pessoa."
|
||||
: "Atualize os detalhes da pessoa selecionada.";
|
||||
const submitLabel = mode === "create" ? "Salvar pessoa" : "Atualizar pessoa";
|
||||
|
||||
const isUploadSelected =
|
||||
uploadedAvatar !== null && formState.avatarUrl === uploadedAvatar;
|
||||
@@ -388,7 +387,7 @@ export function PayerDialog({
|
||||
id="payer-note"
|
||||
value={formState.note}
|
||||
onChange={(event) => updateField("note", event.target.value)}
|
||||
placeholder="Observações sobre este pagador"
|
||||
placeholder="Observações sobre esta pessoa"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,7 +60,7 @@ export function PayersPage({ payers, avatarOptions }: PayersPageProps) {
|
||||
|
||||
const handleRemoveRequest = (payer: Payer) => {
|
||||
if (payer.role === PAYER_ROLE_ADMIN) {
|
||||
toast.error("Pagadores administradores não podem ser removidos.");
|
||||
toast.error("Pessoas administradoras não podem ser removidas.");
|
||||
return;
|
||||
}
|
||||
setPayerToRemove(payer);
|
||||
@@ -91,8 +91,8 @@ export function PayersPage({ payers, avatarOptions }: PayersPageProps) {
|
||||
};
|
||||
|
||||
const removeTitle = payerToRemove
|
||||
? `Remover pagador "${payerToRemove.name}"?`
|
||||
: "Remover pagador?";
|
||||
? `Remover pessoa "${payerToRemove.name}"?`
|
||||
: "Remover pessoa?";
|
||||
|
||||
const handleJoinByCode = (event: React.FormEvent<HTMLFormElement>) => {
|
||||
event.preventDefault();
|
||||
@@ -127,7 +127,7 @@ export function PayersPage({ payers, avatarOptions }: PayersPageProps) {
|
||||
trigger={
|
||||
<Button className="w-full sm:w-auto">
|
||||
<RiAddFill className="size-4" />
|
||||
Novo pagador
|
||||
Nova pessoa
|
||||
</Button>
|
||||
}
|
||||
/>
|
||||
@@ -151,7 +151,7 @@ export function PayersPage({ payers, avatarOptions }: PayersPageProps) {
|
||||
{orderedPayers.length === 0 ? (
|
||||
<div className="flex min-h-[320px] items-center justify-center rounded-lg border border-dashed bg-muted/30">
|
||||
<div className="max-w-sm text-center text-sm text-muted-foreground">
|
||||
Cadastre seu primeiro pagador para organizar cobranças e
|
||||
Cadastre seu primeira pessoa para organizar cobranças e
|
||||
pagamentos recorrentes.
|
||||
</div>
|
||||
</div>
|
||||
@@ -185,8 +185,8 @@ export function PayersPage({ payers, avatarOptions }: PayersPageProps) {
|
||||
open={removeOpen && !!payerToRemove}
|
||||
onOpenChange={handleRemoveOpenChange}
|
||||
title={removeTitle}
|
||||
description="Ao remover este pagador, os registros relacionados a ele deixarão de ser associados automaticamente."
|
||||
confirmLabel="Remover pagador"
|
||||
description="Ao remover esta pessoa, os registros relacionados a ele deixarão de ser associados automaticamente."
|
||||
confirmLabel="Remover pessoa"
|
||||
pendingLabel="Removendo..."
|
||||
confirmVariant="destructive"
|
||||
onConfirm={handleRemoveConfirm}
|
||||
|
||||
@@ -19,7 +19,7 @@ import { formatDateTime } from "@/shared/utils/date";
|
||||
import { displayPeriod } from "@/shared/utils/period";
|
||||
|
||||
const inputSchema = z.object({
|
||||
payerId: z.string().uuid("Payer inválido."),
|
||||
payerId: z.string().uuid("Pessoa inválida."),
|
||||
period: z
|
||||
.string()
|
||||
.regex(/^\d{4}-\d{2}$/, "Período inválido. Informe no formato AAAA-MM."),
|
||||
@@ -404,7 +404,7 @@ export async function sendPayerSummaryAction(
|
||||
});
|
||||
|
||||
if (!pagadorRow) {
|
||||
return { success: false, error: "Pagador não encontrado." };
|
||||
return { success: false, error: "Pessoa não encontrada." };
|
||||
}
|
||||
|
||||
if (!pagadorRow.email) {
|
||||
|
||||
Reference in New Issue
Block a user