@@ -85,7 +85,7 @@
- Admit + Add Contact
+ Admit + Add to Contacts
[] }) pendingMembersData!: PendingMemberData[];
@Prop({ default: "" }) activeDid!: string;
@Prop({ default: "" }) apiServer!: string;
@@ -144,6 +136,7 @@ export default class AdmitPendingMembersDialog extends Vue {
notify!: ReturnType;
// Component state
+ membersData: MemberData[] = [];
selectedMembers: string[] = [];
visible = false;
@@ -156,30 +149,29 @@ export default class AdmitPendingMembersDialog extends Vue {
}
get isAllSelected() {
- if (!this.pendingMembersData || this.pendingMembersData.length === 0)
- return false;
- return this.pendingMembersData.every((member) =>
+ if (!this.membersData || this.membersData.length === 0) return false;
+ return this.membersData.every((member) =>
this.selectedMembers.includes(member.did),
);
}
get isIndeterminate() {
- if (!this.pendingMembersData || this.pendingMembersData.length === 0)
- return false;
- const selectedCount = this.pendingMembersData.filter((member) =>
+ if (!this.membersData || this.membersData.length === 0) return false;
+ const selectedCount = this.membersData.filter((member) =>
this.selectedMembers.includes(member.did),
).length;
- return selectedCount > 0 && selectedCount < this.pendingMembersData.length;
+ return selectedCount > 0 && selectedCount < this.membersData.length;
}
created() {
this.notify = createNotifyHelpers(this.$notify);
}
- open() {
+ open(members: MemberData[]) {
this.visible = true;
+ this.membersData = members;
// Select all by default
- this.selectedMembers = this.pendingMembersData.map((member) => member.did);
+ this.selectedMembers = this.membersData.map((member) => member.did);
}
close(notSelectedMemberDids: string[]) {
@@ -188,21 +180,18 @@ export default class AdmitPendingMembersDialog extends Vue {
}
cancel() {
- this.close(this.pendingMembersData.map((member) => member.did));
+ this.close(this.membersData.map((member) => member.did));
}
toggleSelectAll() {
- if (!this.pendingMembersData || this.pendingMembersData.length === 0)
- return;
+ if (!this.membersData || this.membersData.length === 0) return;
if (this.isAllSelected) {
// Deselect all
this.selectedMembers = [];
} else {
// Select all
- this.selectedMembers = this.pendingMembersData.map(
- (member) => member.did,
- );
+ this.selectedMembers = this.membersData.map((member) => member.did);
}
}
@@ -221,10 +210,10 @@ export default class AdmitPendingMembersDialog extends Vue {
async admitWithVisibility() {
try {
- const selectedMembers = this.pendingMembersData.filter((member) =>
+ const selectedMembers = this.membersData.filter((member) =>
this.selectedMembers.includes(member.did),
);
- const notSelectedMembers = this.pendingMembersData.filter(
+ const notSelectedMembers = this.membersData.filter(
(member) => !this.selectedMembers.includes(member.did),
);
diff --git a/src/components/DeepLinkTest.vue b/src/components/DeepLinkTest.vue
new file mode 100644
index 0000000000..81da012647
--- /dev/null
+++ b/src/components/DeepLinkTest.vue
@@ -0,0 +1,70 @@
+
+
+
Deep Link Test Component Loaded
+
Platform: {{ platform }}
+
Status: {{ status }}
+
+
+
+
diff --git a/src/components/MembersList.vue b/src/components/MembersList.vue
index baa44ea14b..cc49307b5f 100644
--- a/src/components/MembersList.vue
+++ b/src/components/MembersList.vue
@@ -1,4 +1,5 @@
+
Refresh
@@ -163,7 +164,7 @@
Refresh
@@ -177,43 +178,44 @@
-
+
+
+
diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts
index fbbe1c500c..1cf99593be 100644
--- a/src/interfaces/index.ts
+++ b/src/interfaces/index.ts
@@ -27,6 +27,7 @@ export type {
export type {
// From user.ts
UserInfo,
+ MemberData,
} from "./user";
export * from "./limits";
diff --git a/src/interfaces/user.ts b/src/interfaces/user.ts
index a79d6a9cc4..c290dcb6f4 100644
--- a/src/interfaces/user.ts
+++ b/src/interfaces/user.ts
@@ -6,3 +6,12 @@ export interface UserInfo {
profileImageUrl?: string;
nextPublicEncKeyHash?: string;
}
+
+export interface MemberData {
+ did: string;
+ name: string;
+ isContact: boolean;
+ member: {
+ memberId: string;
+ };
+}