Joystream Stats 2 éve
szülő
commit
3cbbeb1a26

+ 3 - 2
src/App.tsx

@@ -258,8 +258,9 @@ class App extends React.Component<IProps, IState> {
   async fetchProposals() {
     const { data } = await axios.get(`${apiLocation}/v2/proposals`);
     if (!data || data.error) return console.error(`failed to fetch from API`);
-    console.debug(`proposals`, data);
-    this.save("proposals", data);
+    const proposals = data.filter((p) => p.created);
+    console.debug(`proposals`, proposals);
+    this.save("proposals", proposals);
   }
 
   async fetchWorkingGroups(api: ApiPromise) {

+ 3 - 3
src/components/Forum/LatestPost.tsx

@@ -14,8 +14,8 @@ const LatestPost = (props: {
   startTime: number;
 }) => {
   const { selectThread, post, startTime } = props;
-  const { author = {}, createdAt, id, thread, threadId, text } = post;
-  const created = moment(startTime + createdAt * 6000);
+  const { author = {},  id, thread, threadId, text } = post;
+  const created = moment(startTime + post.created * 6000).fromNow()
 
   return (
     <div
@@ -26,7 +26,7 @@ const LatestPost = (props: {
       }
     >
       <div className="mb-2">
-        {created.isValid() ? created.fromNow() : <span />}
+        {created}
         <User key={author?.id} id={author?.id} handle={author?.handle} />
         posted in
         <Link

+ 2 - 9
src/components/Members/Summary/index.tsx

@@ -36,21 +36,14 @@ const Summary = (props: {
   const createdProposals = proposals.filter((p) => p?.author.handle === member.handle);
   const approved = createdProposals.filter((p) => p.result === "Approved");
   const pending = createdProposals.filter((p) => p.result === "Pending");
-
   const posts = props.posts.filter((p) => p.author.handle === member.handle);
-
-  const time = startTime + member.createdAt * 6000;
-  const date = moment(time);
-  const created = date.isValid()
-    ? date.format("DD/MM/YYYY HH:mm")
-    : member.registeredAt;
-
+  const created = moment(startTime + member.created * 6000)
   const runsValidator = props.validators.includes(member.account);
 
   return (
     <div className="text-left">
       <div>
-        Registered on {created} (id {member.id})
+        Registered on {created.format("DD-MM-YYYY")} (id {member.id})
       </div>
 
       {runsValidator && (

+ 8 - 3
src/components/Votes.tsx

@@ -59,14 +59,19 @@ const VoteBubble = (props: {
 };
 
 export const VotesBubbles = (props: { detailed?: boolean; votes: Vote[] }) => {
-  const { detailed, votes } = props;
-
+  const votes = props.votes.reduce(
+    (uniq, vote) =>
+      uniq.find((v) => v.member.handle === vote.member.handle)
+        ? uniq
+        : uniq.concat(vote),
+    []
+  );
   return (
     <>
       {votes.map((vote: Vote) => (
         <VoteBubble
           key={vote.id}
-          detailed={detailed}
+          detailed={props.detailed}
           vote={vote}
           count={votes.length}
         />