Joystream Stats 4 jaren geleden
bovenliggende
commit
0e1a69d690

+ 3 - 2
src/components/Council/ElectionStatus.tsx

@@ -37,9 +37,10 @@ const ElectionStatus = (props: {
   councilElection?: { termEndsAt: number; round: number; stage: any };
   block: number;
   termEndsAt: number;
+  show: boolean;
 }) => {
-  const { councilElection, block, termEndsAt } = props;
-
+  const { councilElection, block, termEndsAt, show } = props;
+  if (!show) return <div />;
   return (
     <div className="position-absolute text-left text-light">
       <ElectionStage

+ 11 - 11
src/components/Council/index.tsx

@@ -3,26 +3,26 @@ import { Link } from "react-router-dom";
 import ElectionStatus from "./ElectionStatus";
 import User from "../User";
 import Loading from "../Loading";
+import { Member } from "../../types";
 
-const Member = (props: { id: number; findHandle: (id: number) => string }) => {
-  const handle = props.findHandle(props.id);
+const CouncilMember = (props: { member: Member }) => {
+  const { account, handle } = props.member;
   return (
     <div className="col">
-      <User id={handle} handle={handle} />
+      <User id={String(account)} handle={handle} />
     </div>
   );
 };
 
 const Council = (props: {
-  findHandle: (id: number) => string;
-  council: number[];
+  council: Member[];
   councilElection?: any;
   block: number;
   termEndsAt: number;
 }) => {
-  const { findHandle, council, block, councilElection, termEndsAt } = props;
+  const { council, block, councilElection, termEndsAt } = props;
   const half = Math.floor(council.length / 2);
-  const show = council.length ? true : false;
+  const show = council.length;
 
   return (
     <div className="box">
@@ -37,13 +37,13 @@ const Council = (props: {
       {(show && (
         <div className="d-flex flex-column">
           <div className="d-flex flex-row">
-            {council.slice(0, half).map((id) => (
-              <Member key={String(id)} id={id} findHandle={findHandle} />
+            {council.slice(0, half).map((member) => (
+              <CouncilMember key={String(member.account)} member={member} />
             ))}
           </div>
           <div className="d-flex flex-row">
-            {council.slice(half).map((id) => (
-              <Member key={String(id)} id={id} findHandle={findHandle} />
+            {council.slice(half).map((member) => (
+              <CouncilMember key={String(member.account)} member={member} />
             ))}
           </div>
         </div>

+ 7 - 8
src/components/Dashboard/index.tsx

@@ -4,16 +4,16 @@ import { ActiveProposals, Council } from "..";
 import Nominators from "./Nominators";
 import Validators from "./Validators";
 import Loading from "../Loading";
-import { IState } from "../../types";
+import { IState, Member } from "../../types";
 
 const Dashboard = (props: IState) => {
   const { block, councils, domain, handles, members, proposals } = props;
-  const council = councils[councils.length - 1] || [];
-
-  const findHandle = (id: number) => {
-    const member = members.find((m) => m.id === id);
-    return member ? member.handle : String(id);
-  };
+  const council: Member[] = [];
+  if (councils.length)
+    councils[councils.length - 1].forEach((memberId) => {
+      const member = members.find((m) => m.id === memberId);
+      member && council.push(member);
+    });
 
   return (
     <div className="w-100 flex-grow-1 d-flex align-items-center justify-content-center d-flex flex-column">
@@ -34,7 +34,6 @@ const Dashboard = (props: IState) => {
       </div>
 
       <Council
-        findHandle={findHandle}
         council={council}
         councilElection={props.councilElection}
         block={block}

+ 7 - 2
src/components/Members/Member.tsx

@@ -71,8 +71,13 @@ const MemberBox = (props: {
         <div>
           Proposal votes: <Link to={`/councils`}>{votes.length}</Link>
         </div>
-        <div>Created Proposals: {createdProposals.length}</div>
-        <div>Posts: {posts.length}</div>
+        <div>
+          Created Proposals:{" "}
+          <Link to={`/proposals`}>{createdProposals.length}</Link>
+        </div>
+        <div>
+          Posts: <Link to={`/forum`}>{posts.length}</Link>
+        </div>
 
         <div>About: {member.about}</div>
       </div>