'use client' import { useState, ChangeEvent, useEffect } from 'react'; import { InputMask, format } from '@react-input/mask'; import styles from '@/app/styles/module/login.module.scss'; interface BankCardProps { bankCardState: string | undefined; validateHandler: (e: ChangeEvent) => void; clearCondition?: string | undefined | null; disabled: boolean; isValid: boolean | undefined; } export default function BankCardInput({ bankCardState, validateHandler, disabled, isValid }: BankCardProps) { const [bankCard, setBankCard] = useState(''); useEffect(() => { if (bankCardState) { if (disabled) { setBankCard(format(bankCardState.slice(-4), { mask: "**** **** **** ____", replacement: { _: /\d/ } })); } else { setBankCard(format(bankCardState, { mask: "____ ____ ____ ____", replacement: { _: /\d/ } })); } } }, [bankCardState, disabled]); return ( { setBankCard(e.target.value); validateHandler(e); }} placeholder="1234 1234 1234 1234" /> ) }