import { getGetServerSideProps } from '@/api/ssrApollo' import { Form, Input } from '@/components/form' import { CenterLayout } from '@/components/layout' import { useMe } from '@/components/me' import { WalletButtonBar, WalletCard } from '@/components/wallet-card' import { useApolloClient, useMutation } from '@apollo/client' import { useToast } from '@/components/toast' import { lnAddrAutowithdrawSchema } from '@/lib/validate' import { useRouter } from 'next/router' import { AutowithdrawSettings, autowithdrawInitial } from '@/components/autowithdraw-shared' import { REMOVE_WALLET, UPSERT_WALLET_LNADDR, WALLET_BY_TYPE } from '@/fragments/wallet' import WalletLogs from '@/components/wallet-logs' const variables = { type: 'LIGHTNING_ADDRESS' } export const getServerSideProps = getGetServerSideProps({ query: WALLET_BY_TYPE, variables, authRequired: true }) export default function LightningAddress ({ ssrData }) { const me = useMe() const toaster = useToast() const router = useRouter() const client = useApolloClient() const [upsertWalletLNAddr] = useMutation(UPSERT_WALLET_LNADDR, { refetchQueries: ['WalletLogs'], onError: (err) => { client.refetchQueries({ include: ['WalletLogs'] }) throw err } }) const [removeWallet] = useMutation(REMOVE_WALLET, { refetchQueries: ['WalletLogs'], onError: (err) => { client.refetchQueries({ include: ['WalletLogs'] }) throw err } }) const { walletByType: wallet } = ssrData || {} return (

lightning address

autowithdraw to a lightning address
{ try { await upsertWalletLNAddr({ variables: { id: wallet?.id, address, settings: { ...settings, autoWithdrawThreshold: Number(settings.autoWithdrawThreshold), autoWithdrawMaxFeePercent: Number(settings.autoWithdrawMaxFeePercent) } } }) toaster.success('saved settings') router.push('/settings/wallets') } catch (err) { console.error(err) } }} > { try { await removeWallet({ variables: { id: wallet?.id } }) toaster.success('saved settings') router.push('/settings/wallets') } catch (err) { console.error(err) } }} />
) } export function LightningAddressWalletCard ({ wallet }) { return ( ) }