mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 11:01:45 +00:00
style(tipografia): adiciona fonte America Medium e padroniza pesos de texto
Adiciona os arquivos `america-medium.woff2` e `america-bold.woff2` e registra o weight 500 no `font_index.ts`. Padroniza o uso de `font-medium` em substituição a `font-semibold` e `font-bold` em títulos, valores monetários e rótulos de destaque em todos os componentes do app, landing page e componentes de UI base. `Card` ganha `hover:border-primary/40` e `CardTitle` recebe `text-base`. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,7 @@ export function CalculatorDisplay({
|
||||
<div className="mt-auto flex items-end justify-end gap-2">
|
||||
<div
|
||||
className={cn(
|
||||
"truncate text-right font-semibold tracking-tight tabular-nums leading-none transition-all",
|
||||
"truncate text-right font-medium tracking-tight tabular-nums leading-none transition-all",
|
||||
isResultView ? "text-2xl" : "text-3xl",
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -32,7 +32,7 @@ export function CalculatorKeypad({
|
||||
variant={isActive ? "default" : (btn.variant ?? "outline")}
|
||||
onClick={btn.onClick}
|
||||
className={cn(
|
||||
"h-12 text-base font-semibold",
|
||||
"h-12 text-base font-medium",
|
||||
btn.colSpan === 2 && "col-span-2",
|
||||
btn.colSpan === 3 && "col-span-3",
|
||||
isActive &&
|
||||
|
||||
@@ -23,7 +23,7 @@ export function EstablishmentLogo({
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
"flex shrink-0 items-center justify-center rounded-full font-bold",
|
||||
"flex shrink-0 items-center justify-center rounded-full font-medium",
|
||||
className,
|
||||
)}
|
||||
style={{
|
||||
|
||||
@@ -47,7 +47,7 @@ export default function MonthNavigation() {
|
||||
|
||||
<div className="flex items-center">
|
||||
<div
|
||||
className="mx-1 space-x-1 capitalize font-semibold"
|
||||
className="mx-1 space-x-1 capitalize font-medium"
|
||||
aria-current={!isDifferentFromCurrent ? "date" : undefined}
|
||||
aria-label={`Período selecionado: ${currentMonthLabel}`}
|
||||
>
|
||||
|
||||
@@ -96,7 +96,7 @@ export function FeedbackDialogBody({ onClose }: { onClose?: () => void }) {
|
||||
<Icon className={cn("h-5 w-5", item.color)} />
|
||||
</div>
|
||||
<div className="flex-1 text-left space-y-1">
|
||||
<h3 className="font-semibold text-sm flex items-center gap-2">
|
||||
<h3 className="font-medium text-sm flex items-center gap-2">
|
||||
{item.title}
|
||||
<RiExternalLinkLine className="h-3.5 w-3.5 text-muted-foreground" />
|
||||
</h3>
|
||||
|
||||
@@ -53,7 +53,7 @@ export function MobileLink({
|
||||
<span className="flex-1 flex flex-col gap-0.5">
|
||||
<span>{children}</span>
|
||||
{description && (
|
||||
<span className="text-[11px] text-muted-foreground leading-snug">
|
||||
<span className="text-xs text-muted-foreground leading-snug">
|
||||
{description}
|
||||
</span>
|
||||
)}
|
||||
@@ -69,7 +69,7 @@ export function MobileLink({
|
||||
|
||||
export function MobileSectionLabel({ label }: { label: string }) {
|
||||
return (
|
||||
<p className="mt-3 mb-1 px-3 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">
|
||||
<p className="mt-3 mb-1 px-3 text-xs font-medium uppercase tracking-wider text-muted-foreground">
|
||||
{label}
|
||||
</p>
|
||||
);
|
||||
|
||||
@@ -42,11 +42,7 @@ export function NavDropdown({ items }: NavDropdownProps) {
|
||||
{item.icon}
|
||||
</span>
|
||||
<span className="flex flex-col min-w-0">
|
||||
<span
|
||||
className={cn("font-medium", isActive && "font-semibold")}
|
||||
>
|
||||
{item.label}
|
||||
</span>
|
||||
<span className="font-medium">{item.label}</span>
|
||||
{item.description && (
|
||||
<span className="text-xs text-muted-foreground truncate lowercase">
|
||||
{item.description}
|
||||
|
||||
@@ -47,7 +47,7 @@ export function NavToolsDropdown({ onOpenCalculator }: NavToolsDropdownProps) {
|
||||
{privacyMode && (
|
||||
<Badge
|
||||
variant="secondary"
|
||||
className="text-[10px] px-1.5 py-0 h-4 text-success"
|
||||
className="text-xs px-1.5 py-0 h-4 text-success"
|
||||
>
|
||||
Ativo
|
||||
</Badge>
|
||||
@@ -100,7 +100,7 @@ export function MobileTools({ onClose, onOpenCalculator }: MobileToolsProps) {
|
||||
{privacyMode && (
|
||||
<Badge
|
||||
variant="secondary"
|
||||
className="text-[10px] px-1.5 py-0 h-4 text-success"
|
||||
className="text-xs px-1.5 py-0 h-4 text-success"
|
||||
>
|
||||
Ativo
|
||||
</Badge>
|
||||
|
||||
@@ -91,7 +91,7 @@ function SectionLabel({
|
||||
return (
|
||||
<div className="flex items-center gap-1.5 p-2 first:pt-1">
|
||||
<span className="text-muted-foreground">{icon}</span>
|
||||
<span className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground">
|
||||
<span className="text-xs font-medium uppercase tracking-wide text-muted-foreground">
|
||||
{title}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -28,7 +28,7 @@ export function NotificationBellHeader({
|
||||
}: NotificationBellHeaderProps) {
|
||||
return (
|
||||
<div className="border-b px-3 py-2.5">
|
||||
<div className="flex items-center justify-between gap-2 text-sm font-semibold">
|
||||
<div className="flex items-center justify-between gap-2 text-sm font-medium">
|
||||
<span>Notificações</span>
|
||||
{hasAnySourceItems ? (
|
||||
<Badge variant="outline" className="text-xs font-medium">
|
||||
|
||||
@@ -9,11 +9,11 @@ export default function PageDescription({
|
||||
}) {
|
||||
return (
|
||||
<div>
|
||||
<h1 className="text-2xl font-semibold flex items-center gap-1 tracking-tighter">
|
||||
<h1 className="text-xl font-medium flex items-center gap-1 tracking-tight">
|
||||
<span className="text-primary">{icon}</span>
|
||||
{title}
|
||||
</h1>
|
||||
<h2 className="text-sm max-w-2xl text-muted-foreground leading-relaxed mt-2">
|
||||
<h2 className="text-sm max-w-2xl text-muted-foreground leading-relaxed mt-1.5">
|
||||
{subtitle}
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
@@ -89,7 +89,7 @@ export function PaymentSuccess({
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<DialogTitle className="text-xl font-bold">{title}</DialogTitle>
|
||||
<DialogTitle className="text-xl font-medium">{title}</DialogTitle>
|
||||
<DialogDescription className="text-sm leading-relaxed">
|
||||
{description}
|
||||
</DialogDescription>
|
||||
|
||||
@@ -172,7 +172,7 @@ function CategoryReportTableSkeleton() {
|
||||
<TableFooter>
|
||||
<TableRow>
|
||||
{/* Total label */}
|
||||
<TableCell className="font-bold">
|
||||
<TableCell className="font-medium">
|
||||
<Skeleton className="h-5 w-16 rounded-md bg-foreground/10" />
|
||||
</TableCell>
|
||||
{/* Period totals */}
|
||||
|
||||
@@ -98,7 +98,7 @@ function AlertDialogTitle({
|
||||
return (
|
||||
<AlertDialogPrimitive.Title
|
||||
data-slot="alert-dialog-title"
|
||||
className={cn("text-lg font-semibold", className)}
|
||||
className={cn("text-lg font-medium", className)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -7,7 +7,7 @@ function Card({ className, ...props }: React.ComponentProps<"div">) {
|
||||
<div
|
||||
data-slot="card"
|
||||
className={cn(
|
||||
"bg-card text-card-foreground flex flex-col gap-4 border py-6 rounded-lg",
|
||||
"bg-card text-card-foreground flex flex-col gap-4 border py-6 rounded-lg hover:border-primary/40",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
@@ -32,7 +32,7 @@ function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
|
||||
return (
|
||||
<div
|
||||
data-slot="card-title"
|
||||
className={cn("leading-none font-semibold", className)}
|
||||
className={cn("text-base leading-none font-medium", className)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -106,7 +106,7 @@ function DialogTitle({
|
||||
return (
|
||||
<DialogPrimitive.Title
|
||||
data-slot="dialog-title"
|
||||
className={cn("text-lg leading-none font-semibold", className)}
|
||||
className={cn("text-lg leading-none font-medium", className)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -102,7 +102,7 @@ function DrawerTitle({
|
||||
return (
|
||||
<DrawerPrimitive.Title
|
||||
data-slot="drawer-title"
|
||||
className={cn("text-foreground font-semibold", className)}
|
||||
className={cn("text-foreground font-medium", className)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -123,7 +123,7 @@ function MonthCal({
|
||||
return (
|
||||
<>
|
||||
<div className="flex justify-center pt-1 relative items-center">
|
||||
<div className="text-sm font-bold">
|
||||
<div className="text-sm font-medium">
|
||||
{callbacks?.yearLabel ? callbacks?.yearLabel(menuYear) : menuYear}
|
||||
</div>
|
||||
<div className="space-x-1 flex items-center">
|
||||
|
||||
@@ -107,7 +107,7 @@ function SheetTitle({
|
||||
return (
|
||||
<SheetPrimitive.Title
|
||||
data-slot="sheet-title"
|
||||
className={cn("text-foreground font-semibold", className)}
|
||||
className={cn("text-foreground font-medium", className)}
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -42,7 +42,7 @@ function TabsTrigger({
|
||||
<TabsPrimitive.Trigger
|
||||
data-slot="tabs-trigger"
|
||||
className={cn(
|
||||
"ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background text-muted-foreground data-[state=active]:border-b-primary data-[state=active]:text-foreground relative inline-flex h-9 items-center justify-center rounded-none border-b-2 border-b-transparent bg-transparent px-4 py-1 pt-2 pb-3 text-sm font-semibold whitespace-nowrap shadow-none transition-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-none",
|
||||
"ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background text-muted-foreground data-[state=active]:border-b-primary data-[state=active]:text-foreground relative inline-flex h-9 items-center justify-center rounded-none border-b-2 border-b-transparent bg-transparent px-4 py-1 pt-2 pb-3 text-sm font-medium whitespace-nowrap shadow-none transition-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-none",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
|
||||
Reference in New Issue
Block a user