style(ui): padronizar tipografia — font-medium para font-semibold

Padronização de peso tipográfico em títulos, rótulos de seção,
nomes de entidades e valores monetários em toda a interface.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-04-11 17:51:34 +00:00
parent 3bd8117b65
commit e8cc673e52
111 changed files with 361 additions and 272 deletions

View File

@@ -118,7 +118,7 @@ export function PayerHeaderCard({
<div className="flex flex-1 flex-col gap-2">
<div className="flex flex-wrap items-center gap-2">
<CardTitle className="text-xl font-medium text-foreground">
<CardTitle className="text-xl font-semibold text-foreground">
{payer.name}
</CardTitle>
{isAdmin ? (
@@ -215,10 +215,10 @@ export function PayerHeaderCard({
<RiExchangeDollarLine className="size-5 text-primary" />
</div>
<div>
<p className="text-sm font-medium text-muted-foreground">
<p className="text-sm text-muted-foreground">
Total de Despesas
</p>
<p className="text-2xl font-medium text-foreground">
<p className="text-2xl font-semibold text-foreground">
{formatCurrency(summary.totalExpenses)}
</p>
</div>
@@ -239,7 +239,7 @@ export function PayerHeaderCard({
Cartões
</span>
</div>
<p className="text-lg font-medium text-foreground">
<p className="text-lg font-semibold text-foreground">
{formatCurrency(summary.paymentSplits.card)}
</p>
</div>
@@ -251,7 +251,7 @@ export function PayerHeaderCard({
Boletos
</span>
</div>
<p className="text-lg font-medium text-foreground">
<p className="text-lg font-semibold text-foreground">
{formatCurrency(summary.paymentSplits.boleto)}
</p>
</div>
@@ -263,7 +263,7 @@ export function PayerHeaderCard({
Pix/Débito
</span>
</div>
<p className="text-lg font-medium text-foreground">
<p className="text-lg font-semibold text-foreground">
{formatCurrency(summary.paymentSplits.instant)}
</p>
</div>

View File

@@ -63,7 +63,7 @@ export function PayerHistoryCard({ data }: PagadorHistoryCardProps) {
return (
<Card className="border">
<CardHeader className="gap-1.5 pb-3">
<CardTitle className="text-lg font-medium">
<CardTitle className="text-lg font-semibold">
Evolução (últimos 6 meses)
</CardTitle>
<p className="text-xs text-muted-foreground">

View File

@@ -31,7 +31,7 @@ export function PagadorInfoCard({ payer }: PayerInfoCardProps) {
return (
<Card className="border gap-4">
<CardHeader className="gap-1.5">
<CardTitle className="text-lg font-medium">
<CardTitle className="text-lg font-semibold">
Detalhes do pagador
</CardTitle>
<CardDescription>
@@ -106,7 +106,7 @@ export function PagadorInfoCard({ payer }: PayerInfoCardProps) {
const resolveRoleLabel = (role: string | null) => {
if (role === PAYER_ROLE_ADMIN) return "Administrador";
return "Payer";
return "Pagador";
};
type InfoItemProps = {

View File

@@ -53,7 +53,7 @@ export function PayerLeaveShareCard({
return (
<Card className="border">
<CardHeader>
<CardTitle className="text-base font-medium">
<CardTitle className="text-base font-semibold">
Acesso Compartilhado
</CardTitle>
<p className="text-sm text-muted-foreground">

View File

@@ -51,7 +51,7 @@ export function PayerMonthlySummaryCard({
return (
<Card>
<CardHeader className="flex flex-col gap-1.5">
<CardTitle className="text-lg font-medium">Totais do mês</CardTitle>
<CardTitle className="text-lg font-semibold">Totais do mês</CardTitle>
<p className="text-xs text-muted-foreground">
{periodLabel} - Despesas por forma de pagamento
</p>
@@ -65,7 +65,7 @@ export function PayerMonthlySummaryCard({
</span>
<MoneyValues
amount={breakdown.totalExpenses}
className="block text-2xl font-medium text-foreground"
className="block text-2xl font-semibold text-foreground"
/>
</div>
@@ -100,7 +100,7 @@ export function PayerMonthlySummaryCard({
totalBase > 0 ? Math.round((entry.value / totalBase) * 100) : 0;
return (
<div key={entry.key} className="space-y-1 rounded-lg border p-3">
<span className="flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground/70">
<span className="flex items-center gap-2 text-xs uppercase tracking-wide text-muted-foreground/70">
<span
className={cn("size-2 rounded-full", entry.color)}
aria-hidden
@@ -109,7 +109,7 @@ export function PayerMonthlySummaryCard({
</span>
<MoneyValues
amount={entry.value}
className="block text-lg font-medium text-foreground"
className="block text-lg font-semibold text-foreground"
/>
<span className="text-xs text-muted-foreground">
{percent}% das despesas

View File

@@ -84,7 +84,9 @@ export function PayerSharingCard({
return (
<Card className="border">
<CardHeader>
<CardTitle className="text-lg font-medium">Compartilhamentos</CardTitle>
<CardTitle className="text-lg font-semibold">
Compartilhamentos
</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

View File

@@ -42,9 +42,7 @@ export function PayerCard({ payer, onEdit, onRemove }: PayerCardProps) {
{/* Nome e badges */}
<div className="flex items-center gap-1.5">
<h3 className="text-base font-medium text-foreground">
{payer.name}
</h3>
<h3 className="font-semibold text-foreground">{payer.name}</h3>
{isAdmin ? (
<RiVerifiedBadgeFill className="size-4 text-blue-500" aria-hidden />
) : null}

View File

@@ -119,7 +119,7 @@ export function PayerDialog({
const payerId = payer?.id;
if (mode === "update" && !payerId) {
const message = "Payer inválido.";
const message = "Pagador inválido.";
setErrorMessage(message);
toast.error(message);
return;