3
1

index.tsx 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import React from "react";
  2. import { Link } from "react-router-dom";
  3. import { ActiveProposals, Council } from "..";
  4. import Validators from "../Validators";
  5. import { IState } from "../../types";
  6. const Dashboard = (props: IState) => {
  7. const { block, now, domain, handles, members, proposals, tokenomics } = props;
  8. return (
  9. <div className="w-100 flex-grow-1 d-flex align-items-center justify-content-center d-flex flex-column">
  10. <div className="box position-fixed " style={{ top: "0", right: "0" }}>
  11. <Link to="/mint">Tools</Link>
  12. </div>
  13. <Channels channels={props.channels} />
  14. <div className="title">
  15. <h1>
  16. <a href={domain}>Joystream</a>
  17. </h1>
  18. </div>
  19. <div className="box">
  20. <h3>Forum</h3>
  21. <Link to="/forum">
  22. {props.posts.length} posts in {props.threads.length} threads
  23. </Link>
  24. </div>
  25. <div className="box">
  26. <h3>Active Proposals</h3>
  27. <ActiveProposals block={block} proposals={proposals} />
  28. <hr />
  29. <Link to={`/proposals`}>Show all</Link>
  30. </div>
  31. <Council
  32. councils={props.councils}
  33. members={members}
  34. councilElection={props.councilElection}
  35. block={block}
  36. now={now}
  37. round={props.round}
  38. handles={props.handles}
  39. termEndsAt={props.termEndsAt}
  40. stage={props.stage}
  41. posts={props.posts}
  42. proposals={props.proposals}
  43. validators={props.validators}
  44. />
  45. <Validators
  46. block={block}
  47. era={props.era}
  48. now={now}
  49. lastReward={props.lastReward}
  50. councils={props.councils}
  51. handles={handles}
  52. members={members}
  53. posts={props.posts}
  54. proposals={props.proposals}
  55. nominators={props.nominators}
  56. validators={props.validators}
  57. stashes={props.stashes}
  58. stars={props.stars}
  59. stakes={props.stakes}
  60. save={props.save}
  61. rewardPoints={props.rewardPoints}
  62. issued={tokenomics ? Number(tokenomics.totalIssuance) : 0}
  63. />
  64. </div>
  65. );
  66. };
  67. export default Dashboard;