import { useContext } from 'react'
import { PaymentUiContext } from './context'
import { PaymentProviderError } from './errors'

export function usePaymentElement(): { ready: boolean; error: PaymentProviderError | null } {
  const ctx = useContext(PaymentUiContext)
  if (!ctx) {
    throw new PaymentProviderError('usePaymentElement must be used inside a payment provider (e.g. StripePaymentProvider).')
  }
  return { ready: ctx.ready, error: ctx.error }
}