"use client"; import { RiCheckboxBlankCircleLine, RiCheckboxCircleFill, } from "@remixicon/react"; import { useState } from "react"; import { PAYMENT_METHODS } from "@/features/transactions/constants"; import { Button } from "@/shared/components/ui/button"; import { Label } from "@/shared/components/ui/label"; import { MonthPicker } from "@/shared/components/ui/month-picker"; import { Popover, PopoverContent, PopoverTrigger, } from "@/shared/components/ui/popover"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/shared/components/ui/select"; import { dateToPeriod, displayPeriod, periodToDate, } from "@/shared/utils/period"; import { cn } from "@/shared/utils/ui"; import { AccountCardSelectContent, PaymentMethodSelectContent, } from "../../select-items"; import type { PaymentMethodSectionProps } from "./transaction-dialog-types"; function InlinePeriodPicker({ period, onPeriodChange, }: { period: string; onPeriodChange: (value: string) => void; }) { const [open, setOpen] = useState(false); return (
Fatura de { onPeriodChange(dateToPeriod(date)); setOpen(false); }} />
); } export function PaymentMethodSection({ formState, onFieldChange, accountOptions, cardOptions, isUpdateMode, disablePaymentMethod, disableCardSelect, showSettledToggle, }: PaymentMethodSectionProps) { const isCartaoSelected = formState.paymentMethod === "Cartão de crédito"; const showContaSelect = [ "Pix", "Dinheiro", "Boleto", "Cartão de débito", "Pré-Pago | VR/VA", "Transferência bancária", ].includes(formState.paymentMethod); const filteredContaOptions = formState.paymentMethod === "Pré-Pago | VR/VA" ? accountOptions.filter( (option) => option.accountType === "Pré-Pago | VR/VA", ) : formState.paymentMethod === "Dinheiro" ? accountOptions.filter((option) => option.accountType === "Dinheiro") : accountOptions; const hasSecondaryColumn = isCartaoSelected || showContaSelect; return (
{!isUpdateMode ? (
) : null} {isCartaoSelected ? (
{formState.cardId ? ( onFieldChange("period", value)} /> ) : null}
) : null} {!isCartaoSelected && showContaSelect ? (
) : null}
{showSettledToggle ? (

Marcar como pago

Indica que o valor já foi pago.

) : null}
); }