import { useState } from 'react'; import { toast } from 'sonner'; import { useStorage } from '@libs/storage/provider'; import { LoaderIcon } from '@shared/icons'; export function NWCForm({ setWalletConnectURL }) { const { db } = useStorage(); const [uri, setUri] = useState(''); const [loading, setLoading] = useState(false); const submit = async () => { try { setLoading(true); if (!uri.startsWith('nostr+walletconnect:')) { toast.error( 'Connect URI is required and must start with format nostr+walletconnect:, please check again' ); setLoading(false); return; } const uriObj = new URL(uri); const params = new URLSearchParams(uriObj.search); if (params.has('relay') && params.has('secret')) { await db.secureSave(`${db.account.pubkey}-nwc`, uri); setWalletConnectURL(uri); setLoading(false); } else { setLoading(false); toast.error('Connect URI is not valid, please check again'); return; } } catch (e) { setLoading(false); toast.error(e); } }; return (