Skip to content

Commit

Permalink
Simplify write to ipfs
Browse files Browse the repository at this point in the history
  • Loading branch information
leinss committed May 22, 2022
1 parent 6937ed8 commit 61165c2
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 33 deletions.
25 changes: 19 additions & 6 deletions src/storage/save.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ export async function storeFilesToIPFS(filename: string, content: string) {
try {
const file = new File([content], filename, { type: "text/plain" });
const cid = await client.put([file]);
console.log(cid);

// console.log(cid);
return cid;
} catch (e) {
console.error(e);
Expand All @@ -19,22 +20,34 @@ export async function storeFilesToIPFS(filename: string, content: string) {

export async function retrieveFilesFromIPFS(cid: string) {
const res = await client.get(cid);
if (!res || !res.ok || !res.body) return [];
console.log("here");
for (const f of res.files()) {

if (!res || !res.ok || !res.body) {
console.log("Error retrieving file from IPFS");
return [];
}

console.log(`Got a response! [${res.status}] ${res.statusText}`);

console.log("ipfs res", res);
console.log("ipfs body", res.body);
console.log("ipfs files", await res.files());

for (const f of await res.files()) {
console.log(f);
}

let files = [];
try {
files = await res.files();
console.log(files);

for (const file of files) {
console.log(
`${file.cid}: ${file.name} ${file.text()} (${file.size} bytes)`
);
}
} catch {
console.error("error while fetching from IPFS");
} catch (e) {
console.error("error while fetching from IPFS", e);
}
return files;
}
9 changes: 4 additions & 5 deletions src/views/Dashboard/Assessment/Wizard/CalculationFeedback.jsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
import { Box, Flex, Progress, Text } from "@chakra-ui/react";
import { useWeb3React } from "@web3-react/core";
import { useCallback, useEffect, useRef, useState } from "react";
import {
getGardens,
calculateRiskProfile,
} from "../../Explore";
import { getGardens, calculateRiskProfile } from "../../Explore";
import NavButtons from "./NavButtons";

export default function CalculationFeedback(props) {
const [progressValue, setProgressValue] = useState(0);
const [timer, setTimer] = useState(null);

const { state, gardens } = props;
const { state, gardens, storeAssessmentToIPFS } = props;

const { library } = useWeb3React();
const [loadingGardens, setLoadingGardens] = useState(false);
Expand Down Expand Up @@ -57,6 +54,7 @@ export default function CalculationFeedback(props) {
) {
setLoadingGardens(true);
await getVaultData();
storeAssessmentToIPFS();
setLoadingGardens(false);
}
}
Expand All @@ -70,6 +68,7 @@ export default function CalculationFeedback(props) {
setLoadingGardens,
library,
getVaultData,
storeAssessmentToIPFS,
]);

const updateProgress = useCallback(() => {
Expand Down
2 changes: 1 addition & 1 deletion src/views/Dashboard/Assessment/Wizard/CrashReaction.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export default function CrashReaction(props) {
m="1rem"
p="1rem"
onClick={() => onCardClick(4)}
active={props.valueMarketReaction === 4}
active={props.valueMarketReaction === 4 ? 1 : 0}
>
<Text>
Sell everything. Investing in cryptocurrency was a mistake.
Expand Down
33 changes: 12 additions & 21 deletions src/views/Dashboard/Assessment/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ export default function Assessment() {
const [gardenData, setGardenData] = useState([]);
const { account, active } = useWeb3React();
const walletBalances = useBalances(account);
const [wroteToIPFS, setWroteToIPFS] = useState(false);

const history = useHistory();

Expand All @@ -58,26 +57,17 @@ export default function Assessment() {
});
}, []);

useEffect(() => {
// write preferences to IPFS;
const isAssessmentComplete =
assessmentState.walletValueETH != null &&
assessmentState.valueToInvest != null &&
assessmentState.valueRiskProfile != null &&
assessmentState.valueMarketReaction != null;
if (isAssessmentComplete && !wroteToIPFS) {
storeFilesToIPFS(`${account}_pref.txt`, JSON.stringify(assessmentState))
.then((cid) => {
if (cid) {
localStorage[LOCAL_STORAGE_PREFERENCES_CID_KEY] = cid;
console.log("wrote to IPFS", cid);
console.log(`read file on https://${cid}.ipfs.dweb.link`);
}
})
.catch((e) => console.error(e.message));
setWroteToIPFS(true);
}
}, [assessmentState, account, wroteToIPFS]);
function storeAssessmentToIPFS() {
storeFilesToIPFS(`${account}_pref.txt`, JSON.stringify(assessmentState))
.then((cid) => {
if (cid) {
localStorage[LOCAL_STORAGE_PREFERENCES_CID_KEY] = cid;
console.log("wrote to IPFS", cid);
console.log(`read file on https://${cid}.ipfs.dweb.link`);
}
})
.catch((e) => console.error(e.message));
}

const onValueChange = (key, value) =>
setAssessmentState({ ...assessmentState, [key]: value });
Expand Down Expand Up @@ -129,6 +119,7 @@ export default function Assessment() {
<CalculationFeedback
state={assessmentState}
gardens={{ gardenData, setGardenData }}
storeAssessmentToIPFS={storeAssessmentToIPFS}
/>

<DisplayResults
Expand Down

0 comments on commit 61165c2

Please sign in to comment.