Browse Source

Small cleanup and build fix

Leszek Wiesner 3 years ago
parent
commit
8b585f0f0d

+ 2 - 2
pioneer/packages/joy-roles/src/elements.tsx

@@ -147,12 +147,12 @@ export function GroupMemberDetails (props: GroupMemberDetailsProps) {
         Worker Storage
         Worker Storage
         <Label.Detail style={{ marginTop: '5px', marginLeft: 0, display: 'block', wordBreak: 'break-word', wordWrap: 'break-word' }}>{props.storage}</Label.Detail>
         <Label.Detail style={{ marginTop: '5px', marginLeft: 0, display: 'block', wordBreak: 'break-word', wordWrap: 'break-word' }}>{props.storage}</Label.Detail>
       </Label>
       </Label>
-    )
+    );
   }
   }
 
 
   return (
   return (
     <Card.Content extra>
     <Card.Content extra>
-      <Transition visible={showDetails} animation="fade down" duration={500}>
+      <Transition visible={showDetails} animation='fade down' duration={500}>
         <Card.Description>
         <Card.Description>
           <StakeAndReward>
           <StakeAndReward>
             {details.map((detail, index) => <div key={index}>{detail}</div>)}
             {details.map((detail, index) => <div key={index}>{detail}</div>)}

+ 3 - 3
pioneer/packages/joy-roles/src/tabs/WorkingGroup.tsx

@@ -93,16 +93,16 @@ const GroupOverview = Loadable<GroupOverviewProps>(
     const joinDesc = customJoinDesc || `There are openings for new ${groupName}. This is a great way to support Joystream!`;
     const joinDesc = customJoinDesc || `There are openings for new ${groupName}. This is a great way to support Joystream!`;
     const becomeLeadTitle = customBecomeLeadTitle || `Become ${groupName} Lead!`;
     const becomeLeadTitle = customBecomeLeadTitle || `Become ${groupName} Lead!`;
     const becomeLeadDesc = customBecomeLeadDesc || `An opportunity to become ${groupName} Leader is currently available! This is a great way to support Joystream!`;
     const becomeLeadDesc = customBecomeLeadDesc || `An opportunity to become ${groupName} Leader is currently available! This is a great way to support Joystream!`;
-    const [showMembers, setShowMembers] = useState(false)
+    const [showMembers, setShowMembers] = useState(false);
 
 
     return (
     return (
       <GroupOverviewSection>
       <GroupOverviewSection>
         <h2>{ groupName }</h2>
         <h2>{ groupName }</h2>
         <p>{ description }</p>
         <p>{ description }</p>
-        <Button onClick={() => setShowMembers(v => !v)}>
+        <Button onClick={() => setShowMembers((v) => !v)}>
           { showMembers ? 'Hide' : 'Show' } members
           { showMembers ? 'Hide' : 'Show' } members
         </Button>
         </Button>
-        <Transition visible={showMembers} animation="fade down" duration={500}>
+        <Transition visible={showMembers} animation='fade down' duration={500}>
           <span>
           <span>
             <Card.Group style={{ alignItems: 'flex-start' }}>
             <Card.Group style={{ alignItems: 'flex-start' }}>
               { workers!.map((worker, key) => (
               { workers!.map((worker, key) => (

+ 7 - 53
pioneer/packages/joy-roles/src/transport.substrate.ts

@@ -49,12 +49,6 @@ type StakePair<T = Balance> = {
   role: T;
   role: T;
 }
 }
 
 
-type GroupLeadWithMemberId = {
-  lead: Worker;
-  memberId: MemberId;
-  workerId: WorkerId;
-}
-
 const apiModuleByGroup = {
 const apiModuleByGroup = {
   [WorkingGroups.StorageProviders]: 'storageWorkingGroup',
   [WorkingGroups.StorageProviders]: 'storageWorkingGroup',
   [WorkingGroups.ContentCurators]: 'contentDirectoryWorkingGroup',
   [WorkingGroups.ContentCurators]: 'contentDirectoryWorkingGroup',
@@ -143,7 +137,7 @@ export class Transport extends BaseTransport implements ITransport {
 
 
     const rewardRelationship = await this.workerRewardRelationship(worker);
     const rewardRelationship = await this.workerRewardRelationship(worker);
 
 
-    const storage = await this.queryCachedByGroup(group).workerStorage(id)
+    const storage = await this.queryCachedByGroup(group).workerStorage(id);
 
 
     return ({
     return ({
       roleAccount,
       roleAccount,
@@ -181,55 +175,15 @@ export class Transport extends BaseTransport implements ITransport {
     return false;
     return false;
   }
   }
 
 
-  protected async groupLead (group: WorkingGroups): Promise <GroupLeadWithMemberId | null> {
-    const optLeadId = (await this.queryCachedByGroup(group).currentLead()) as Option<WorkerId>;
-
-    if (!optLeadId.isSome) {
-      return null;
-    }
-
-    const leadWorkerId = optLeadId.unwrap();
-    const leadWorker = await this.queryCachedByGroup(group).workerById(leadWorkerId) as Worker;
-
-    if (leadWorker.isEmpty) {
-      return null;
-    }
-
-    return {
-      lead: leadWorker,
-      memberId: leadWorker.member_id,
-      workerId: leadWorkerId
-    };
-  }
-
   async groupLeadStatus (group: WorkingGroups = WorkingGroups.ContentCurators): Promise<GroupLeadStatus> {
   async groupLeadStatus (group: WorkingGroups = WorkingGroups.ContentCurators): Promise<GroupLeadStatus> {
-    const currentLead = await this.groupLead(group);
-
-    if (currentLead !== null) {
-      const profile = await this.cacheApi.query.members.membershipById(currentLead.memberId) as Membership;
-
-      if (profile.handle.isEmpty) {
-        throw new Error(`${group} lead profile not found!`);
-      }
+    const optLeadId = await this.queryCachedByGroup(group).currentLead() as Option<WorkerId>;
 
 
-      const rewardRelationshipId = currentLead.lead.reward_relationship;
-      const rewardRelationship = rewardRelationshipId.isSome
-        ? await this.rewardRelationshipById(rewardRelationshipId.unwrap())
-        : undefined;
-      const stake = currentLead.lead.role_stake_profile.isSome
-        ? await this.workerStake(currentLead.lead.role_stake_profile.unwrap())
-        : undefined;
+    if (optLeadId.isSome) {
+      const leadId = optLeadId.unwrap();
+      const leadWorker = await this.queryCachedByGroup(group).workerById(leadId) as Worker;
 
 
       return {
       return {
-        lead: {
-          memberId: currentLead.memberId,
-          workerId: currentLead.workerId,
-          roleAccount: currentLead.lead.role_account_id,
-          profile,
-          title: _.startCase(group) + ' Lead',
-          stake,
-          rewardRelationship
-        },
+        lead: await this.groupMember(group, leadId, leadWorker),
         loaded: true
         loaded: true
       };
       };
     } else {
     } else {
@@ -544,7 +498,7 @@ export class Transport extends BaseTransport implements ITransport {
 
 
           return {
           return {
             workerId: id,
             workerId: id,
-            name: (groupLead?.workerId && groupLead.workerId.eq(id))
+            name: (groupLead?.workerId && groupLead.workerId === id.toNumber())
               ? _.startCase(group) + ' Lead'
               ? _.startCase(group) + ' Lead'
               : workerRoleNameByGroup[group],
               : workerRoleNameByGroup[group],
             reward: earnedValue,
             reward: earnedValue,