| 
						
						
						
					 | 
					@ -1,5 +1,5 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					<template> | 
					 | 
					 | 
					<template> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					<div> | 
					 | 
					 | 
					  <div> | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    <div class="space-y-4"> | 
					 | 
					 | 
					    <div class="space-y-4"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      <!-- Loading State --> | 
					 | 
					 | 
					      <!-- Loading State --> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      <div | 
					 | 
					 | 
					      <div | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -20,13 +20,15 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          You are not currently admitted by the organizer. | 
					 | 
					 | 
					          You are not currently admitted by the organizer. | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        </div> | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        <div v-if="!firstName" class="py-4 text-red-600"> | 
					 | 
					 | 
					        <div v-if="!firstName" class="py-4 text-red-600"> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        Your name is not set, so others may not recognize you. Reload this page | 
					 | 
					 | 
					          Your name is not set, so others may not recognize you. Reload this | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        to set it. | 
					 | 
					 | 
					          page to set it. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					        </div> | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        <ul class="list-disc text-sm ps-4 space-y-2 mb-4"> | 
					 | 
					 | 
					        <ul class="list-disc text-sm ps-4 space-y-2 mb-4"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          <li | 
					 | 
					 | 
					          <li | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					          v-if="membersToShow().length > 0 && showOrganizerTools && isOrganizer" | 
					 | 
					 | 
					            v-if=" | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              membersToShow().length > 0 && showOrganizerTools && isOrganizer | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            " | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          > | 
					 | 
					 | 
					          > | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            Click | 
					 | 
					 | 
					            Click | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            <font-awesome icon="circle-plus" class="text-blue-500 text-sm" /> | 
					 | 
					 | 
					            <font-awesome icon="circle-plus" class="text-blue-500 text-sm" /> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -77,7 +79,9 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                <h3 | 
					 | 
					 | 
					                <h3 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                  :class="[ | 
					 | 
					 | 
					                  :class="[ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    'font-semibold truncate', | 
					 | 
					 | 
					                    'font-semibold truncate', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                  { 'text-slate-500': !member.member.admitted && isOrganizer }, | 
					 | 
					 | 
					                    { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                      'text-slate-500': !member.member.admitted && isOrganizer, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    }, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                  ]" | 
					 | 
					 | 
					                  ]" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                > | 
					 | 
					 | 
					                > | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                  <font-awesome | 
					 | 
					 | 
					                  <font-awesome | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -192,7 +196,7 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      :api-server="apiServer" | 
					 | 
					 | 
					      :api-server="apiServer" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      @close="closeMemberSelectionDialogCallback" | 
					 | 
					 | 
					      @close="closeMemberSelectionDialogCallback" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    /> | 
					 | 
					 | 
					    /> | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					</div> | 
					 | 
					 | 
					  </div> | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					</template> | 
					 | 
					 | 
					</template> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					<script lang="ts"> | 
					 | 
					 | 
					<script lang="ts"> | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -404,7 +408,7 @@ export default class MembersList extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        did: this.activeDid, | 
					 | 
					 | 
					        did: this.activeDid, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        isRegistered: false, | 
					 | 
					 | 
					        isRegistered: false, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      }; | 
					 | 
					 | 
					      }; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      const otherMembersPlusUser = [ currentUser, ...this.decryptedMembers ]; | 
					 | 
					 | 
					      const otherMembersPlusUser = [currentUser, ...this.decryptedMembers]; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      members = otherMembersPlusUser; | 
					 | 
					 | 
					      members = otherMembersPlusUser; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -460,16 +464,17 @@ export default class MembersList extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  getPendingMembersToAdmit(): MemberData[] { | 
					 | 
					 | 
					  getPendingMembersToAdmit(): MemberData[] { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    return this.decryptedMembers | 
					 | 
					 | 
					    return this.decryptedMembers | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      .filter((member) =>  | 
					 | 
					 | 
					      .filter( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        member.did !== this.activeDid && !member.member.admitted | 
					 | 
					 | 
					        (member) => member.did !== this.activeDid && !member.member.admitted, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      ) | 
					 | 
					 | 
					      ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      .map(this.convertDecryptedMemberToMemberData); | 
					 | 
					 | 
					      .map(this.convertDecryptedMemberToMemberData); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  getNonContactMembers(): MemberData[] { | 
					 | 
					 | 
					  getNonContactMembers(): MemberData[] { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    return this.decryptedMembers | 
					 | 
					 | 
					    return this.decryptedMembers | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      .filter((member) => | 
					 | 
					 | 
					      .filter( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        member.did !== this.activeDid && !this.getContactFor(member.did) | 
					 | 
					 | 
					        (member) => | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          member.did !== this.activeDid && !this.getContactFor(member.did), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      ) | 
					 | 
					 | 
					      ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      .map(this.convertDecryptedMemberToMemberData); | 
					 | 
					 | 
					      .map(this.convertDecryptedMemberToMemberData); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -515,13 +520,13 @@ export default class MembersList extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    this.stopAutoRefresh(); | 
					 | 
					 | 
					    this.stopAutoRefresh(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    if (this.isOrganizer) { | 
					 | 
					 | 
					    if (this.isOrganizer) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      ( | 
					 | 
					 | 
					      (this.$refs.admitPendingMembersDialog as AdmitPendingMembersDialog).open( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        this.$refs.admitPendingMembersDialog as AdmitPendingMembersDialog | 
					 | 
					 | 
					        pendingMembers, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      ).open(pendingMembers); | 
					 | 
					 | 
					      ); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    } else { | 
					 | 
					 | 
					    } else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      ( | 
					 | 
					 | 
					      (this.$refs.setBulkVisibilityDialog as SetBulkVisibilityDialog).open( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        this.$refs.setBulkVisibilityDialog as SetBulkVisibilityDialog | 
					 | 
					 | 
					        pendingMembers, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					      ).open(pendingMembers); | 
					 | 
					 | 
					      ); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |