|
@@ -5,14 +5,13 @@ import Body from './Body';
|
|
import VotingSection from './VotingSection';
|
|
import VotingSection from './VotingSection';
|
|
import Votes from './Votes';
|
|
import Votes from './Votes';
|
|
import { MyAccountProps, withMyAccount } from '@polkadot/joy-utils/react/hocs/accounts';
|
|
import { MyAccountProps, withMyAccount } from '@polkadot/joy-utils/react/hocs/accounts';
|
|
-import { ParsedProposal, ProposalVotes } from '@polkadot/joy-utils/types/proposals';
|
|
|
|
|
|
+import { ParsedProposal } from '@polkadot/joy-utils/types/proposals';
|
|
import { withCalls } from '@polkadot/react-api';
|
|
import { withCalls } from '@polkadot/react-api';
|
|
import { withMulti } from '@polkadot/react-api/hoc';
|
|
import { withMulti } from '@polkadot/react-api/hoc';
|
|
import { ProposalId, ProposalDecisionStatuses, ApprovedProposalStatuses, ExecutionFailedStatus } from '@joystream/types/proposals';
|
|
import { ProposalId, ProposalDecisionStatuses, ApprovedProposalStatuses, ExecutionFailedStatus } from '@joystream/types/proposals';
|
|
import { BlockNumber } from '@polkadot/types/interfaces';
|
|
import { BlockNumber } from '@polkadot/types/interfaces';
|
|
import { MemberId } from '@joystream/types/members';
|
|
import { MemberId } from '@joystream/types/members';
|
|
import { Seat } from '@joystream/types/council';
|
|
import { Seat } from '@joystream/types/council';
|
|
-import PromiseComponent from '@polkadot/joy-utils/react/components/PromiseComponent';
|
|
|
|
import ProposalDiscussion from './discussion/ProposalDiscussion';
|
|
import ProposalDiscussion from './discussion/ProposalDiscussion';
|
|
|
|
|
|
import styled from 'styled-components';
|
|
import styled from 'styled-components';
|
|
@@ -113,7 +112,6 @@ export function getExtendedStatus (proposal: ParsedProposal, bestNumber: BlockNu
|
|
type ProposalDetailsProps = MyAccountProps & {
|
|
type ProposalDetailsProps = MyAccountProps & {
|
|
proposal: ParsedProposal;
|
|
proposal: ParsedProposal;
|
|
proposalId: ProposalId;
|
|
proposalId: ProposalId;
|
|
- votesListState: { data: ProposalVotes | null; error: any; loading: boolean };
|
|
|
|
bestNumber?: BlockNumber;
|
|
bestNumber?: BlockNumber;
|
|
council?: Seat[];
|
|
council?: Seat[];
|
|
};
|
|
};
|
|
@@ -125,8 +123,7 @@ function ProposalDetails ({
|
|
myMemberId,
|
|
myMemberId,
|
|
iAmMember,
|
|
iAmMember,
|
|
council,
|
|
council,
|
|
- bestNumber,
|
|
|
|
- votesListState
|
|
|
|
|
|
+ bestNumber
|
|
}: ProposalDetailsProps) {
|
|
}: ProposalDetailsProps) {
|
|
const iAmCouncilMember = Boolean(iAmMember && council && council.some(seat => seat.member.toString() === myAddress));
|
|
const iAmCouncilMember = Boolean(iAmMember && council && council.some(seat => seat.member.toString() === myAddress));
|
|
const iAmProposer = Boolean(iAmMember && myMemberId !== undefined && proposal.proposerId === myMemberId.toNumber());
|
|
const iAmProposer = Boolean(iAmMember && myMemberId !== undefined && proposal.proposerId === myMemberId.toNumber());
|
|
@@ -154,12 +151,7 @@ function ProposalDetails ({
|
|
memberId={ myMemberId as MemberId }
|
|
memberId={ myMemberId as MemberId }
|
|
isVotingPeriod={ isVotingPeriod }/>
|
|
isVotingPeriod={ isVotingPeriod }/>
|
|
) }
|
|
) }
|
|
- <PromiseComponent
|
|
|
|
- error={votesListState.error}
|
|
|
|
- loading={votesListState.loading}
|
|
|
|
- message="Fetching the votes...">
|
|
|
|
- <Votes votes={votesListState.data as ProposalVotes} />
|
|
|
|
- </PromiseComponent>
|
|
|
|
|
|
+ <Votes proposal={proposal}/>
|
|
</ProposalDetailsVoting>
|
|
</ProposalDetailsVoting>
|
|
</ProposalDetailsMain>
|
|
</ProposalDetailsMain>
|
|
<ProposalDetailsDiscussion>
|
|
<ProposalDetailsDiscussion>
|