wakuconnect-vote-poll-sdk/packages/vote-example
Franck Royer bddbd1359a
Release 0.4.0
2022-01-20 11:40:28 +11:00
..
src Fix lint/core functions and decimals 2022-01-20 01:19:47 +01:00
test Rename voting-example to vote-example 2021-12-07 13:20:38 +11:00
.eslintrc.json Rename voting-example to vote-example 2021-12-07 13:20:38 +11:00
.mocharc.json Rename voting-example to vote-example 2021-12-07 13:20:38 +11:00
README.md s/DappConnect/WakuConnect/ 2021-12-23 16:03:01 +11:00
package.json Release 0.4.0 2022-01-20 11:40:28 +11:00
prettier.config.js Rename voting-example to vote-example 2021-12-07 13:20:38 +11:00
tsconfig.json Rename voting-example to vote-example 2021-12-07 13:20:38 +11:00

README.md

WakuConnect Vote SDK Example

Package contains example usage of WakuConnect Vote SDK

For more detailed api please see README in voting-hooks and voting-components

For connecting with web3 api usedapp is used please refer to usedapp docs for more info

Creating WakuVoting

to create waku voting in react you can use useWakuVoting hook from voting-hooks

  const waku = useWakuVoting(
    dappName,
    votingContractAddress,
    library,
    multicallAddress
  )

For more detailed usage you can take a look in index.tsx

Page is divided into mobile and normal version.

display list of voting rooms

to display list of voting rooms you can use already created VotingRoomList for more details see voting-components package

VotingRoomList needs a list of voting room ids which can be gotten with useVotingRoomsId hook

const votes = useVotingRoomsId(wakuVoting)
<VotingRoomList
    account={account}
    theme={blueTheme}
    wakuVoting={wakuVoting}
    votes={votes}
    availableAmount={tokenBalance}
    mobileOnClick={(votingRoom: VotingRoom) => history.push(`/votingRoom/${votingRoom.id.toString()}`)}
/>

creating new voting room

To create voting room you can use NewVotingRoomModal component.

Component is a modal and expects a state value and state update function (showModal and setShowModal) to be able show and hide modal