@@ -1,4 +1,4 @@
1−import React, { useCallback, useMemo, useState } from 'react';
1+import React, { useCallback, useMemo, useEffect, useState } from 'react';
22import { Grid, Text, P, LinkButton } from 'indigo-react';
33import * as azimuth from 'azimuth-js';
44
@@ -64,25 +64,26 @@ export default function Documents() {
6464 //TODO update every second?
6565 const now = Math.round(new Date().getTime() / 1000);
6666
67− useMemo(async () => {
68− let proposals = await azimuth.polls.getDocumentProposals(_contracts);
69− let majorities = await azimuth.polls.getDocumentMajorities(_contracts);
70− let polls = {};
71− for (let doc of proposals) {
72− let poll = await azimuth.polls.getDocumentPoll(_contracts, doc);
73− poll.endTime = convertToInt(poll.start) + convertToInt(poll.duration);
74− poll.hasVoted = await azimuth.polls.hasVotedOnDocumentPoll(
75− _contracts,
76− _point,
77− doc
78− );
79− polls[doc] = poll;
80− }
81− setMajorities(majorities);
82− setProposals(proposals);
83− setPolls(polls);
84− setLoading(false);
85− return;
67+ useEffect(() => {
68+ (async () => {
69+ let proposals = await azimuth.polls.getDocumentProposals(_contracts);
70+ let majorities = await azimuth.polls.getDocumentMajorities(_contracts);
71+ let polls = {};
72+ for (let doc of proposals) {
73+ let poll = await azimuth.polls.getDocumentPoll(_contracts, doc);
74+ poll.endTime = convertToInt(poll.start) + convertToInt(poll.duration);
75+ poll.hasVoted = await azimuth.polls.hasVotedOnDocumentPoll(
76+ _contracts,
77+ _point,
78+ doc
79+ );
80+ polls[doc] = poll;
81+ }
82+ setMajorities(majorities);
83+ setProposals(proposals);
84+ setPolls(polls);
85+ setLoading(false);
86+ })();
8687 }, [_contracts, _point]);
8788
8889 // eslint-disable-next-line
@@ -105,7 +106,7 @@ export default function Documents() {
105106 construct(hash, accept);
106107 setVotingOn({ hash, accept });
107108 },
108− [construct, setVotingOn]
109+ [construct]
109110 );
110111
111112 const didVote = useCallback(() => {
@@ -171,15 +172,6 @@ export default function Documents() {
171172 });
172173 }, [open, polls, votingOn, doVote]);
173174
174− const onDocumentChange = useCallback(({ valid, values }) => {
175− // if (values.document) {
176− // const hash = '0x' + keccak256(values.document.trim()).toString('hex');
177− // setDocumentHash(hash);
178− // } else {
179− // setDocumentHash('0x...');
180− // }
181− }, []);
182−
183175 return (
184176 <View pop={pop} inset>
185177 <Grid>
@@ -205,9 +197,8 @@ export default function Documents() {
205197 {openList}
206198 </Grid.Item>
207199
208− <BridgeForm onValues={onDocumentChange}>
200+ <BridgeForm>
209201 {({ onSubmit, values }) => (
210− // <>
211202 <Grid.Item
212203 full
213204 as={InlineEthereumTransaction}