index.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React from "react";
  2. import { ActiveProposals, Council } from "..";
  3. import Nominators from "./Nominators";
  4. import Validators from "./Validators";
  5. import { Block, Handles } from "../../types";
  6. interface IProps {
  7. block: number;
  8. blocks: Block[];
  9. council: any;
  10. nominators: string[];
  11. validators: string[];
  12. proposals: any;
  13. proposalCount: number;
  14. domain: string;
  15. handles: Handles;
  16. }
  17. const Dashboard = (props: IProps) => {
  18. return (
  19. <div className="w-100 flex-grow-1 d-flex align-items-center justify-content-center d-flex flex-column">
  20. <div className="title">
  21. <h1>
  22. <a href={props.domain}>Joystream</a>
  23. </h1>
  24. </div>
  25. <div className="box mt-3">
  26. <h3>latest block</h3>
  27. {props.block}
  28. </div>
  29. <div className="box">
  30. <h3>Active Proposals</h3>
  31. <ActiveProposals block={props.block} proposals={props.proposals} />
  32. </div>
  33. <Council council={props.council} handles={props.handles} />
  34. <div className="d-flex flex-row">
  35. <Validators validators={props.validators} handles={props.handles} />
  36. <Nominators nominators={props.nominators} handles={props.handles} />
  37. </div>
  38. </div>
  39. );
  40. };
  41. export default Dashboard;