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
>
)
}