diff --git a/frontend/src/api/client.js b/frontend/src/api/client.js index 1e5e755b..50c06c3d 100644 --- a/frontend/src/api/client.js +++ b/frontend/src/api/client.js @@ -163,6 +163,8 @@ import { GetSentPaymentsForPeerReply, GetReceivedPaymentsForPeerRequest, GetReceivedPaymentsForPeerReply, + DownloadSqueakSecretKeyRequest, + DownloadSqueakSecretKeyReply, } from '../proto/squeak_admin_pb'; import axios from 'axios' @@ -923,6 +925,18 @@ export const downloadSqueak = (squeakHash) => { }); } +export const downloadSqueakSecretKey = (squeakHash) => { + console.log('Calling downloadSqueakSecretKey'); + const request = new DownloadSqueakSecretKeyRequest(); + request.setSqueakHash(squeakHash); + const deser = DownloadSqueakSecretKeyReply.deserializeBinary; + return baseRequest({ + url: '/downloadsqueaksecretkey', + req: request, + deser: deser, + }); +} + export const getTwitterAccounts = () => { console.log('Calling getTwitterAccounts'); const request = new GetTwitterAccountsRequest(); diff --git a/frontend/src/features/squeaks/BuySqueak.js b/frontend/src/features/squeaks/BuySqueak.js index 3498725d..89c324a1 100644 --- a/frontend/src/features/squeaks/BuySqueak.js +++ b/frontend/src/features/squeaks/BuySqueak.js @@ -8,7 +8,7 @@ import { Link } from 'react-router-dom' import { getProfileImageSrcString } from '../../squeakimages/images'; import Loader from '../../components/Loader' -import { Form, Input, Checkbox, Relevant, Debug, TextArea, Option } from 'informed'; +import { Form, Input, Checkbox, Relevant, Debug, TextArea, Option, useFormApi } from 'informed'; import Select from 'react-select' @@ -21,6 +21,8 @@ import { selectBuySqueakStatus, selectSqueakOffers, fetchSqueakOffers, + selectDownloadSqueakOffersStatus, + setDownloadSqueakOffers, } from '../squeaks/squeaksSlice' import { fetchPaymentSummary, @@ -43,6 +45,7 @@ const BuySqueak = (props) => { const signingProfiles = useSelector(selectSigningProfiles); const buySqueakStatus = useSelector(selectBuySqueakStatus); const squeakOffers = useSelector(selectSqueakOffers); + const downloadSqueakOffersStatus = useSelector(selectDownloadSqueakOffersStatus); const dispatch = useDispatch(); const [offer, setOffer] = useState(null); @@ -86,12 +89,45 @@ const BuySqueak = (props) => { }); } + const submitDownloadOffers = ({ values }) => { + console.log(values); + console.log('downloadOffers'); + dispatch(setDownloadSqueakOffers(squeakHash)); + } + + const SubmitDownloadOffersButton = () => { + const formApi = useFormApi(); + + return + }; + + const DownloadOffersForm = () => ( +
+
+
+
+
+ {downloadSqueakOffersStatus === 'idle' ? + : + + } +
+
+
+ ); + return ( <>
+ {squeakOffers.length} offers