import { FC } from 'react' import cn from 'classnames' import { CardNumberElement, CardExpiryElement, CardCvcElement, useStripe, useElements } from '@stripe/react-stripe-js' import { Button, Text } from '@components/ui' import { useUI } from '@components/ui/context' import s from './PaymentMethodView.module.css' import SidebarLayout from '@components/common/SidebarLayout' const PaymentMethodView: FC = () => { const { paymentMethodDetails, setPaymentMethodDetails, setSidebarView } = useUI() const { address } = paymentMethodDetails const stripe = useStripe() const elements = useElements() const handleSubmit = async () => { if (!stripe || !elements) { return } const card = elements.getElement(CardNumberElement) const { error, paymentMethod } = await stripe.createPaymentMethod({ type: 'card', card }) if (error) { console.error(error) } setPaymentMethodDetails({ address, paymentMethod }) setSidebarView('CHECKOUT_VIEW') } const updateAddressData = ({ target }: any) => setPaymentMethodDetails({ ...paymentMethodDetails, address: { ...paymentMethodDetails.address, [target.name]: target.value, }, }) return (
Payment Method

) } export default PaymentMethodView