"use client"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { LANCAMENTO_CONDITIONS } from "@/lib/lancamentos/constants"; import { formatCurrency } from "@/lib/utils/currency"; import { cn } from "@/lib/utils/ui"; import { ConditionSelectContent } from "../../select-items"; import type { ConditionSectionProps } from "./lancamento-dialog-types"; export function ConditionSection({ formState, onFieldChange, showInstallments, showRecurrence, }: ConditionSectionProps) { const parsedAmount = Number(formState.amount); const amount = Number.isNaN(parsedAmount) || parsedAmount <= 0 ? null : parsedAmount; const getInstallmentLabel = (count: number) => { if (amount) { const installmentValue = amount / count; return `${count}x de R$ ${formatCurrency(installmentValue)}`; } return `${count}x`; }; const installmentCount = Number(formState.installmentCount); const installmentSummary = showInstallments && formState.installmentCount && amount && !Number.isNaN(installmentCount) && installmentCount > 0 ? getInstallmentLabel(installmentCount) : null; const recurrenceCount = Number(formState.recurrenceCount); const recurrenceSummary = showRecurrence && formState.recurrenceCount && !Number.isNaN(recurrenceCount) && recurrenceCount > 0 ? `Por ${recurrenceCount} meses` : null; return (
{showInstallments ? (
) : null} {showRecurrence ? (
) : null}
); }