import { useRouter } from 'next/router'
import { Form, Input, SubmitButton } from '../components/form'
import Link from 'next/link'
import Button from 'react-bootstrap/Button'
import * as Yup from 'yup'
import { gql, useMutation, useQuery } from '@apollo/client'
import { InvoiceSkeleton } from '../components/invoice'
import LayoutCenter from '../components/layout-center'
import InputGroup from 'react-bootstrap/InputGroup'
import { WithdrawlSkeleton } from './withdrawls/[id]'
export default function Wallet () {
  return (
    
      
    
  )
}
export function WalletForm () {
  const router = useRouter()
  if (!router.query.type) {
    return (
      
        
          
        
        or
        
          
        
      
    )
  }
  if (router.query.type === 'fund') {
    return 
  } else {
    return 
  }
}
export const FundSchema = Yup.object({
  amount: Yup.number().typeError('must be a number').required('required')
    .positive('must be positive').integer('must be whole')
})
export function FundForm () {
  const router = useRouter()
  const [createInvoice, { called, error }] = useMutation(gql`
    mutation createInvoice($amount: Int!) {
      createInvoice(amount: $amount) {
        id
      }
    }`)
  if (called && !error) {
    return 
  }
  return (
    
  )
}
export const WithdrawlSchema = Yup.object({
  invoice: Yup.string().required('required'),
  maxFee: Yup.number().typeError('must be a number').required('required')
    .min(0, 'must be positive').integer('must be whole')
})
export function WithdrawlForm () {
  const router = useRouter()
  const query = gql`
  {
    me {
      sats
    }
  }`
  const { data } = useQuery(query, { pollInterval: 1000 })
  const [createWithdrawl, { called, error }] = useMutation(gql`
    mutation createWithdrawl($invoice: String!, $maxFee: Int!) {
      createWithdrawl(invoice: $invoice, maxFee: $maxFee) {
        id
      }
  }`)
  if (called && !error) {
    return 
  }
  return (
    <>
      
        you have {data && data.me.sats} sats
      
      
    >
  )
}