Sasha 85d8156b7a
feat: re-work rln-js (#281)
* use next.js tempalte

* use next lint rules

* alight UI

* fix problem with margins

* remove old page, rename to hooks

* add constants

* create RLN service, add utils

* add RLN init

* refactor a bit

* add init for Keystore

* add store functions

* add styles

* add contract hooks, add store fields, fix multiple downloads issue

* add features

* add keystore read logic

* add import export

* combine to useContract

* add useWaku stub, add state to Waku block, styles

* add creation of a node

* add messages functionality

* up readme

* update CI

* update readme

* remove and rename, address comments

* update readme

* move const
2023-11-20 19:00:11 +03:00

29 lines
928 B
TypeScript

import { Block, BlockTypes } from "@/components/Block";
import { Button } from "@/components/Button";
import { Subtitle } from "@/components/Subtitle";
import { useContract, useStore } from "@/hooks";
export const BlockchainInfo: React.FunctionComponent<{}> = () => {
const { ethAccount, lastMembershipID } = useStore();
const { onFetchContract } = useContract();
return (
<Block className="mt-10">
<Block className="mb-3" type={BlockTypes.FlexHorizontal}>
<Subtitle>Contract</Subtitle>
<Button onClick={onFetchContract}>Fetch state</Button>
</Block>
<Block type={BlockTypes.FlexHorizontal}>
<p>Your address</p>
<code>{ethAccount || "Not loaded yet"}</code>
</Block>
<Block type={BlockTypes.FlexHorizontal}>
<p>Latest membership ID on contract</p>
<code>{lastMembershipID || "Not loaded yet"}</code>
</Block>
</Block>
);
};